收藏 分销(赏)

C语言学生成绩标准管理系统源程序.doc

上传人:w****g 文档编号:2827606 上传时间:2024-06-06 格式:DOC 页数:20 大小:48.04KB
下载 相关 举报
C语言学生成绩标准管理系统源程序.doc_第1页
第1页 / 共20页
C语言学生成绩标准管理系统源程序.doc_第2页
第2页 / 共20页
C语言学生成绩标准管理系统源程序.doc_第3页
第3页 / 共20页
C语言学生成绩标准管理系统源程序.doc_第4页
第4页 / 共20页
C语言学生成绩标准管理系统源程序.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、附录程序#includestdio.h#include #include #includeprocess.h#includectype.htypedef struct char num10; char name10; int chinese; int math; int english; int dianlu; double aver;Student;Student stu99; int shuru(Student stud,int n)/*输入若干条统计*/int i=0;char sign,x10;double a=0.0; while(sign!=n&sign!=N) printf(输入

2、学生学号:); scanf(%s,stun+i.num); printf(输入学生姓名:); scanf(%s,stun+i.name); printf(输入学生语文、数学、英语、电路分数:);scanf(%d%d%d%d,&stun+i.chinese,&stun+i.math,&stun+i.english,&stun+i.dianlu);a=1.0*(stun+i.chinese+stun+i.math+stun+i.english+stun+i.dianlu)/4; stun+i.aver=a;gets(x); /*清除多出输入*/ printf(是否继续输入?(Y/N):n);sca

3、nf(%c,&sign);i+; return(n+i);void xianshi(Student stud,int n) /*显示全部统计*/ int i ; printf(-n); /*格式头*/ printf(学号 姓名 语文 数学 英语 电路 平均成绩 n); printf(-n); for(i=0;in;i+) printf(%-10s%-10s%-10d%-10d%-10d%-10d%-10.2lfn,stui.num,stui.name,stui.chinese,stui.math,stui.english,stui.dianlu,stui.aver); void xiugai(

4、Student stud,int n)/*修改*/ int i=0,choice=1; char x10; while(choice!=0) printf(请输入您要修改学生学号:n); scanf(%s,x);for(i=0;i+)if(strcmp(stui.num,x)=0) break; printf(请选择您要修改内容:n); printf( - n); printf(| 姓名 请按 1 |n);printf(| 语文 请按 2 |n);printf(| 数学分数 请按 3 |n);printf(| 英语分数 请按 4 |n); printf(| 电路 请按 5 |n);printf

5、(| 退出 请按 0|n); printf(+-+n); printf(请输入您选择:); scanf(%d, &choice); switch(choice) case 0:break; case 1: printf(请输入新姓名:); scanf(%s, stui.name); break; case 2: printf(请输入新语文分数:); scanf(%d, &stui.chinese); break;case 3: printf(请输入新数学分数:); scanf(%d,&stui.math); break;case 4: printf(请输入新英语分数:); scanf(%d,

6、&stui.english); break; case 5: printf(请输入新电路分数:); scanf(%d, &stui.dianlu); break; default: printf(n无效选项!); break; break; return; int shanchu(Student stud,int n) /*按姓名查找,删除一条统计*/ char s20; int i;int j; i=0;printf(输入要删除统计姓名:); scanf(%s,s); while(strcmp(stui.name,s)!=0&in) i+; if(i=n) printf(not find!n

7、); return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(stuj.num,stuj+1.num); strcpy(stuj.name,stuj+1.name); stuj.chinese=stuj+1.chinese; stuj.math=stuj+1.math; stuj.english=stuj+1.english; stuj.dianlu=stuj+1.dianlu;stuj.aver=stuj+1.aver; printf(Delete Successed!n); return(n-1); void chaxun_xingming(Student

8、stud,int n) /*按姓名查找并显示一个统计*/ char s20; int i=0; printf(输入姓名:); scanf(%s,s); while(strcmp(stui.name,s)!=0&in) i+; /*查找判定*/ if(i=n) printf(not find!n); /*输入失败信息*/ return; printf(她姓名、学号是:%s %sn,stui.name,stui.num); /*输出该学生信息*/ printf(语文 高数 英语 电路 平均成绩是:%d,%d,%d,%d,%lfn,stui.chinese,stui.math,stui.englis

9、h,stui.dianlu,stui.aver); void chaxun_pingjun(Student stud,int n) /*按平均成绩查找并显示一个统计*/ double s; int i=0; printf(输入平均成绩:); scanf(%lf,&s); while(stui.aver!=s & in) i+;if(i=n) printf(not find!n); /*输入失败信息*/ return; printf(她学号是:%sn,stui.num); /*输出该学生信息*/ printf(她姓名是:%sn,stui.name); printf(她语文、数学、英语、电路分数是

10、:%d %d %d %d n,stui.chinese,stui.math,stui.english,stui.dianlu); void paixu_xuehao(Student stud,int n) /*按学号排序*/ int i,j,p,q,r,w; double y; char x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,studj.num); strcpy(studj.num,studj+1.num); strcpy(studj+1.num,t); strcpy(x,studj.name); strcpy(stu

11、dj.name,studj+1.name); strcpy(studj+1.name,x); y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.math=stuj+1.math;stuj+1.math=q; r=stuj.english;stuj.english=stuj+1.english;stuj+1.english=r; w=stuj.dianlu;stuj.dianlu=stuj+1.

