版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上/成绩管理系统v1.0#include <stdio.h>#include <stdlib.h>#include <string.h>#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,i
2、nt m);void Scoredes (STU stu,int n,int m);void Scoreas (STU 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,i
3、nt m);int main() int n,c,x,m; char name10; STU stuN; printf("输入学生人数"); scanf("%d",&n); printf("输入考试科目"); scanf("%d",&m); printf("1.Input recordn"); printf("2.Caculate totel and average score of every coursen"); printf("3.Cacula
4、te totel and average score of every studentn"); printf("4.Sort in descending order by total score of every studentn"); printf("5.Sort in ascending order by total score of every studentn"); printf("6.Sort in ascending order by numbern"); printf("7.Sort in ascen
5、ding 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 choice:n"); printf("n&quo
6、t;); 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; c
7、ase 4: /按每个学生的总分由高到低排出名次表 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
8、 7: /按姓名的字典顺序排出成绩表 Dicas(stu,n,m); printf("Please enter your 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
9、"); scanf("%s",name); getchar(); Searchbymane(stu,n,name,m); printf("Please enter your choice:n"); break; case 10: /成绩分析 所占百分比 statistis (stu,n,m); printf("Please enter your choice:n"); break; case 11: /全部输出 List (stu,n,m); Totalave (stu,n,m); printf("Please e
10、nter 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;i<n;i+) printf("Input student's ID ,name and score"); scanf("%ld",&stui.studentID); scanf("%s",stui.studentName); for(j=0;j<m;j+) scanf("%
11、d",&stui.scorej); void Totalave (STU stu,int n,int m) /2.计算每门课程的总分和平均分 int i,j,sumM; double aveM; for(j=0;j<m;j+) sumj=0; for(i=0;i<n;i+) sumj=sumj+stui.scorej; avej=(double)sumj/n; for(i=0;i<m;i+) printf("科目%d的总分=%d,课程的平均分=%fn",i+1,sumi,avei);void evestuTotalave (STU stu
12、,int n,int m) /3.计算每个学生的总分和平均分 int i,j,sumN; double aveN; for(i=0;i<n;i+) sumi=0; for(j=0;j<m;j+) sumi=sumi+stui.scorej; avei=(double)sumi/m; for(i=0;i<n;i+) printf("学号为%ld,姓名为%s的总分=%d,其平均分=%fn",stui.studentID,stui.studentName,sumi,avei);void Scoredes (STU stu,int n,int m) /4.按每个学
13、生的总分由高到低排出名次表 int i,j,k,h,sumN; STU t; for(i=0;i<n;i+) sumi=0; for(j=0;j<m;j+) sumi=sumi+stui.scorej; for(i=0;i<n;i+) k=i; for(j=i+1;j<n;j+) if (sumj>sumk) k=j; if(i!=k) t=stui,h=sumi; stui=stuk,sumi=sumk; stuk=t,sumk=h; for(i=0;i<n;i+) printf("ID:%10ld,name:%s,score:%dn"
14、,stui.studentID,stui.studentName,sumi);/以长整形打印用%ldvoid Scoreas (STU stu,int n,int m) /5.按每个学生的总分由di到gao排出名次表 int i,j,k,h,sumN; STU t; for(i=0;i<n;i+) sumi=0; for(j=0;j<m;j+) sumi=sumi+stui.scorej; for(i=0;i<n;i+) k=i; for(j=i+1;j<n;j+) if (sumj<sumk) k=j; if(i!=k) t=stui,h=sumi; stui=
15、stuk,sumi=sumk; stuk=t,sumk=h; for(i=0;i<n;i+) printf("ID:%10ld,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;i<n;i+) k=i; for(j=i+1;j<n;j+) if (stuj.studentID<stuk.studentID) k=j;
16、if(i!=k) t=stuk,stuk=stui,stui=t; for(i=0;i<n;i+) printf("ID:%10ld,name:%sn",stui.studentID,stui.studentName);/以长整形打印用%ld for(j=0;j<m;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;i<n;i+) for(j=i+1;j<n
17、;j+) if(strcmp(stui.studentName,stuj.studentName)>0) t=stui,stui=stuj,stuj=t; for(i=0;i<n;i+) printf("ID:%10ld,name:%sn",stui.studentID,stui.studentName); for(j=0;j<m;j+) printf("project:%d,score:%dn",j+1,stui.scorej); void Searchbynum (STU stu,int n,int x,int m) /8.按学号查
18、询学生排名及其各科成绩 int i,j,c=1,find=0,sumN; for(i=0;i<n;i+) sumi=0; for(j=0;j<m;j+) sumi=sumi+stui.scorej; for(i=0;i<n;i+) if(stui.studentID=x) find=1; break; if(find=0) printf("not findn"); else for(j=0;j<n;j+) if(sumj>sumi) c+; printf("ID:%10ld name:%sn",stui.studentID,
19、stui.studentName);/以长整形打印用%ld for(j=0;j<m;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;i<n;i+) sumi=0; for(j=0;j<m;j+) sumi=sumi+stui.sco
20、rej; for(i=0;i<n;i+) if(strcmp(stui.studentName,name)=0) find=1; break; if(find=0) printf("not findn"); else for(j=0;j<n;j+) if(sumj>sumi) c+; printf("ID:%10ld,name:%sn",stui.studentID,stui.studentName);/以长整形打印用%ld for(j=0;j<m;j+) printf("project %d score:%dn&quo
21、t;,j+1,stui.scorej); printf("all score: %d,order:%dn",sumi,c); void statistis (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;j<m;j+) for(i=0;i<n;i+) if(stui.scorej>=90) a+; else if(stui.scorej>=80) b+; else if(stui.scorej>=70) c+; else if(stui.scorej>=60) d+; els
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026专项治理面试题目及答案
- 2026年一建市政实务考前综合训练试卷及答案
- 2026年一建民航实务考前基础通关特训试卷及答案
- 2026创业服务业面试题及答案
- 2026年一建经济考前真题密押特训试卷及答案
- 2026动车检修人员面试题及答案
- 2026公司行为面试题及答案
- 2026机场控制面试题及答案
- 2026交警处罚面试题目及答案
- “8.7不合格输出的控制”条款应用专业指导清单(雷泽佳编制-2026A0)
- 劳务股东协议书
- 2026浙江湖州市公路水运工程监理咨询有限公司招聘10人笔试参考题库及答案详解
- 2026年滁州天长市镇街应急消防综合工作站公开招聘员额制安全监管员32名笔试参考题库及答案详解
- 2026年七升八数学压轴应用与几何证明专项突破三套组合卷A+B+C(附赠开学摸底卷含多种解题思路与易错清单)
- 建筑施工单位安全生产三级教育制度培训课件
- 湖南省2026年高考招生计划-历史类
- 2026年办公室文员笔试试题(含答案)
- 社区老年人健康监测数据采集规范指引
- DB44-T 2846-2026 自然教育径建设规范
- 2025年苏州市社区工作者招聘考试笔试试题及答案解析
- 2026年《关于用好乡镇(街道)履行职责事项清单的具体措施》宣导课件
评论
0/150
提交评论