资源描述:
《c语言程序设计学生管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、./*学生成绩管理系统数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。要求具有以下功能:(1)添加、删除任意个记录。(2)修改任意个记录。(3)显示、保存记录。(4)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。(5)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。要求:(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运
2、行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。口令程序段的功能要求:《1》提示用户输入一个口令。《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。*/#include#include#includestructstudent{intnum;charname[10];intgrade;charmajor[10];floatscore_1,score_2
3、,score_3,aver,total;structstudent*next;};structstudent*creat(void);structstudent*add(void);structstudent*del(intnum);structstudent*alter();voidsave(structstudent*head);voidread();voidtotalsort(structstudent*head);voidaversort(structstudent*head);voidBfindsort();intall=
4、0;voidmain(){...inti,n,m,num;charord[10]="student",ord_1[10];structstudent*p;for(i=0;i<=3;i++){if(i==3)exit(0);printf("请第%d次输入进入系统的指令:",i+1);scanf("%s",ord_1);if(strcmp(ord,ord_1)!=0)printf("输入的指令有误请重新输入。");if(strcmp(ord,ord_1)==0)break;}p=NULL;loop_2:printf("输入系统的功能
5、:0、建立一个数据库;1、添加与保存学生数据;2、删除与保存学生数据;3、修改与保存学生数据;4、显示数据库的记录;5、将数据进行排序;6、查询指定成绩的人数:");loop:scanf("%d",&n);if(n<0
6、
7、n>6){printf("输入的选择有误请重新输入:");gotoloop;}if(n==2){printf("输入删除学生数据的学号:");scanf("%d",&num);}switch(n){case0:p=creat();save(p);read();break;case1:
8、p=add();save(p);read();break;case2:p=del(num);save(p);read();break;case3:p=alter();save(p);read();break;case4:read();break;case5:{printf("输入选择排序的功能1、根据平均成绩;2、根据总成绩:");loop_1:scanf("%d",&m);if(m<1
9、
10、m>2){printf("输入的选择有误请重新输入:");gotoloop_1;...}switch(m){case1:aversort(p
11、);break;case2:totalsort(p);break;}}break;case6:Bfindsort();break;}loop_5:printf("输入你要进行的步骤:1、返回上一菜单菜单;2、退出程序。");scanf("%d",&n);if(n<1
12、
13、n>2){printf("输入的选择有误,请重新输入:");gotoloop_5;}switch(n){case1:gotoloop_2;break;case2:break;}}structstudent*creat(void){inti,n;structstud
14、ent*head,*p,*q,*tail;printf("输入学生的个数:");scanf("%d",&n);head=NULL;for(i=0;i