c语言学习知识大课后复习学生成绩管理方案计划系统v5.0.doc

上传人:小** 文档编号:2541622 上传时间:2020-04-19 格式:DOC 页数:15 大小:15.73KB
返回 下载 相关 举报
c语言学习知识大课后复习学生成绩管理方案计划系统v5.0.doc_第1页
第1页 / 共15页
c语言学习知识大课后复习学生成绩管理方案计划系统v5.0.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《c语言学习知识大课后复习学生成绩管理方案计划系统v5.0.doc》由会员分享,可在线阅读,更多相关《c语言学习知识大课后复习学生成绩管理方案计划系统v5.0.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、./成绩管理系统v1.0#include #include #include #define N 30#define M 6typedef struct student long studentID; char studentName10; int scoreM;STU;void Input (STU stu,int n,int m);void Totalave (STU stu,int n,int m);void evestuTotalave (STU stu,int n,int m);void Scoredes (STU stu,int n,int m);void Scoreas (STU

2、 stu,int n,int m);void Numas (STU stu,int n,int m);void Dicas (STU stu,int n,int m);void Searchbynum (STU stu,int n,int x,int m);void Searchbymane(STU stu,int n,char name,int m);void statistis (STU stu,int n,int m);void List (STU stu,int n,int m);int main() int n,c,x,m; char name10; STU stuN; printf

3、(输入学生人数); scanf(%d,&n); printf(输入考试科目); scanf(%d,&m); printf(1.Input recordn); printf(2.Caculate totel and average score of every coursen); printf(3.Caculate totel and average score of every studentn); printf(4.Sort in descending order by total score of every studentn); printf(5.Sort in ascending or

4、der by total score of every studentn); printf(6.Sort in ascending order by numbern); printf(7.Sort in ascending order by name); printf(8.Search by numbern); printf(9.Search by namen); printf(10.Statistic analysis for every coursen); printf(11.List recordn); printf(0.Exitn); printf(Please enter your

5、choice:n); printf(n); for(;) scanf(%d,&c); switch(c) case 1: /录入学生学号和各科成绩 Input (stu,n,m); printf(Please enter your choice:n); break; case 2: /计算每门课程的总分和平均分 Totalave (stu,n,m); printf(Please enter your choice:n); break; case 3: /计算每个学生的总分和平均分 evestuTotalave (stu,n,m); break; case 4: /按每个学生的总分由高到低排出名

6、次表 Scoredes (stu,n,m); printf(Please enter your choice:n); break; case 5: /按每个学生的总分由低到高排出名次表 Scoreas (stu,n,m); printf(Please enter your choice:n); break; case 6: /按学号由小到大排出名次表 Numas (stu,n,m); printf(Please enter your choice:n); break; case 7: /按姓名的字典顺序排出成绩表 Dicas(stu,n,m); printf(Please enter your

7、 choice:n); break; case 8: /按学号查询学生排名及其各科成绩 printf(请输入查找学号n); scanf(%d,&x); Searchbynum(stu,n,x,m); printf(Please enter your choice:n); break; case 9: /按姓名查询学生排名及其各科成绩 printf(请输入查找姓名n); scanf(%s,name); getchar(); Searchbymane(stu,n,name,m); printf(Please enter your choice:n); break; case 10: /成绩分析 所

8、占百分比 statistis (stu,n,m); printf(Please enter your choice:n); break; case 11: /全部输出 List (stu,n,m); Totalave (stu,n,m); printf(Please enter your choice:n); break; case 0: exit(0); return 0;void Input (STU stu,int n,int m) /1 int i,j; for(i=0;in;i+) printf(Input students ID ,name and score); scanf(%l

9、d,&stui.studentID); scanf(%s,stui.studentName); for(j=0;jm;j+) scanf(%d,&stui.scorej); void Totalave (STU stu,int n,int m) /2.计算每门课程的总分和平均分 int i,j,sumM; double aveM; for(j=0;jm;j+) sumj=0; for(i=0;in;i+) sumj=sumj+stui.scorej; avej=(double)sumj/n; for(i=0;im;i+) printf(科目%d的总分=%d,课程的平均分=%fn,i+1,sum

10、i,avei);void evestuTotalave (STU stu,int n,int m) /3.计算每个学生的总分和平均分 int i,j,sumN; double aveN; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej; avei=(double)sumi/m; for(i=0;in;i+) printf(学号为%ld,姓名为%s的总分=%d,其平均分=%fn,stui.studentID,stui.studentName,sumi,avei);void Scoredes (STU stu,int n,in

11、t m) /4.按每个学生的总分由高到低排出名次表 int i,j,k,h,sumN; STU t; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej; for(i=0;in;i+) k=i; for(j=i+1;jsumk) k=j; if(i!=k) t=stui,h=sumi; stui=stuk,sumi=sumk; stuk=t,sumk=h; for(i=0;in;i+) printf(ID:%10ld,name:%s,score:%dn,stui.studentID,stui.studentName,sumi)