12、dianlu;stuj+1.dianlu=w; return; void paixu_pingjun(Student stud,int n) /*按平均成绩排序*/ int i,j,p,q,r,w; double y; char x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jstuj+1.aver) y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.

13、math=stuj+1.math;stuj+1.math=q; r=stuj.english;stuj.english=stuj+1.english;stuj+1.english=r; w=stuj.dianlu;stuj.dianlu=stuj+1.dianlu;stuj+1.dianlu=w; strcpy(x,stuj.name); strcpy(stuj.name,stuj+1.name); strcpy(stuj+1.name,x); strcpy(t,stuj.num); strcpy(stuj.num,stuj+1.num); strcpy(stuj+1.num,t); retu

14、rn;void paixu_chinese(Student stud,int n) /*按语文成绩排序*/ int i,j,p,q,r,w; double y; char x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jstuj+1.chinese) y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.math=stuj+1.math;stuj+1.ma

15、th=q; r=stuj.english;stuj.english=stuj+1.english;stuj+1.english=r; w=stuj.dianlu;stuj.dianlu=stuj+1.dianlu;stuj+1.dianlu=w; strcpy(x,stuj.name); strcpy(stuj.name,stuj+1.name); strcpy(stuj+1.name,x); strcpy(t,stuj.num); strcpy(stuj.num,stuj+1.num); strcpy(stuj+1.num,t); return;void paixu_english(Stud

16、ent stud,int n) /*按英语成绩排序*/ int i,j,p,q,r,w; double y; char x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jstuj+1.english) y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.math=stuj+1.math;stuj+1.math=q; r=stuj.english;stuj.

17、english=stuj+1.english;stuj+1.english=r; w=stuj.dianlu;stuj.dianlu=stuj+1.dianlu;stuj+1.dianlu=w; strcpy(x,stuj.name); strcpy(stuj.name,stuj+1.name); strcpy(stuj+1.name,x); strcpy(t,stuj.num); strcpy(stuj.num,stuj+1.num); strcpy(stuj+1.num,t); return;void paixu_math(Student stud,int n) /*按数学成绩排序*/ i

18、nt i,j,p,q,r,w; double y; char x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jstuj+1.math) y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.math=stuj+1.math;stuj+1.math=q; r=stuj.english;stuj.english=stuj+1.english;stuj+1.en

19、glish=r; w=stuj.dianlu;stuj.dianlu=stuj+1.dianlu;stuj+1.dianlu=w; strcpy(x,stuj.name); strcpy(stuj.name,stuj+1.name); strcpy(stuj+1.name,x); strcpy(t,stuj.num); strcpy(stuj.num,stuj+1.num); strcpy(stuj+1.num,t); return;void paixu_dianlu(Student stud,int n) /*按电路成绩排序*/ int i,j,p,q,r,w; double y; char

20、 x20,t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jstuj+1.dianlu) y=stuj.aver;stuj.aver=stuj+1.aver;stuj+1.aver=y; p=stuj.chinese;stuj.chinese=stuj+1.chinese;stuj+1.chinese=p; q=stuj.math;stuj.math=stuj+1.math;stuj+1.math=q; r=stuj.english;stuj.english=stuj+1.english;stuj+1.english=r; w=stuj.dianlu;stuj.

