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);//修改商品价格和数量!系统易语言简单收费源码
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,系统海报diy源码*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("