学生信息管理系统C语言版_第1页
学生信息管理系统C语言版_第2页
学生信息管理系统C语言版_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/交流学习/QQ:1194758555#include#include#include#include#includeintk,n;structstudentdoubleyuwen;doubleshuxue;doubleyingyu;doublezong;doublepingjun;charname20;charnum20;stu1000;voidjiazai(structstudentstu,int*num1);voidbaocun(structstudentstu,intn);voidfind(structstudentstu,intn);intfindnum(structstudents

2、tu,intn,char*num);/voidshanchu(structstudentstu,int*num1);voidshanchuyi(structstudentstu,int*num1);/voidshanchuquanbu(structstudentstu,int*num1);voidtianjiayi(structstudentstu,inti);/voidtianjia(structstudentstu,int*num1);/voidxiugai(structstudentstu,intn);/voidoutput(structstudentstu,intn,intx);/vo

3、idpaixu(structstudentstu,intn);/查找学号;删除一条记录;添加一记录;添加记录;修改一条记录;打印信息;排序;intjianchaxuehao(structstudentstu,char*num);/检查学号的合法性;intjianchachengji(doublenum);/检查成绩的合法性;voidoutputone(structstudent*stu,inti,intx);/输出一条信息voidcaidan();intmain()intq;jiazai(stu,&n);caidan();scanf(%d,&q);while(q6)(printf(-输入错误请

4、重新输入n请输入0-6的数字n);scanf(d”,&q);Sleep(300);system(cls);switch(q)(case1:tianjia(stu,&n);break;case2:xiugai(stu,n);break;case3:paixu(stu,n);break;case4:find(stu,n);break;case5:shanchu(stu,&n);break;case6:output(stu,n,0);break;case0:exit(0);return0;voidcaidan()(printf(i1n);printf(|欢迎进入学生信息管理系统1n);printf(

5、|1n);printf(I1添加学生成绩n);printf(|1n);printf(I2修改学生成绩n);printf(|1n);printf(-I3排序n);printf(printf(n);printf(printf(n);printf(printf(n);printf(printf(n);printf(printf(printf(1n);查找1n);删除11n);6输出1I1n);1110退出1I1n);111n);请输入选择:n);voidjiazai(structstudentstu,int*num1)(FILE*fp;inti;if(fp=fopen(d:student.dat,r

6、)=NULL)(*num1=0;return;for(i=0;fread(&stui,sizeof(structstudent),1,fp)!=0;i+)*num1=i;fclose(fp);voidpaixu(structstudentstu,intn)(intxuehao(constvoid*a,constvoid*b);intyuwen(constvoid*a,constvoid*b);intshuxue(constvoid*a,constvoid*b);intyingyu(constvoid*a,constvoid*b);intzongchengji(constvoid*a,const

7、void*b);int(*cmp)(constvoid*a,constvoid*b)=xuehao,yuwen,shuxue,yingyu,zongchengji;inta;printf(printf(printf(1n);欢迎进入学生信息排序页面In);1n);printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(110:1按学号降序排序1111:11按语文成绩降序排序1112:11按数学成绩降序排序113:1按英语成绩降序排序1114:i1安总成绩降序排序请输入选择:n);n)

8、;In);n);In);n);In);n);In);n);In);n);scanf(%d,&a);Sleep(300);system(cls);qsort(stu,n,sizeof(stu0),cmpa);output(stu,n,0);intxuehao(constvoid*a,constvoid*b)if(strcmp(structreturn-1;elsereturn1;intyuwen(constvoid*a,constvoid*b)return(structstudent*)a)-yuwen1:-1;intshuxue(constvoid*a,constvoid*b)return(s

9、tructstudent*)a)-shuxue1:-1;intyingyu(constvoid*a,constvoid*b)return(structstudent*)a)-yingyu1:-1;intzongchengji(constvoid*a,constvoid*b)return(structstudent*)a)-zongzong?1:-1;student*)a)-num,(struct(struct(structnum)0)*)b)-yuwen?*)b)-shuxue?*)b)-yingyu?voidshanchuyi(structstudentstu,int*num1)(inti,

10、in,c;chary20;FILE*fp;charstr20;printf(i1n);printf(I欢迎进入学生信息删除页面In);printf(11n);printf(请输入需要删除的学号n);scanf(%s”,str);c=jianchaxuehao(stu,str);while(c=0)(printf(输入的学号不合法请重新输入n);scanf(%s”,str);c=jianchaxuehao(stu,str);Sleep(300);system(cls);printf(i1n);printf(I欢迎进入学生信息删除页面In);printf(11n);in=findnum(stu,*

11、num1,str);while(in0)(printf(该学生的信息不存在n);printf(重新输入(yes-y)返回主菜单(no-n)n);scanf(%s,y);while(strcmp(y,y)&strcmp(y,n)(printf(请输入y或nn);scanf(%s,y);if(!strcmp(y,n)(Sleep(300);system(cls);main();Sleep(300);system(cls);printf(i1n);printf(I欢迎进入学生信息删除页面n);printf(11n);printf(请输入需要删除的学号n);scanf(%s,str);in=findn

12、um(stu,*num1,str);for(i=in;i*num1-1;i+)stui=stui+1;(*num1)-;if(fp=fopen(d:student.dat,w)=NULL)printf(-打开失败n);exit(0);Sleep(300);system(cls);printf(i1n);printf(I欢迎进入学生信息删除页面In);printf(11n);printf(删除成功n);baocun(stu,*num1);printf(-继续删除(yes-y)返回上主菜单(no-n)n);getchar();scanf(%s,y);while(strcmp(y,y)&strcmp

13、(y,n)printf(请输入y或nn);getchar();scanf(%s,y);Sleep(300);system(cls);if(!strcmp(y,n)main();if(!strcmp(y,y)shanchuyi(stu,num1);voidshanchuquanbu(structstudentstu,int*num1)chary20,a20;FILE*fp;printf(i1n);printf(I欢迎进入学生信息删除页面In);printf(11n);printf(-是否全部删除?(yes-y)返回主菜单(no-n)n);scanf(%s,y);while(strcmp(y,y)

14、&strcmp(y,n)printf(请输入y或nn);scanf(%s,y);Sleep(300);system(cls);printf(i1n);printf(I欢迎进入学生信息删除页面In);printf(11n);if(!strcmp(y,y)fp=fopen(d:student.dat,w);*num1=0;printf(-删除完成n);fclose(fp);printf(返回主菜单(yes-y)结束(no-n)n);scanf(%s,a);while(strcmp(a,y)&strcmp(a,n)printf(请输入y或nn);scanf(%s,a);Sleep(300);syst

15、em(cls);if(!strcmp(a,y)main();elseSleep(300);system(cls);return;elseSleep(300);system(cls);main();voidshanchu(structstudentstu,int*num1)(intq;printf(i1n);printf(-|删除1n);printf(|1n);printf(-|1:删除指定信息1n);printf(|1n);printf(-|2:删除全部信息1n);printf(|1n);printf(11n);printf(请输入选择:n);getchar();scanf(%d,&q);sy

16、stem(cls);switch(q)(case1:shanchuyi(stu,num1);break;case2:shanchuquanbu(stu,num1);break;intfindnum(structstudentstu,intn,char*num)(inti;for(i=0;i0)(printf(i11111n1n);printf(|%-10s|%-6s|%-6s|%-6s|%-6s|%-6s|%-6s,学号姓名,语文,数学,英语,平均,总成绩n);/printf(11n);for(i=0;inum,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,

17、stu-pingjun,stu-zong);elseprintf(i11111r1n);printf(|%-8s|%-6s|%-6s|%-6s|%-6s|%-6s|%-6s,学号,姓名,语文,数学,英语,平均,总成绩n);printf(-I11111P1n);printf(|%-8s|%-6s|%-6.1lf|%-6.1lf|%-6.1lf|%-6.1lfI%-6.1lf|n,stu-num,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,stu-pingjun,stu-zong);printf(111111n);voidtianjiayi(structstu

18、dentstu,inti)(inta,b;printf(-请输入学生学号n);getchar();scanf(%s,stui.num);a=jianchaxuehao(stu,stui.num);while(a=0|a=2)(if(a=0)printf(输入的学号不合法请重新输入n);if(a=2)printf(输入的学号与已有的重复请重新输入n);scanf(%s,stui.num);a=jianchaxuehao(stu,stui.num);Sleep(300);system(cls);printf(in);printf(I欢迎进入学生信息添加页面n);printf(1n);printf(

19、-请输入该学生姓名n);scanf(%s,);printf(请输入语文成绩n);scanf(%lf,&stui.yuwen);b=jianchachengji(stui.yuwen);while(b=0)(printf(输入错误请重新输入n);scanf(%lf,&stui.yuwen);b=jianchachengji(stui.yuwen);printf(请输入数学成绩n);scanf(%lf,&stui.shuxue);b=jianchachengji(stui.shuxue);while(b=0)(printf(输入错误请重新输入n);scanf(%lf,&stui.

20、shuxue);b=jianchachengji(stui.shuxue);printf(请输入英语成绩n);scanf(%lf,&stui.yingyu);b=jianchachengji(stui.yingyu);while(b=0)printf(输入错误请重新输入n);scanf(%lf,&stui.yingyu);b=jianchachengji(stui.yingyu);stui.pingjun=(stui.yuwen+stui.shuxue+stui.yingyu)/3;stui.zong=stui.yuwen+stui.shuxue+stui.yingyu;voidtianjia

21、(structstudentstu,int*num1)charp10=y,y10;printf(i1n);printf(I欢迎进入学生信息添加页面In);printf(11n);while(!strcmp(p,y)tianjiayi(stu,*num1);(*num1)+=1;printf(是否继续添加(yes-y,no-n)n);getchar();scanf(%s,p);while(strcmp(p,n)&strcmp(p,y)printf(请输入y或nn);getchar();scanf(%s,p);Sleep(300);system(cls);baocun(stu,*num1);pri

22、ntf(返回主菜单(yes-y)结束(no-n)n);getchar();scanf(%s,y);while(strcmp(y,n)&strcmp(y,y)printf(请输入y或nn);getchar();scanf(%s,y);if(!strcmp(y,y)(Sleep(300);system(cls);main();elsereturn;voidxiugai(structstudentstu,intn)(intin,b,c;chara10,q10;charstr20,y10;printf(i1n);printf(I欢迎进入学生信息修改页面In);printf(11n);printf(请输

23、入要修改学生的学号n);getchar();scanf(%s,str);c=jianchaxuehao(stu,str);in=findnum(stu,n,str);while(c=0|in0)(if(in0|(in0&c=1)printf(-此条信息不存在n);if(c=0)printf(输入不合法请重新输入n);printf(重新输入(yes-y)返回主菜单(no-n)n);scanf(%s,a);while(strcmp(a,y)&strcmp(a,n)(printf(请输入y或nn);getchar();scanf(%s,a);Sleep(300);system(cls);printf

24、(-i1n);printf(I欢迎进入学生信息修改页面In);printf(11n);if(!strcmp(a,n)(Sleep(300);system(cls);main();printf(请输入要修改学生的学号n);scanf(%s,str);c=jianchaxuehao(stu,str);in=findnum(stu,n,str);printf(修改前的信息如下:n);outputone(&stuin,n,1);printf(是否修改姓?(yes-y,no-n)n);getchar();scanf(%s,y);while(strcmp(y,y)&strcmp(y,n)(printf(请

25、输入y或nn);getchar();scanf(%s,y);Sleep(300);system(cls);printf(i1n);printf(I欢迎进入学生信息修改页面In);printf(11n);if(!strcmp(y,y)(printf(请输入姓名n);scanf(%s,);printf(是否修改%s的成绩?(yes-y)返回主菜单(no-n)n,stuin.num);/getchar();scanf(%s,q);while(strcmp(q,y)&strcmp(q,n)(printf(请输入y或nn);getchar();scanf(%s,q);if(!strc

26、mp(q,y)(printf(请输入、的语文成绩n,stuin.num);scanf(%lf,&stuin.yuwen);b=jianchachengji(stuin.yuwen);while(b=0)(printf(输入错误请重新输入n);scanf(%lf,&stuin.yuwen);b=jianchachengji(stuin.yuwen);printf(请输入、的数学成绩n,stuin.num);scanf(%lf,&stuin.shuxue);b=jianchachengji(stuin.shuxue);while(b=0)(printf(输入错误请重新输入n);scanf(%lf,

27、&stuin.shuxue);b=jianchachengji(stuin.shuxue);printf(请输入、的英语成绩n,stuin.num);scanf(%lf,&stuin.yingyu);b=jianchachengji(stuin.yingyu);while(b=0)(printf(输入错误请重新输入n);scanf(%lf,&stuin.yingyu);b=jianchachengji(stuin.yingyu);if(!strcmp(q,n)(Sleep(300);system(cls);main();baocun(stu,n);printf(添加成功n返回主菜单(yes-y)结束(no-n)n);getchar();scanf(%s,y);while(strcmp(y,y)&strcmp(y,n)(printf(请输入y或nn);getchar();scanf(%s,y);if(!strcmp(y,y)(Sleep(300);system(cls);main();elsereturn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论