21、dianlu=stuj+1.dianlu;stuj+1.dianlu=w; strcpy(x,stuj.name); strcpy(stuj.name,stuj+1.name); strcpy(stuj+1.name,x); strcpy(t,stuj.num); strcpy(stuj.num,stuj+1.num); strcpy(stuj+1.num,t); return;void tongji(Student stud,int n)/按分数段统计人数 int i,j,a,max,min,k,l,q,p,w; k=0,l=0,p=0,q=0,w=0; printf(你想统计哪科成绩: 1

22、语文 2数学 3英语 4电路 5平均 n); scanf(%d,&j); printf(input 2 score:n); scanf(%d%d,&max,&min); if(maxmin) a=max;max=min;min=a; if(j=1)for(i=0;imin&stui.chinesemax) k+; printf(分数段人数为 :%d,k); else if(j=2)for(i=0;imin&stui.mathmax) l+; printf(分数段人数为 :%d,l); else if(j=3)for(i=0;imin&stui.englishmax) p+; printf(分数

23、段人数为 :%d,p); else if(j=4) for(i=0;imin&stui.dianlumax) w+; printf(分数段人数为 :%d,w); else if(j=5)for(i=0;imin&stui.avermax) q+; printf(分数段人数为 :%d,q); return;int wenjian2(Student stud,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(tttInput the filename:); scanf(tt

24、t%s,filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(tttcannt open the filen); /*打开失败信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d,&num); /*读入总统计量*/ while(inum) /*循环读入数据*/ fscanf(fp,%s %s %d %d %d %d %lfn,stun+i.num,stun+i.name,&stun+i.chinese,&stun+i.math,&stun+i.engli

25、sh,&stun+i.dianlu,&stun+i.aver);i+;n+=num; fclose(fp); /*关闭文件*/printf(tttSuccessed!n);printf(ttt); system(pause); return(n); void wenjian1(Student stud,int n) /*将全部统计写入文件*/int i=0;FILE *fp; /*定义文件指针*/char filename20; /*定义文件名*/ printf(Input the filename:);/*输入文件名*/ scanf(%s,filename); if(fp=fopen(fil

26、ename,w)=NULL) /*打开文件*/ printf(cannt open the filen); return; fprintf(fp,%dn,n); /*循环写入数据*/ while(in) fprintf(fp,%s %s %d %d %d %d %lfn,stui.num,stui.name,stui.chinese,stui.math,stui.english,stui.dianlu,stui.aver); i+; fclose(fp); /*关闭文件*/ printf(Successed!n); /*返回成功信息*/ int menu() /*菜单函数*/ int c; d

27、o printf(tt*学生信息管理系统菜单*n); printf(tt 1. 编辑 n); printf(tt 2. 显示 n); printf(tt 3. 查询 n); printf(tt 4. 排序n); printf(tt 5. 统计n); printf(tt 6. 文件 n); printf(tt 0. 退出 n); printf(*n); printf(ttt请选择(0-6):); scanf(%d,&c);while(c6); return(c-0); /*返回选择*/ int bianji() printf(tt 1. 录入n); printf(tt 2 .修改n); prin

28、tf(tt 3. 删除 n); printf(tt 按其它数字键退出 n);int i;scanf(%d,&i);return i;int chaxun() printf(tt 1. 按姓名查询n); printf(tt 2 .按平均成绩查询n); printf(tt 按其它数字键退出n);int i;scanf(%d,&i);return i;int paixu() printf(tt 1. 按学号n); printf(tt 2 .按语文成绩n); printf(tt 3 .按数学成绩n); printf(tt 4 .按英语成绩n); printf(tt 5 .按电路成绩n); printf

29、(tt 6 .按平均成绩n); printf(tt按其它数字键退出n); int i; scanf(%d,&i); return i;int wenjian() printf(tt 1. 从文件中读入数据n); printf(tt 2 .将全部统计写入文件n); printf(tt 按其它数字键退出 n);int i;scanf(%d,&i);return i;void main() /*主函数*/ int n=0; for(;) for(;) switch(menu() case 1: switch(bianji() case 1:n=shuru(stu,n);xianshi(stu,n);

30、 break; case 2:xiugai(stu ,n);xianshi(stu,n); break; case 3:shanchu(stu ,n);xianshi(stu,n); break; break; case 2:xianshi(stu,n);break; case 3: switch(chaxun() case 1:chaxun_xingming(stu,n);break; case 2:chaxun_pingjun(stu ,n);break; break; case 4: switch(paixu() case 1:paixu_xuehao(stu,n);xianshi(st

31、u,n); break ; case 2:paixu_chinese(stu ,n);xianshi(stu,n);break; case 3:paixu_math(stu ,n);xianshi(stu,n); break; case 4:paixu_english(stu ,n);xianshi(stu,n); break; case 5:paixu_dianlu(stu ,n);xianshi(stu,n); break; case 6:paixu_pingjun(stu ,n);xianshi(stu,n); break; break; case 5:tongji(stu,n);break; case 6: switch(wenjian() case 1:n=wenjian2(stu,n);break; case 2:wenjian1(stu ,n);break; break; case 0: exit(0); /*结束程序*/

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服