1.���й���ϵͳ c Դ��
2.cè¯è¨ è¶
å¸ç®¡çç³»ç»
���й���ϵͳ c Դ��
typdef struct chao shi
{
char name[];//商品名
int amount;//商品数量
double price;// 商品价格
struct chao shi*next;
}linklist;
linklist *creatlist();//创立链表return head;
void insert(linklist*p);//传入链表的超市首地址,插入函数ps:插入就是管理增加啊!
void change(linklist*p);//修改商品价格和数量!系统qq微云 源码
void del(linklist*p);删除商品信息!超市
void sort(linklist*p);//排序
void find(linklist*p);//查找(里面包含输出)
void output(linklist*p);//输出函数
int menu()
void main()
ok!你自己会写了ba?管理飞控端源码我做了一个学生信息管理系统你看看吧可以参考下!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 3
typedef struct node
{
char sno[];
char name[];
int score[M];
double avg;
struct node *next;
}linklist;
int listlength(linklist*head);
void output1(linklist*head);
void output2(linklist*head);
linklist *create()
{
linklist *head,系统视频调度系统源码*p,*t;
int n,i,j;
printf("请输入学生人数:");
scanf("%d",&n);
head=(linklist*)malloc(sizeof(linklist));
t=head;
for(i=0;i<n;i++)
{
p=(linklist*)malloc(sizeof(linklist));
printf("输入学号:");
scanf("%s",p->sno);
printf("输入姓名:");
scanf("%s",p->name);
printf("输入%d门功课成绩:",M);
for(j=0;j<M;j++)
scanf("%d",&p->score[j]);
printf("\n");
t->next=p;
t=p;
}
p->next=NULL;
return head;
}
void insert(linklist*head)
{
linklist *p;
int i,n,j;
printf("输入你要插入的学生人数:");
scanf("%d",&n);
printf("你要插入的学生信息:\n");
for(i=0;i<n;i++)
{ p=(linklist*)malloc(sizeof(linklist));
p->next=head->next;
head->next=p;
printf("输入学号:");
scanf("%s",p->sno);
printf("输入姓名:");
scanf("%s",p->name);
printf("输入%d门功课成绩:",M);
for(j=0;j<M;j++)
scanf("%d",&p->score[j]);
}
}
void del(linklist*head)
{
linklist *p,*q;
char s[];
printf("输入要删除学生的姓名:");
scanf("%s",s);
q=head;
p=head->next;
while(strcmp(p->name,s)!=0&&p)
{ q=p;
p=p->next;}
if(p==NULL)
printf("无此人\n");
else
{ q->next=p->next;
free(p);}
}
void change(linklist*head)
{
linklist*p;//修改学生信息模块!
int i,超市a[M];//M=3
char s[];//存放学生姓名的数组!
printf("输入你要修改数据的管理学生姓名:");
scanf("%s",s);
p=head->next;
while(strcmp(p->name,s)!=0&&p)//遍历链表
p=p->next;
if(p==NULL)
printf("无此人\n");
else
{ printf("%s\t%s\t",p->sno,p->name);
printf("请重新输入学生的%d门成绩:",M);
for(i=0;i<M;i++)
{ scanf("%d",&a[i]);
p->score[i]=a[i];}
}
}
void sort(linklist*head)
{ double sum;//用学生的平均分进行排序!
linklist *p,系统*q,*t;
int i,j;
double temp;
int m=listlength(head);//求出链表长度的函数!(因为链表长度有变化所以写了这个函数)
q=p=head->next;
for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<M;j++)//求出学生M门功课的超市成绩平均分
sum+=q->score[j];
p->avg=sum/M;
p=p->next;
q=p;
}
output2(head);
p=head->next;
printf("有不及格科目的学生:\n");
for(i=0;i<m;i++)
{ for(j=0;j<M;j++)
if(p->score[j]<)
{ printf("%s\t%s\t",p->sno,p->name);
for(j=0;j<M;j++)
printf("%d ",p->score[j]);
printf("\n");
}
p=p->next;
}
printf("\n");
printf("学生成绩排序:\n");
t=NULL;
while(t!=head->next)
{
p=head;
q=p->next;
while(q->next!=t)
{
if(p->next->avg<q->next->avg)
{
p->next=q->next;
q->next=q->next->next;
p->next->next=q;
}
p=p->next;
q=p->next;
}
t=q;
}
}
int listlength(linklist*head)
{
int n=0;
linklist*p;
p=head->next;
while(p)
{ n++;
p=p->next;
}
return n;
}
int menu()
{
int m,i;
printf("============================================================\n");
printf("||1:录入学生数据 2:增加学生数据 ||\n");
printf("||3:删除学生数据 4:改正学生数据 ||\n");
printf("||5:排序 6:退出。 ||\n");
printf("||=========================================================\n");
printf("输入你要选择的管理功能:");
i=scanf("%d",&m);
system("cls");
fflush(stdin);
return m;
}
void output1(linklist*head)
{
linklist*p;
int i;
p=head->next;
while(p)
{
printf("%s\t%s\t",p->sno,p->name);
for(i=0;i<M;i++)
printf("%d ",p->score[i]);
p=p->next;
printf("\n");
}
}
void output2(linklist*head)
{
linklist*p;
int i;
p=head->next;
while(p)
{
printf("%s\t%s\t",p->sno,p->name);
for(i=0;i<M;i++)
printf("%d ",p->score[i]);
printf("%lf",p->avg);
p=p->next;
printf("\n");
}
}
int main(void)
{
linklist*p;
int k=0;
do
{
k=menu();
switch(k)
{
case 1:
p=create();
output1(p);break;
case 2:insert(p);
output1(p);break;
case 3:del(p);
output1(p);break;
case 4:change(p);
output1(p);break;
case 5:sort(p);
output2(p);break;
case 6:exit(0);
}
}while(k>=1&&k<=6);
return 0;
}
cè¯è¨ è¶ å¸ç®¡çç³»ç»
æä¸ä¸ªå°åè¶ å¸ï¼åºå®Nï¼N>ï¼ï¼ç§ååï¼è®¾è®¡å¹¶å®ç°ä¸ä¸ªç³»ç»ï¼å®æä¸ååè½ï¼
1ï¼ ä¿ååè¾åºãè¶ å¸ä¸çåç§ååä¿¡æ¯ä¿åå¨æå®æ件ä¸ï¼å¯ä»¥æå®ä»¬è¾åºæ¾ç¤ºã
2ï¼ è®¡ç®å¹¶æåºã计ç®æ¯ç±»ååçæ»ä»·å¼ï¼sumï¼å精度ï¼åå¹³åä»·ï¼averï¼å精度ï¼è¾åºä¸ä½å°æ°ï¼ï¼å°æ¯ç±»ååæå¹³åä»·ä»å¤§å°å°ç顺åºæåºæå°åºæ¥ã
3ï¼ ç»è®¡ãç»è®¡è¾åºåºåéä½äºçè´§å·åç±»å«ãç»è®¡è¾åºæ两ç§ä»¥ä¸ï¼å«ä¸¤ç§ï¼åååºåéä½äºçååç±»å«ã
1.2æ»ä½ç»æ
æ¬ç¨åºä¸»è¦åä¸ºå «ä¸ªæ¨¡åï¼ä¸»æ¨¡åãä¿¡æ¯è¾åºä¿®æ¹æ¨¡åãæ°å»ºä¿¡æ¯æ¨¡åãæåºæ¨¡åã计ç®æ¨¡åãç»è®¡æ¨¡å1ãç»è®¡æ¨¡å2ãæå°æ¨¡åã
1ï¼ ä¸»æ¨¡åï¼éè¿è°ç¨åå模åå®ç°åè½ï¼
2ï¼ ä¿¡æ¯è¾åºä¿®æ¹æ¨¡åï¼è¾åºæ¾ç¤ºæ件ä¸ååä¿¡æ¯å 容ï¼æ·»å ååä¿¡æ¯ï¼å é¤ååä¿¡æ¯ï¼ä¿®æ¹ååä¿¡æ¯ï¼
3ï¼ æ°å»ºååä¿¡æ¯æ¨¡åï¼å»ºç«ä¸ä¸ªæ°ç»æä½ï¼ä¸ºé¾è¡¨åä¿¡æ¯ç¨ï¼å¹¶ä¸å°ä¿¡æ¯ä¿åå¨æå®çæ件ä¸ï¼
4ï¼ æåºæ¨¡åï¼ææ件ä¸é¡ºåºé¶ä¹±çååä¿¡æ¯æåä»·ç大å°ä»é«å°ä½è¿è¡æåºï¼æ¾å°é¾è¡¨éåå¨ï¼
5ï¼ è®¡ç®æ¨¡åï¼å°ææååçä»·æ ¼ä¸åºåéè¿è¡ç´¯å æ±åï¼
6ï¼ æå°æ¨¡åï¼å°ååä¿¡æ¯ææ¯ç±»å¹³åä»·æ ¼æåºï¼ä»é«å°ä½ï¼æ顺åºæå°åºæ¥ï¼
7ï¼ ç»è®¡æ¨¡å1ï¼ç»è®¡åºåéä½äºçè´§ååç±»å«ï¼
8ï¼ ç»è®¡æ¨¡å2ï¼ç»è®¡åååºåéæ2ç§ä»¥ä¸ï¼å«2ç§ï¼ä½äºçååç±»å«ã
é å½ï¼ç¨åºæ¸ åï¼
#include "stdio.h" /*è¾å ¥ï¼è¾åºå¤´æ件*/
#include "stdlib.h" /*ç³è¯·ç©ºé´å¤´æ件*/
#include "string.h" /*对å符串å 工头æ件*/
#include "conio.h" /*æ¸ å±å¤´æ件*/
FILE *fp;
int n=0; /*å®ä¹æ件æéç±»å*/
int i,j,a[4],m; /*å®ä¹æ´æ°ç±»å*/
float aver[4],sum[4],g[4],h; /*å®ä¹æµ®ç¹ç±»å*/
char c[5]="elec"; /*å®ä¹å符æ°ç»ç±»å*/
char d[5]="comm"; /*å®ä¹å符æ°ç»ç±»å*/
char e[5]="food"; /*å®ä¹å符æ°ç»ç±»å*/
char f[5]="offi"; /*å®ä¹å符æ°ç»ç±»å*/
struct good /*å®ä¹ç»æä½*/
{
int num; /*ååç¼å·*/
char name[]; /*ååå称*/
char kind[]; /*ååç±»å*/
float price; /*ååä»·æ ¼*/
char unit[]; /*åååä½*/
int quantity; /*ååæ°é*/
struct good *next; /*å®ä¹ç»æä½æéç±»å*/
}*head,*p1,*p2;
struct good *createlist() /*å建é¾è¡¨å½æ°*/
{
struct good *head1,*p1,*p2; /*å®ä¹ç»æä½æéç±»å*/
if((fp=fopen("goods message.txt","w"))==NULL) /*å¤æè½å¦æå¼æ件*/
{
printf("can not open the file");
exit(0); /*ç»æç¨åº*/
}
head1=(struct good *)malloc(sizeof(struct good)); /*ç³è¯·å¤´ç»ç¹ç©ºé´*/
p1=head1;
p2=head1;
printf("