1、=初始化失败!); return 0; else p-next=NULL; p-date.number=0;/头结点存放学生人数 printf(初始化成功!n return p; void add(unit *head)/增加学生 unit *p,*q; int m,n=0; q=head-next; p=(unit*)malloc(sizeof(unit);请输入新生姓名! gets(p-date.name);fflush(stdin);请输入学号! while(n=0) scanf(%d,&m); if(q=NULL) n=1; while(q) if(q-date.number=m) p
2、rintf(你输入的学号与已有同学的学号相同,请重新输入! q=head- break; else q=q- if(q=NULL) n=1; p-date.number=m;请输入性别!date.sex);请输入数学成绩n scanf(date.math=m;请输入英语成绩ndate.eglish=m;请输入c语言成绩ndate.clanguge=m;date.average=(p-date.math+p-date.eglish+p-date.clanguge); head-next=p;next=q;date.number+;void deletion(unit *head)/删除一名学生
3、unit *p=head-next,*q=head; char N10;请输入你想删除的学生姓名! gets(N); if(p=NULL)系统无学生可删除! while(p) if(strcmp(p-date.name,N)=0) q-next=p- head-date.number-;删除%s成功!,p- free(p); p=p- if(p=NULL)你要删除的学生不存在,删除失败!int display(unit *head)/显示学生信息 printf(系统无学生! return 0;*n请选择你的操作!ttt1.显示所有t2.按姓名查找nttt3.按学号查找t4.返回主菜单n ffl
4、ush(stdin); switch(m) case 1:printf(n=该系统拥有%d名学生!nn,head-date.number); p=head-t姓名t学号t性别t数学t英语tc语言t综合nn while(p) printf(t%st%dt%st%dt%dt%dt%dndate.name,p-date.number,p-date.sex,p-date.math, p-date.eglish,p-date.clanguge,p-date.average); p=p- case 2:请输入查找姓名! gets(N); fflush(stdin); if(strcmp(p-t姓名t学号t
5、性别t数学t英语tc语言t综合n break; else if(p=NULL)你要查的学生不存在! case 3:请输入查找学号! scanf( if(p- case 4:n=1;break; return 1; int range(unit *head)/排序 unit *p=head,*q=head- int n,i,m=head-date.number;*nttt1.按学号t2.按成绩nn请选择操作!nn); fflush(stdin); if(q=NULL)无学生可排序! switch(n) case 2:for(i=0;i while(q-next) if(q-date.averag
6、e)next-date.average) p-next=q- p=p- q- elseq=q- break; case 1:=m;i+)/按学号排序date.number)date.number)排序成功!void menu()n* 主菜单 *nttt1.新建系统t2.添加学生nttt3.删除学生t4.查看信息nttt5.排列顺序t6.读取信息nttt7.保存信息t8.退出系统nint save(unit *head)/保存 FILE *fp; p=head; if(fp=fopen(d:学生,wb+)=NULL)保存失败! fwrite(&(p-date),sizeof(student),1
7、,fp); p=p-保存成功! fclose(fp);unit* read()/读入系统学生信息 int i; unit *p,*q,*head; if(head=(unit*)malloc(sizeof(unit)=NULL)开辟空间失败! exit(1); head- q=head;rb printf( fread(& for(i=0;head-i+) if(p=(unit*)malloc(sizeof(unit)=NULL)读值失败! q- return head;void main() int m=0,n, i; unit *head;*nnttt* 欢迎使用学生成绩管理系统 * nn
8、tttttttt编译员:吹吹风nn正在读取系统信息.n if(head=read()=0)是否新建?ttt是(1)tt否(2)ni); if(i=1) head=build(); else if(i=2) exit(1); else 信息导入成功! while(m=0) menu(); case 1: head=build();add(head); case 3:deletion(head); case 4:display(head); case 5: range(head); case 6:head=read();if(head!=0) printf(读取存盘成功! case 7:save(head); case 8:m=1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1