最新c语言大作业——学生成绩管理系统v0资料.docx

上传人:scccc 文档编号:13167302 上传时间:2021-12-17 格式:DOCX 页数:19 大小:20.38KB
返回 下载 相关 举报
最新c语言大作业——学生成绩管理系统v0资料.docx_第1页
第1页 / 共19页
最新c语言大作业——学生成绩管理系统v0资料.docx_第2页
第2页 / 共19页
最新c语言大作业——学生成绩管理系统v0资料.docx_第3页
第3页 / 共19页
最新c语言大作业——学生成绩管理系统v0资料.docx_第4页
第4页 / 共19页
最新c语言大作业——学生成绩管理系统v0资料.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《最新c语言大作业——学生成绩管理系统v0资料.docx》由会员分享,可在线阅读,更多相关《最新c语言大作业——学生成绩管理系统v0资料.docx(19页珍藏版)》请在三一文库上搜索。

1、精品文档成绩管理系统vl.O#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 30#define M 6typedef struct stude ntlong stude ntID;char studentName10;int scoreM;STU;void Input (STU stu,int n,int m);void Totalave (STU stu,int nzint m);void evestuTotalave (STU stu,int n,int m);void

2、Scoredes (STU stuJnt n,int m);void Scoreas (STU stu,int n,int m);void Numas (STU stuJnt n,int m);void Dicas (STU stu,int njnt m);void Searchbynum (STU stu,int njnt x,int m);void Searchbymane(STU stuzint n,char nameJnt m);void statistis (STU stu,int njnt m);void List (STU stuJnt njnt m);int main()int