12、;/以长整形打印用%ldvoid Scoreas (STU stu,int n,int m) /5.按每个学生的总分由di到gao排出名次表 int i,j,k,h,sumN; STU t; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej; for(i=0;in;i+) k=i; for(j=i+1;jn;j+) if (sumjsumk) k=j; if(i!=k) t=stui,h=sumi; stui=stuk,sumi=sumk; stuk=t,sumk=h; for(i=0;in;i+) printf(ID:%1

13、0ld,name:%s,score:%dn,stui.studentID,stui.studentName,sumi);/以长整形打印用%ldvoid Numas (STU stu,int n,int m) /6.按学号由小到大排出名次表 int i,j,k; STU t; for(i=0;in;i+) k=i; for(j=i+1;jn;j+) if (stuj.studentIDstuk.studentID) k=j; if(i!=k) t=stuk,stuk=stui,stui=t; for(i=0;in;i+) printf(ID:%10ld,name:%sn,stui.student

14、ID,stui.studentName);/以长整形打印用%ld for(j=0;jm;j+) printf(project %d score:%dn,j+1,stui.scorej); void Dicas (STU stu,int n,int m) /7. int i,j; STU t; for(i=0;in;i+) for(j=i+1;j0) t=stui,stui=stuj,stuj=t; for(i=0;in;i+) printf(ID:%10ld,name:%sn,stui.studentID,stui.studentName); for(j=0;jm;j+) printf(pro

15、ject:%d,score:%dn,j+1,stui.scorej); void Searchbynum (STU stu,int n,int x,int m) /8.按学号查询学生排名及其各科成绩 int i,j,c=1,find=0,sumN; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej; for(i=0;in;i+) if(stui.studentID=x) find=1; break; if(find=0) printf(not findn); else for(j=0;jsumi) c+; printf(ID

16、:%10ld name:%sn,stui.studentID,stui.studentName);/以长整形打印用%ld for(j=0;jm;j+) printf(project %d score:%dn,j+1,stui.scorej); printf(all score: %d,order:%dn,sumi,c); void Searchbymane(STU stu,int n,char name,int m) /9 int i,j,c=1,find=0,sumN; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej;

17、for(i=0;in;i+) if(strcmp(stui.studentName,name)=0) find=1; break; if(find=0) printf(not findn); else for(j=0;jsumi) c+; printf(ID:%10ld,name:%sn,stui.studentID,stui.studentName);/以长整形打印用%ld for(j=0;jm;j+) printf(project %d score:%dn,j+1,stui.scorej); printf(all score: %d,order:%dn,sumi,c); void stat

18、istis (STU stu,int n,int m) /10. int a=0,b=0,c=0,d=0,e=0,i,j; double A,B,C,D,E; for(j=0;jm;j+) for(i=0;i=90) a+; else if(stui.scorej=80) b+; else if(stui.scorej=70) c+; else if(stui.scorej=60) d+; else e+; A=(double)a/n*100; B=(double)b/n*100; C=(double)c/n*100; D=(double)d/n*100; E=(double)e/n*100;

19、 printf(project %dn,j+1); printf(优秀人数%d,百分比:%f%n,a,A); printf(良好人数%d,百分比:%f%n,b,B); printf(中等人数%d,百分比:%f%n,c,C); printf(及格人数%d,百分比:%f%n,d,D); printf(不及格人数%d,百分比:%f%n,e,E); void List (STU stu,int n,int m) /11. int i,j,sumN; double aveN; for(i=0;in;i+) sumi=0; for(j=0;jm;j+) sumi=sumi+stui.scorej; avei=(double)sumi/m; for(i=0;in;i+) printf(ID:%10ld,name:%sn,stui.studentID,stui.studentName); for(j=0;jm;j+) printf(score:%dn,stui.scorej); printf(总分=%dn平均分%fn,sumi,avei);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