《C语言学生成绩管理系统怎样开发.docx》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统怎样开发.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言学生成绩管理系统怎样开发有很多人C语言学生成绩管理系统不会开发,该怎么办呢,下面是学习啦我采集整理的C语言学生成绩管理系统怎样开发,希望对大家有帮助C语言学生成绩管理系统开发的方法1.用户对系统数据的输入。2.系统计算所对应的每门课程的总分和平均分。3.对于相对应学生的数据处理。4.排序功能a.总分高到低以及总分从低到高b.学号由大到小c.姓名字典顺序5.查询功能a.学号查询b.姓名查询6.分析数据7.输出学生对应的所有数据。8.数据存入文件的写入与读取【设计思路】通过switchcase语句实现用户菜单操作,在菜单中通过用户的选择调用相关的函数来完成用户的一系列操作以及应用。【模块图】
2、程序总流程图【算法步骤】菜单:for(i=0;ii+)printf(*printf(nprintf(1.Inputrecordnprintf(2.Caculatetotelandaveragescoreofeverycoursenprintf(3.Caculatetotelandaveragescoreofeverystudentnprintf(4.Sortindescendingorderbytotalscoreofeverystudentnprintf(5.Sortinascendingorderbytotalscoreofeverystudentnprintf(6.Sortinascen
3、dingorderbynumbernprintf(7.Sortinascendingorderbynamenprintf(8.Searchbynumbernprintf(9.Searchbynamenprintf(10.Statisticanalysisforeverycoursenprintf(11.Listrecordnprintf(12.Writetoafilenprintf(13.Readfromafilenprintf(0.Exitnfor(i=0;ii+)printf(*printf(nprintf(Pleaseenteryourchoice:printf(n输入函数:voidRe
4、adscore(STUstu,intn,intm)/1.输入数据inti,j;for(i=0;iprintf(InputstudentsID,nameandscorescanf(%ld,stui.studentID);scanf(%s,stui.studentName);for(j=0;jscanf(%d,stui.scorej);数据处理函数:voidTota(STUstu,intn,intm)/2.计算每门课程的总分和平均分inti,j,sumM;doubleaveM;for(j=0;jsumj=0;for(i=0;isumj=sumj+stui.scorej;avej=(double)s
5、umj/n;for(i=0;iprintf(Project%d总分=%d,课程的平均分=%fn,i+1,sumi,avei);voidDatasort_1(STUstu,intn,intm)/3.计算每个学生的总分和平均分inti,j,sumN;doubleaveN;for(i=0;isumi=0;for(j=0;jsumi=sumi+stui.scorej;avei=(double)sumi/m;for(i=0;iprintf(ID:%10ld,Name:%sAllscore=%d,Theave=%fn,stui.studentID,stui.studentName,sumi,avei);排
6、序函数:voidDatasort_2(STUstu,intn,intm)/4.按每个学生的总分由高到低排知名次表inti,j,k,h,sumN;STUt;for(i=0;isumi=0;for(j=0;jsumi=sumi+stui.scorej;for(i=0;ik=i;for(j=i+1;jif(sumjsumk)k=j;if(i!=k)t=stui,h=sumi;stui=stuk,sumi=sumk;stuk=t,sumk=h;for(i=0;iprintf(ID:%10ld,Name:%s,Score:%dn,stui.studentID,stui.studentName,sumi)
7、;voidDatasort_3(STUstu,intn,intm)/5.按每个学生的总分由低到高排知名次表inti,j,k,h,sumN;STUt;for(i=0;isumi=0;for(j=0;jsumi=sumi+stui.scorej;for(i=0;ik=i;for(j=i+1;jif(sumjk=j;if(i!=k)t=stui,h=sumi;stui=stuk,sumi=sumk;stuk=t,sumk=h;for(i=0;iprintf(ID:%10ld,Name:%s,score:%dn,stui.studentID,stui.studentName,sumi);voidDat
8、asort_4(STUstu,intn,intm)/6.按学号由小到大排知名次表inti,j,k;STUt;for(i=0;ik=i;for(j=i+1;jif(stuj.studentIDk=j;if(i!=k)t=stuk,stuk=stui,stui=t;for(i=0;iprintf(ID:%10ld,Name:%sn,stui.studentID,stui.studentName);for(j=0;jprintf(Project%dScore:%dn,j+1,stui.scorej);数据分析函数:voidStatistis(STUstu,intn,intm)/10.inti,j,c
9、ount_1,count_2,count_3,count_4,count_5;for(j=0;jcount_1=0,count_2=0,count_3=0,count_4=0,count_5=0;for(i=0;iif(stui.scorej=90)count_1+;elseif(stui.scorej=80)count_2+;elseif(stui.scorej=70)count_3+;elseif(stui.scorej=60)count_4+;elsecount_5+;printf(project%dn,j+1);printf(优秀:%dt优秀率:%f%n,count_1,(float)
10、count_1/n);printf(良好:%dt良好率:%f%n,count_2,(float)count_2/n);printf(中等:%dt中等率:%fn,count_3,(float)count_3/n);printf(及格:%dt及格率:%fn,count_4,(float)count_4/n);printf(不及格:%dt不及格率:%fn,count_5,(float)count_5/n);数据界面打印函数:voidList(STUstu,intn,intm)/11.inti,j,sumN;doubleaveN;for(i=0;isumi=0;for(j=0;jsumi=sumi+s
11、tui.scorej;avei=(double)sumi/m;for(i=0;iprintf(ID:%10ld,Name:%sn,stui.studentID,stui.studentName);for(j=0;jprintf(Score%d:%dn,j+1,stui.scorej);printf(Allscore=%dn平均分%fn,sumi,avei);文件处理函数:voidWritetoFile(STUstu,intn,intm)/将每个学生的记录信息写入文件Tota(stu,n,m);Datasort_2(stu,n,m);FILE*fp;if(fp=fopen(student.txt
12、,w)=NULL)printf(Failuretoopenstudent.txt!nexit(0);fwrite(stu,sizeof(STU),n,fp);fclose(fp);intReadfromFile(STUstu,intn,intm)/从文件中读出每个学生的记录信息并显示FILE*fp;inti;if(fp=fopen(student.txt,r)=NULL)printf(Failuretoopenstudent.txt!nexit(0);for(i=0;!feof(fp);i+)fread(stui,sizeof(STU),1,fp);fclose(fp);printf(Totalstudentis%d.n,i-1);n=i-1;List(stu,n,m);/输出从文件中读出的信息到屏幕上returni-1;C语言学生成绩管理系统怎样开发