3、 mm;char name10;STU stuN;printf(“输入学生人数“);scanf(,%d,/&n);printfC1输入考试科目“);scanf(,%d,/&m);printf(nl.Input recordnM);prin tf("2.Caculate tote I and average score of every coursen");prin tf("3.Caculate tote I and average score of every stude ntn“);printf("4.Sort in descendin

4、g order by total score of every studentnH);printf("5.Sort in ascending order by total score of every studentn”);printf("6.Sort in ascending order by numbernn);printf(n7.Sort in ascending order by name'1);printf(n8.Search by numbernH);printf(n9.Search by namenJ;printf("10.Statistic

5、 analysis for every coursenM);printf("ll.List recordnn);printfC'O.ExitXn");printf(nPlease enter your choice:nH);printf("n");for(;)scanf(,%d,&c);switch(c)case 1:录入学生学号和各科成绩Input (stu,nzm);printf(HPlease enter your choice:n");break;case 2:计算每门课程的总分和平均分Totalave (stu,n,m

6、);printf(HPlease enter your choice:n");break;case 3:计算每个学生的总分和平均分evestuTotalave (stu,nzm);break;case 4:按每个学生的总分由高到低排出名次表Scoredes (stu,n,m);printf(HPlease enter your choice:n");break;case 5:按每个学生的总分由低到高排出名次表Scoreas (stunm);printf(HPlease enter your choice:n");break;case 6:按学号由小到人排出名次表N

7、umas (stu,n,m);printf(HPlease enter your choice:n");break;case 7:按姓名的字典顺序排出成绩表Dicas(stunm);printf(HPlease enter your choice:nJ;break;case &按学号查询学生排名及其各科成绩printf(”请输入查找学号n”);scanfC%d':&x);Searchb yn um(stu, nxm);printf(HPlease enter your choice:n");break;case 9:按姓名査询学生排名及其各科成绩pr

8、intf(“请输入査找姓名n“);scanf(”s;name);getchar();Searchbyma ne(stu,n,nprintf(HPlease enter your choice:n“);break;case 10:成绩分析所占百分比statistis (stu,nzm);printf(MPlease enter your choice:n”);break;case 11:全部输出List (stugm);Totalave (stu,n,m);printf(HPlease enter your choice:n“);break;精品文档case 0:exit(0);return 0

9、;void Input (STU stu,int n,int m) /Iint i,j;for(i=0;i <n ;i+)printf(Hlnput student's ID ,name and score1');scanf(,%ld,&stui.studentlD);scanf(,%s,/stui.studentName);for(j=0;j<m;j+)scanf(,l%d",&stui.scorej);void Total a ve (STU stu,int njnt m)2.计算每门课程的总分和平均分int ijzsumM;doubl

10、e 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("科目4 的总分=%d,课程的平均分=%fn"/i+l/sumizavei);void evestuTotalave (STU stu,int n,int m)3计算每个学生的总分和平均分int ijzsumN;double aveN;for(i=0;i<n;i+)sumi=0;for(j=0;j<m;j+)sumi=sumi+st

11、ui.scorej;avei=(double)sumi/m;for(i=0;i<n;i+)printff学号为ld,姓名为s 的总分=%d,其平均分=%fn"/stui.studentlD/stui.studentName/sumi/avei);void Scoredes (STU stu,int n,int m)/用.按每个学生的总分由高到低排出名次表int i jkhsumN;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

12、+l;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"/stui.studentlD/stui.studentName/sumi); 以长整形打印用ldvoid Scoreas (STU stu,int njnt m)5.按每个学生的总分由di到gao排出名次表int i jkhsumN;STU t;for(i=0;i<n;i+)sumi=0;fo

13、r(j=0;j<m;j+)sumi=sumi+stui.scorej;for(i=0;i<n;i+)k=i;for(j=i+l;j<n;j+)讦(sumj<sumk)k 二 j;if(i!=k)t二stui,h 二 sumi;stui=stukzsumi=sumk;stuk=t/sumk=h;for(i=0;i<n;i+)printf(,ID:%10ld/name:%s/score:%dn,/stui.studentlD/stui.studentName/sumi); 以长整形打印用ldvoid Numas (STU stuJnt n,int m)/&按学

14、号由小到人排出名次表int i,j,k;STU t;for(i=0;i<n;i+)k=i;for(j=i+l;j<n;j+)if (stuj.studentlD<stuk.studentlD)k 二 j;if(i!=k)t=stuk/stuk=stui/stui=t;for(i=0;i<n;i+)printf(,ID:%10ld/name:%sn,stui.studentlD/stui.studentName);/ 以长整形打印 for(j=0;j<m;j+)printf(nproject %d score:%dn,/j+l/stui.scorej);void D

15、icas (STU stu,int njnt m)7int ij;STU t;for(i=0;i<n;i+)for(j=i+l;j <n ;j+)if(strcmp(stui.studentName,stuj.stude ntName)>0)t=stui/stui=stuj/stuj=t;for(i=0;i<n;i+)printf(,ID:%10ld/name:%sn,/stui.studentlD/stui.studentName);for(j=0;j<m;j+)printf(,project:%d/score:%dn,/j+l/stui.scorej);voi

16、d Searchbynum (STU stu,int njnt x,int m)/8.按学号查询学生排名及其各科成绩int i/j/c=l,find=O/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.studentlD=x)find=l;break;if(find=O)printff'not findnH);elsefor(j=0;j<n;j+)printf(MID:%10ld name:%sn",stuistudentlD,

17、stui.studentName);以长整形打印用ld for(j=0;j<m;j+)printf(nproject %d score:%dn,/j+l/stui.scorej);printff'all score: %d,order:%dn,/sumi/c);void Searchbymane(STU stuzint n,char nameJnt m)/9int i/j,c=l/find=O/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(str

18、cmp(stui.studentName, name)=O)find=l;break;if(find=O)printf("not findn");elsefor(j=0;j<n;j+)if(sumj>sumi)C+;printf(,ID:%10ld/name:%sn',/stui.studentlD,stui.studentName); 以长整形打印用 ld for(j=0;j<m;j+)printf(nproject %d score:%dn,/j+l/stui.scorej);printf("all score: %d,order:%

19、dn,/sumi/c);void statistis (STU stu,int njnt m) /10.int a=O,b=O,c=O/d=O,e=O,i/j;double A,B,C,D,E;for(j=0;j<m;j+)for(i=0;i <n ;i+)精品文档if (stui).score j>=90)a+;else if(stui.scorej>=80)b+;else if(stui.scoreU>=70)C+;else if(stui.scorej>=60)d+;elsee+;A=(double)a/n*100;B=(double)b/n*100;

20、C=(double)c/n*100;D=(double)d/n*100;E=(double)e/n*100;printf(Mproject %dn"J+l);printf("优秀人数 d,百分比:%f%n",a,A); printf(H良好人数小百分比:%f%n“,b,B);printf("中等人数d,百分比:f%n",c,C);printf("及格人数 d,百分比:%f%n",d,D);printf("不及格人数«百分比:f%n",e,E);void List (STU stuzint nzint m)/ll.精品文档精品文档int i jsumN; 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(,ID:%10ld,name:%sn,/stui.studentlD/stui.studentName);for(j=0;j<m;j+)printf("score:%dn,/stui.scorej);printf(H总分=%dn 平均分%fn,sumi,avei);精品文档

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1