付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/include <stdio.h> include <string.h> include <stdlib.h> /include <conio.h> struct student (char no9;char name20; int score4;float aver; float sum;): void menu()菜单printfCAtXt学生成绩管理系统r"):printf("tt*-*n')'printf('tt* 1录入成绩2删除成绩*n");printf('tt* 3查询
2、成绩4修改成绩*n");printf('tt* 5插入成绩6具体查看*n");printf('tt* 7成绩排序8保存成绩*nM);printf('tt* 9显示成绩0退出系统*nM);printf(Mtt*n")' printf(An");void input(struct student *stu,int *n)录入成绩 (int i=*n;int k=l;int a,b;system, ds");printf(Atttt 录入成绩n");while(k)(printf(Att请输入学号:”);sc
3、anfCs'stui.no);printf(Att请输入姓名:”);scanf('sM,);Vprintf(Att请输入语文成绩:”); scanf(,d"l&stui.score0);printf(Att请输入数学成绩:“); scanfCd",&stui.scorel);printf(Att请输入英语成绩:“);scanfCd",&stui.score2);printf(Att请输入C语言成绩:“);scanfCd"t&stup.score3);printf(1tt继续录入请输入1,终
4、止录入请输入0:"); scanfCd",&k);i +;(*n)+;for(a=0;a<i;a+)/sum aver 归零stua.sum=0;stua.aver=0;)for(a=0;a<i;a+) 计算总分for(b=0;b<4;b+)stua.sum + =stua.scoreb;for(a=0;a<i;a+) 计算平均分stua.aver=stua.sum/4; system(Mpause");void dele(struct student *stu,int *n)/ 删除成绩systemf'cls")
5、;int i;char number9,name9;请输入您要删除该同学的学号:”); scanfCs",number);请输入您要删除该同学的姓名:”);scanfCs",name);for(i=0;i<*n;i + +)(if(strcmp(stui.no!number)= =0 && strcmp(,name)=O) (for(;i<(*n-l);i+)stui=stui+l;) break;)printf(、tt 删除成功!)void search(struct student *stu,int n)/ 查询成绩(sys
6、tem(Mcls");int i,a=l;char numb er9;char name20;while(a)(pnntff'tt请输入您的学号:”);scanfCW.&number);printfC'N请输入您的姓名:”);scanf("%s",&name);for(i=0;i<n;i+)(if(strcmp(stui.no,number)=0 && strcmp(,name)=0)(printf("t 成 绩 单n");printfCXn'();pnntf(&q
7、uot;t|学号|语文|数学|英语| C语言|总分|平均分printfC't|6sl %-4d| %-4d| %-4d|%-4d|n",stui.no,,stui.score0,stui.scorel,stui.score2,stui.score3,stui.sum,stui.a ver);a=0;)elsepnntfftt输入有误,请重新输入! n");) break;system(Mpause");void modify(struct student *stu,int n)修改成绩 (system(Mcls");char n
8、umber9,name9;int a,i,m=l,b;printf("t根据学号来修改成绩请输入1,根据姓名来修改成绩请输入0。n"); scanf('%d",&a);do(if(a=l)(printfCtt请输入您要修改同学的学号:”); scant('琳 s',number);for(i=0;i<n;i + +) (if(strcmp(stui.no,number)= =0)(printf('nM);printf(At 成 绩 单n");printf(1n");pnntf(At|学号|语文|数学
9、|英语| C语言|总分|平均分|n");printf(At| %-5s | %-6s | %-4d| %-4d| %-4d|%-4d| %-3.1f| |nMf stui.no,,stui.score0,stui.score1,stui.score2,stui.score3,stui.sum:stui.a ver);printf('tt请输入新的学号:”); scanfCs,stui.no);printf(1tt请输入新的姓名:”); scanfCs');请输入新的语文成绩:”);scanfCdM,&stui.score0)
10、;pnntf(Att请输入新的数学成绩:”); scanfCdMs&stui.scorel);printf(Att请输入新的英语成绩:"); scanf(">Wd11,&stui.score2);请输入新的C语言成绩:”);scanfCdMs&stui.score3);m-; b=i;)if(a=O)(printfCtt请输入您要修改同学的姓名:“);scan*"s”,name);for(i=0;i<n;i+)(if(strcmp(,name)=O)(printf(AnM);printfft 成 绩 单n
11、87;);printfCn*');pnntf(1t|学号|语文|数学|英语| C语言|总分|平均分|n-);printf(At| %-5s | %-6s | %-4d| %-4d| %-4d|%-4d| |nMfstui.no,,stui.score0,stui.scorel,stui.score2,stui.score3,stui.sum,stui.a ver);printf(1tt请输入新的学号:");scanf('%s”,stui.no);printf(1tt请输入新的姓名:”);scant('琳 s”,);print
12、f(Att请输入新的语文成绩:”);sea n* "d ; &stui. sco r e0);pnntf('tt请输入新的数学成绩:”);scanfCdM,&stui.scorel);prmtf(Att请输入新的英语成绩:");scanf(1,%d",&stup.score2);pnntf("tt请输入新的C语言成绩:”);scanfCd",&stui.score3);m-; b=i;)while(m);printfC'tAt该同学修改后的成绩为:n");printf('t 成绩
13、单斤);printfCn");pnntf('t|学号|语文|数学|英语|C语言|总分|平均分|n-);printf(At| %-5s | %-6s | %-4d| %-4d| %-4d|%-4d| |nMfstub.no,,stub.score0Lstub.scoreCl,stub.score2,stub.score3Lst:ub.sum.s tub.aver);system(,'pause"); void insert(struct student *stu,int *n)插入成员 (/*system("clsM);int i,
14、j,a;printf(”插入学生成绩! 11);printf("");scanf('%d",&a);do(if(a=l)(n)+;)*/ void count(struct student *stu,int n)成绩详情system(Mcls");int a=O,b=Olc=O,d=O;int i;for(i=O;i<n;i + +)计算语文不及格人数if(stui.score0<60) a+;)for(i=O;i<n;i + +) 计算数学不及格人数(if( stui.scorefl <60) b + +;for
15、(i=0;i<n;i + +)计算英语不及格人数(if(stui.score2<60)C+;)for(i=0;i<n;i + +)计算C语言不及格人数(if(stui.score3 <60) a+;)for(i=0;i<n;i + +) 计算语文不及格人数(if(stui.scorel <60) d + +;)printf(Att语文不及格人数为:%d个n:a);printf(Att数学不及格人数为:%d个n",b);printf(Att英语不及格人数为:%d个n",c); pnntf('YtC语言不及格人数为:%d个n”,d);
16、 system(npause");)void sort(struct student *stu,int n)成绩排序(system(Mcls");int ajj;struct student k;prints按学号排序请输入1、按总分高低排序请输入0 : “);scanff%d",&a);if(a=l)for(i=0;i<n-l;i + +) for(j=0;j<n-i;j + +) (if(strcmp(stuj.no,stuj+l.no)>0) (k=stuO; stuj=stuj+l; stuj+l=k;) )printf(Attl
17、40705 班学生成绩n");printf(" 成绩单n)printf(An");printfC'l学号|语文|数学|英语| C语言|总分|平均分|n)for(i=0;i<n;i+)(printf("| %-5s|%-6sl %-4d| %-4d| %-4d|%-4d|n'stui.no,,stui.score0,stui.scorel,stui.score2,stui.score3,stui.sum,stui.a ver);)printf(,n");printf("n")system
18、(,'pause');return;if(a=O)(for(i=0;i<n-l;i+)for(j=0;j<n-i;j+)(if(stuj.sum<stuj+l.sum)(k- stum;stuj=stuj+l;stuj+l=k;)printf("140705 班学生成绩n");printf(M 成n");printfCnM);printfC'l学号|语文|数学|英语| C语言|总分|平均分|名次for(i=0;i<n;i+)(printfC'l6sl %-4d| %-4d| %-4d|%-4d|第%d 名|n
19、",stui.no,,stui.score0,stui.scorel,stui.score2,stui.score3fstui.sum,stui.a verj+1);printf(AnM);printf("n");system(,'pause");return;)void save(student *stu,int n)int savingflag=1;FILE *fp;int i;fp 二 £(20('七:$11112续'丁/75');打开文彳牛if(fp 二二 NULL) (printf(&
20、quot;n二二二二二二二二二二 >打开错误!rT);getchar();return;)printf("%dM,n);system(npause");for(i=0;i<n;i+)(if(fwrite(&stui,sizeof(struct student),l,fp)=l)0 elsebreak;getchar;printf("nnn二二二二二二二二二二二二二二二二二已保存的学生信息的总数为:%dn”,n);getcharQ;savingflag=O;)else(system ("cis");printf("当
21、前无保存的学生信息!n");getcharQ;fclose(fp);system(MpauseM); void display(struct student *stu,int n)显示成绩(system(Mcls");int i;printf(Attl40705 班学生成绩)printfCnM);if(n=O)(printfC'tt> 无成绩! n");system(,pauseM);return;)printf('t 成绩单n");printf("n");printf(At|学号|语文|数学|英语| C语言|总
22、分|平均分|n)for(i=0;i<n;i+)(printfC'Xtl6sl %-4d| %-4d| %-4d|%-4d|nH,stui.no,,stui.score0,stui.scorel,stui.score2,stui.score3,stui.sum,stui.a ver);printf(An');printf(Atn");system(npause");return;)void f(struct student *stu,int n)(int select;选择变量while(l)(int a;system(Mcls&quo
23、t;);menu();printfC't't请输入你的选择(09):");scanf("%d'&select);a = select;switch(a)(case l:input(stu, &n);break;case 2:dele(stu, &n);break;case 3:search(stu, n);break;case 4:modify(stu, n);breakcase 5:insert(stu: &n);break;case 6:count(stu, n);break;case 7:sort(stu, n);break;case 8:save(stu, n);break;case 9:display(stu, n);breakcase O:exit(l);break;default :printf("输入有误! break;)void readfstruct student *stu,int *n)(FILE文件指针int i=0;fp =fopen(',c:student,ab+");if(fp 二二 NULL)printf("n= = = = = >can not open f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 志愿服务岗责任制度
- 总经理财务管理责任制度
- 户外广告安全责任制度
- 托管厨师工作责任制度
- 技术员岗位目标责任制度
- 护坡管理责任制度
- 押运员岗位工作责任制度
- 指挥调度目标责任制度
- 控辍保学村长责任制度
- 操作工人质量责任制度
- 2026年及未来5年市场数据中国演出行业市场发展数据监测及投资潜力预测报告
- 山东省2026年春季高考技能测试建筑类专业模拟试题及答案解析
- 2026年学士学位英语测试题及答案
- (一模)2026年深圳市高三年级第一次调研考试政治试卷(含官方答案)
- 上海市普陀区学校(五四制)2025-2026学年六年级上学期期中语文试题(解析版)
- XX初中校长在2026年春季学期教科研工作推进会上的发言
- 机电一体化毕业论文8000字
- 森林防火-整改方案(3篇)
- AQ 1119-2023 煤矿井下人员定位系统技术条件
- 口服液灌封机毕业论文-1
- S775(六) 重力式无阀滤池
评论
0/150
提交评论