课程设计报告-学生成绩管理系统_第1页
课程设计报告-学生成绩管理系统_第2页
课程设计报告-学生成绩管理系统_第3页
课程设计报告-学生成绩管理系统_第4页
课程设计报告-学生成绩管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.高级语言程序设计课程设计报告课题名称:学生成绩管理管理*:田宇班级:通信1412 *: 8 指导教师:陶恂电子信息学院2015年 07 月 10 日-. z.目录 TOC o 1-2 h z u HYPERLINK l _Toc4241595491 课题分析 PAGEREF _Toc424159549 h 2HYPERLINK l _Toc4241595501.1 问题描述 PAGEREF _Toc424159550 h 2HYPERLINK l _Toc4241595511录入每个学生的*、*和各科考试成绩 PAGEREF _Toc424159551 h 2HYPERLINK l

2、_Toc4241595522计算每门课程的总分和平均分PAGEREF _Toc424159552 h 2HYPERLINK l _Toc4241595533计算每个学生的总分和平均分 PAGEREF _Toc424159553 h 2HYPERLINK l _Toc4241595544按每个学生的总分由高到低排知名次表 PAGEREF _Toc424159554 h 2HYPERLINK l _Toc4241595555按每个学生的总分由低到高排知名次表 PAGEREF _Toc424159555 h 2HYPERLINK l _Toc4241595566按*由小到大排出成绩表 PAGEREF

3、 _Toc424159556 h 2HYPERLINK l _Toc4241595577按*的字典顺序排出成绩表 PAGEREF _Toc424159557 h 2HYPERLINK l _Toc4241595588按*查询学生排名及其考试成绩 PAGEREF _Toc424159558 h 2HYPERLINK l _Toc4241595599按*查询学生排名及其考试成绩 PAGEREF _Toc424159559 h 2HYPERLINK l _Toc42415956010按优秀90-100、良好89-89、中等70-79、及格60-69、不及格0-595个类别,对每门课程分别统计每个类别

4、的人数以及所占的百分比 PAGEREF _Toc424159560 h 2HYPERLINK l _Toc42415956111输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分 PAGEREF _Toc424159561 h 2HYPERLINK l _Toc42415956212将每个学生的记录信息写入文件 PAGEREF _Toc424159562 h 2HYPERLINK l _Toc42415956313从文件中读出每个学生的记录信息并显示 PAGEREF _Toc424159563 h 2HYPERLINK l _Toc4241595641.2 功能需求分析 PAGER

5、EF _Toc424159564 h 2HYPERLINK l _Toc4241595652 系统设计 PAGEREF _Toc424159565 h 2HYPERLINK l _Toc4241595662.1 数据构造设计 PAGEREF _Toc424159566 h 2HYPERLINK l _Toc4241595672.2 函数设计与说明 PAGEREF _Toc424159567 h 2HYPERLINK l _Toc4241595682.3 菜单设计 PAGEREF _Toc424159568 h 2HYPERLINK l _Toc4241595692.4 文件清单与说明 PAGE

6、REF _Toc424159569 h 2HYPERLINK l _Toc4241595703 系统实现 PAGEREF _Toc424159570 h 2HYPERLINK l _Toc4241595713.1 管理系统菜单 PAGEREF _Toc424159571 h 2HYPERLINK l _Toc4241595723.2 学生成绩排名 PAGEREF _Toc424159572 h 2HYPERLINK l _Toc4241595733.3 学生成绩统计 PAGEREF _Toc424159573 h 2HYPERLINK l _Toc4241595744 测试数据与测试过程记录

7、PAGEREF _Toc424159574 h 2HYPERLINK l _Toc4241595754.1 菜单测试 PAGEREF _Toc424159575 h 2HYPERLINK l _Toc4241595764.2 系统功能测试 PAGEREF _Toc424159576 h 2HYPERLINK l _Toc424159577管理系统菜单 PAGEREF _Toc424159577 h 2HYPERLINK l _Toc424159578输入学生信息 PAGEREF _Toc424159578 h 2HYPERLINK l _Toc424159579录入每个学生的*、*和各科考试成

8、绩 PAGEREF _Toc424159579 h 2HYPERLINK l _Toc424159580计算总分和平均分 PAGEREF _Toc424159580 h 2HYPERLINK l _Toc424159581计算每门课程的总分和平均分测试 PAGEREF _Toc424159581 h 2HYPERLINK l _Toc424159582计算每个学生的总分和平均分测试 PAGEREF _Toc424159582 h 2HYPERLINK l _Toc424159583学生成绩排名 PAGEREF _Toc424159583 h 2HYPERLINK l _Toc424159584

9、按每个学生总分由高到低排名 PAGEREF _Toc424159584 h 2HYPERLINK l _Toc424159585按每个学生总分由低到高排名 PAGEREF _Toc424159585 h 2HYPERLINK l _Toc424159586按*由大到小排名 PAGEREF _Toc424159586 h 2HYPERLINK l _Toc424159587按*的在字典顺序排名 PAGEREF _Toc424159587 h 2HYPERLINK l _Toc424159588查询学生成绩 PAGEREF _Toc424159588 h 2HYPERLINK l _Toc4241

10、59589按*查询学生排名及其考试成绩测试 PAGEREF _Toc424159589 h 2HYPERLINK l _Toc424159590按*查询学生排名及其考试成绩测试 PAGEREF _Toc424159590 h 2HYPERLINK l _Toc424159591学生成绩统计 PAGEREF _Toc424159591 h 2HYPERLINK l _Toc424159592各等级学生的百分比 PAGEREF _Toc424159592 h 2HYPERLINK l _Toc424159593学生信息的输入输出 PAGEREF _Toc424159593 h 2HYPERLINK

11、 l _Toc424159594输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分测试 PAGEREF _Toc424159594 h 2HYPERLINK l _Toc424159595将每个学生的记录信息写入文件测试 PAGEREF _Toc424159595 h 2HYPERLINK l _Toc424159596从文件中读出每个学生的记录信息并显示测试 PAGEREF _Toc424159596 h 2HYPERLINK l _Toc4241595975 课程设计遇到的问题及解决方法 PAGEREF _Toc424159597 h 2HYPERLINK l _Toc4241

12、595986 课程设计总结 PAGEREF _Toc424159598 h 2HYPERLINK l _Toc424159599参考文献 PAGEREF _Toc424159599 h 2HYPERLINK l _Toc424159600附录源代码 PAGEREF _Toc424159600 h 2-. z.1 课题分析1.1 问题描述*班有最多不超过30人具体人数键盘输入参加期末考试,考试科目为数学MT、英语EN和物理PH。学生成绩管理系统是一个非常实用的程序,如果能够把用户输入的数据存盘,下次运行时读出,就更有用了。编程实现如下菜单驱动的学生成绩管理系统1录入每个学生的*、*和各科考试成绩

13、2计算每门课程的总分和平均分3计算每个学生的总分和平均分4按每个学生的总分由高到低排知名次表5按每个学生的总分由低到高排知名次表6按*由小到大排出成绩表7按*的字典顺序排出成绩表8按*查询学生排名及其考试成绩9按*查询学生排名及其考试成绩10按优秀90-100、良好89-89、中等70-79、及格60-69、不及格0-595个类别,对每门课程分别统计每个类别的人数以及所占的百分比11输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分12将每个学生的记录信息写入文件13从文件中读出每个学生的记录信息并显示1.2 功能需求分析假设要完成问题中的各项要求,首先需要运用构造体数据储存学生的

14、成绩信息,再运用循环语句求得各学生成绩之和及平均分和各学科成绩之和及平均分,再运用文件存储数据便于以后查询,对于数据查询,则同样需要运用循环语句将要查询的*或*与已储存的信息进展比照,直至找到要查询的信息。系统功能模块如图所示输入输出统计查询排名计算从文件中读出每个学生的记录信息并显示将每个学生的记录信息写入文件输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分对每门课程分别统计每个类别的人数以及所占的百分比按*查询学生排名及其考试成绩按*查询学生排名及其考试成绩按*的字典顺序排出成绩表按*由小到大排出成绩表按每个学生的总分由低到高排知名次表按每个学生的总分由高到低排知名次表计算每

15、个学生的总分和平均分计算每门课程的总分和平均分录入每个学生的*、*和各科考试成绩学生成绩管理系统图1 系统功能模块图输入输出统计查询排名计算从文件中读出每个学生的记录信息并显示将每个学生的记录信息写入文件输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分对每门课程分别统计每个类别的人数以及所占的百分比按*查询学生排名及其考试成绩按*查询学生排名及其考试成绩按*的字典顺序排出成绩表按*由小到大排出成绩表按每个学生的总分由低到高排知名次表按每个学生的总分由高到低排知名次表计算每个学生的总分和平均分计算每门课程的总分和平均分录入每个学生的*、*和各科考试成绩学生成绩管理系统表2 系统设计

16、2.1 数据构造设计系统处理的数据主要是学生信息,由C语言数据体表示struct studentstruct student char nameNUM_N; /学生* int scoreSCORE_N; /学生成绩物理 数学 英语 float averstudent; /平均成绩STUDENT; 2.2 函数设计与说明学生信息管理系统采用构造化程序设计思想,程序处理主函数以外,共设计了13个函数,函数的原型及功能说明如表所示序号函数原型功能说明1int Input输入学生信息2void Print()输出学生信息3void Sum()计算学生总成绩4void Average() 计算学生平均成

17、绩5void High()按每个学生的总分由高到低排知名次表6void Down()按每个学生的总分由低到高排知名次表7void Score将学生成绩由小到大排序8voidSortString按*的字典顺序排出成绩表9int Refernum按*查询学生排名及其考试成绩10int Refername按*查询学生排名及其考试成绩11void Count对每门课程分别统计每个类别的人数以及所占的百分比12void Writetofile将每个学生的记录信息写入文件13void Readfromfile从文件中读出每个学生的记录信息并显示表2.3.1 函数列表2.3 菜单设计采用二级菜单设计,为保证

18、程序有效性,先选择1项录入学生各项信息,再进入其他功能选择。开场开场是否录入学生信息是否录入学生信息否是输入学生信息输入学生信息选择进入二级菜单选择进入二级菜单是选择功能选择功能是否继续是否继续否完毕完毕2.4 文件清单与说明表中的函数与主函数,以及函数声明、数据构造定义、数据存储二进制文件共两个,程序文件清单如表所示。序号程序文件名文件说明116.c主程序文件2Student.t*t存储学生信息的文本文件表3 系统实现3.1 管理系统菜单进入菜单项选择择界面,进展成绩单录入和各项功能的选择开场开场是否录入学生信息是否录入学生信息否是输入学生信息输入学生信息选择进入二级菜单选择进入二级菜单是选

19、择功能选择功能是否继续是否继续否完毕完毕3.2 学生成绩排名按每个学生的总分由高到低排知名次表进入菜单后选择该功能,用循环语句计算出存储在不同构造体中每个学生各科的分数之和即为总分。再应用比拟语句进展比拟总分大小,按照从高到低进展输出显示开场开场是否有学生信息是否有学生信息N输入成绩输入成绩 Y应用do,for语句循环和if语句比拟总分上下应用do,for语句循环和if语句比拟总分上下按总分由高到低输出结果完毕按每个学生的总分由低到高排知名次表进入菜单后选择该功能,用循环语句计算出存储在不同构造体中每个学生各科的分数之和即为总分。再应用比拟语句进展比拟总分大小,按照从低到高进展输出显示开场开场

20、是否有学生信息是否有学生信息N输入成绩输入成绩 Y应用do,for语句循环和if语句比拟总分上下应用do,for语句循环和if语句比拟总分上下按总分由低到高输出结果完毕按*由小到大排知名次表进入菜单后选择该功能,用循环语句计算出存储在不同构造体中每个学生各科的分数之和即为总分。再应用比拟语句进展比拟*大小,按照*从小到大进展输出显示开场开场是否有学生信息是否有学生信息N输入成绩输入成绩 Y应用do,for语句循环和if语句比拟*大小应用do,for语句循环和if语句比拟*大小按*由小到大输出结果完毕按*的在字典顺序排出成绩表进入菜单后选择该功能,用循环语句计算出存储在不同构造体中每个学生各科的

21、分数之和即为总分。再应用比拟语句进展比拟*在字典顺序,按照*在字典顺序进展输出显示开场开场是否有学生信息是否有学生信息N输入成绩输入成绩 Y应用for循环语句和if语句比拟*应用for循环语句和if语句比拟*按照*在字典顺序输出结果完毕3.3 学生成绩统计进入菜单后选择该功能,用switch语句进展各项等级累加,在将各项累加的数量处于总人数算出百分比,输出显示开场开场是否有学生信息是否有学生信息N输入成绩输入成绩 Y应用for循环语句和switch语句计算应用for循环语句和switch语句计算输出各项等级百分比完毕4 测试数据与测试过程记录4.1 菜单测试进入菜单项选择择,可以有多项选择,选

22、择录入学生信息后进展其他从菜单功能的选择进展该项功能。进展完此项功能后有选择是否继续的功能,可以进展选择继续返回主菜单在进展其他功能的选择。图图图图图4.2 系统功能测试管理系统菜单进入菜单项选择择界面,选择想要执行的功能图输入学生信息录入每个学生的*、*和各科考试成绩先选择1进入录入信息界面,再按要求输入总人数,然后根据弹出的格式依次输入学生信息,按回车完毕输入后可选择是否继续进展其他功能。图计算总分和平均分计算每门课程的总分和平均分测试输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每门课程的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。图计算每个学生的总分和平均分

23、测试输入成绩后,在菜单界面选择计算成绩功能进入二级菜单,选择计算每个学生的总分和平均分,则功能完成,然后可选择是否继续实现其他功能。图学生成绩排名按每个学生总分由高到低排名先输入学生信息,在一级菜单项选择择排名,在二级菜单项选择择该功能,可以选择是否继续图按每个学生总分由低到高排名先输入学生信息,在一级菜单项选择择排名,在二级菜单项选择择该功能,可以选择是否继续图按*由大到小排名先输入学生信息,在一级菜单项选择择排名,在二级菜单项选择择该功能,可以选择是否继续图按*的在字典顺序排名先输入学生信息,在一级菜单项选择择排名,在二级菜单项选择择该功能,可以选择是否继续图查询学生成绩按*查询学生排名及

24、其考试成绩测试输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按*查询学生排名及其考试成绩,输入要查询的*,则功能完成,然后可选择是否继续实现其他功能。图按*查询学生排名及其考试成绩测试输入成绩后,在菜单界面选择查询功能进入二级菜单,选择按*查询学生排名及其考试成绩,输入要查询的*,则功能完成,然后可选择是否继续实现其他功能。图学生成绩统计各等级学生的百分比先输入学生信息,在一级菜单项选择择统计进入该功能,可以选择是否继续图学生信息的输入输出输出每个学生的*、*、各科考试成绩,以及每门课程的总分和平均分测试输入学生个人信息后,进入菜单项选择择界面,选择菜单代码1,则完成此功能。选择是否继续

25、,进展其他操作。图4.2.6.将每个学生的记录信息写入文件测试输入学生个人信息后,进入菜单项选择择界面,选择菜单代码2,则完成此功能。选择是否继续,进展其他操作。图从文件中读出每个学生的记录信息并显示测试输入学生个人信息后,进入菜单项选择择界面,选择菜单代码3,则完成此功能。选择是否继续,进展其他操作。图5 课程设计遇到的问题及解决方法1在建立二级菜单是定义错误问题内容:在switch选择语句中定义变量,导致程序出错;问题分析:switch选择语句中不能定义变量;解决方法:重新定义变量在switch选择语句前,同时修改二级菜单项选择择的变量与一级菜单项选择择的变量不同。2输出统计成绩百分比时错

26、误问题内容:将第一门成绩输出错误,而后面课程的成绩百分比变为前一门成绩的百分比问题分析:学生成绩与*的混淆,系统错将*为学生成绩;解决方法:修改学生成绩的输出方式,将循环输出是定义的j=0改为j=1,输出的j3改为j4。6 课程设计总结在完毕了一个学年的C语言学习后,在下学期完毕后我们迎来了为期一周的C语言程序设计的实训,尝试去编辑一个比以前复杂而且较长的程序。在和同学讨论、分工合作,终于做出了这个让我们满意的成果。短短的一个星期的设计让我有了和以前的不一样的感受。以前做的程序短小而且内容少,就一两个知识点。而这次的程序整整结合一个学年所学到知识,要在其中选择最好最方便的方法。通过C语言实训,

27、让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经历,有些错误可以很快就看出来。对于这次的实训,我有很大的收获,对于C语言有了更深度的了解,平时在课堂上学习的理论知识可以转化为一些实际的技能。但一个程序出错时,会去仔细的观察,思考,找出程序的错误点并修改;但程序成功运行时会有一种自豪感。通过短短的几天,我认识到了我以前学习的缺乏之处,处在的问题,在教师和同学的帮助下去改正。我相信这将是我学习

28、C语言中的一个里程碑,它将促进我以后的学习。参考文献1. 吉顺如,陶恂,曾祥绪.C程序设计教程与实验.清华大学.20112. 吉顺如,计春雷.C程序设计习题集与课程设计指导.电子工业.20123. 程序设计语言. 百度百科.baike.baidu./view/128511.htmfr=aladdin附录源代码#include #include #include #define NUM_N 30 #define N 100 #define SCORE_N 7 #define COURSE_N 6typedef struct student /*声明一个构造体模板STUDENT*/ char na

29、meNUM_N; int scoreSCORE_N; float averstudent; STUDENT; int Input(STUDENT stu,int n); /*函数原型声明*/ int Refernum(STUDENT stu,int n); int Refername(STUDENT stu,int n); void Print(STUDENT stu,int n); void High(STUDENT stu,STUDENT b,int n); void Down(STUDENT stu,STUDENT b,int n); void Score(STUDENT stu,STU

30、DENT b,int n); void SortString(STUDENT stu,STUDENT b,int n); void Sum(STUDENT stu,int n,int coursesum); void Count(STUDENT stu,int n); void Printf(STUDENT stu,int n,float avercourse,int coursesum); void Average(STUDENT stu,int n,float avercourse,int coursesum); void Writetofile(STUDENT stu,FILE *fp,

31、int n); void Readfromfile(FILE *fp,int n); void main() int coursesumCOURSE_N=0,countNUM_NCOURSE_N=0; float avercourseNUM_N; int i,j,p,n,op,r=0,m; char answer=Y; FILE *fp; STUDENT stuNUM_N; STUDENT bNUM_N; menu:; system(cls); printf( *欢送使用学生成绩管理系统*n); printf(n); printf( 欢送使用如下菜单n); printf(n); printf(

32、 1.录入每个学生的*、*、各科考试成绩n); printf( 2.计算成绩n); printf( 3.排名n); printf( 4.查询n); printf( 5.统计n); printf( 6.输入输出n); printf( 0.退出n); printf(n); choose:; printf(请输入你的选择:n); scanf(%d,&op); if(op!=1&op!=13&r=0) printf(请先输入*、*、各科成绩!); r+; goto choose; else r+; goto start; do answer=N; printf(请输入你的选择:n); scanf(%d

33、,&op); start:; switch(op) case 1: n=Input(stu,n);break; /*调用Input函数*/ case 2: printf(1.计算每门课程的总分和平均分n);printf(2.计算每个学生的总分和平均分n);printf(请输入你的选择:n); scanf(%d,&m); switch(m)case 1: printf(计算每门课程的总分和平均分n); /*调用Sum和Average函数*/ Sum(stu,n,coursesum); for(i=0;i3;i+) printf(课程%d总分=%dn,i,coursesumi); Average(

34、stu,n,avercourse,coursesum); for(i=0;i3;i+) printf(课程%d平均分=%fn,i,avercoursei); break; case 2: printf(计算每个学生的总分和平均分n); /*调用Sum和Average函数*/ Sum(stu,n,coursesum); for(i=0;in;i+) printf(学生%d总分=%dn,i+1,stui.score4); Average(stu,n,avercourse,coursesum); for(i=0;in;i+) printf(学生%d平均分=%fn,i+1,stui.averstude

35、nt); break;break; case 3: printf(1.按每个学生的总分由高到低排知名次表n); printf(2.按每个学生的总分由低到高排知名次表n);printf(3.按*由小到大排出成绩表n);printf(4.按*的字典顺序排出成绩表n);printf(请输入你的选择:n); scanf(%d,&m);switch(m)case 1: printf(按每个学生的总分由高到低排知名次表n); /*调用Sum、High函数*/ Sum(stu,n,coursesum); High(stu,b,n); Print(stu,n); break; case 2: printf(按

36、每个学生的总分由低到高排知名次表n); /*调用Sum、Down函数*/ Sum(stu,n,coursesum); Down(stu,b,n); Print(stu,n); break; case 3:printf(按*由小到大排出成绩表n); /*调用Score函数*/ Score(stu,b,n); Print(stu,n); break; case 4: printf(按*的字典顺序排出成绩表n); /*调用Sum、SortString函数*/ Sum(stu,n,coursesum); SortString(stu,b,n); printf(*物理数学英语总分n); for(i=0;

37、in;i+) puts(); for(j=0;j5;j+) printf(%6ld,stui.scorej); printf(n); break;break; case 4: printf(1.按*查询学生排名及其考试成绩n); printf(2.按*查询学生排名及其考试成绩n); printf(请输入你的选择:n); scanf(%d,&m); switch(m) case 1: Sum(stu,n,coursesum); /*调用Sum、High和Refernum函数*/ High(stu,b,n); printf(按*查询学生排名及其考试成绩n); i=Refernum

38、(stu,n); if(i!=-1) printf(*物理数学英语总分名次n); for(j=0;j5;j+) printf(%6ld,stui.scorej); printf(%6ldn,i+1); else printf(查无此人n); break; case 2: printf(按*查询学生排名及其考试成绩n); /*调用Sum、High和Refername函数*/ Sum(stu,n,coursesum); High(stu,b,n); i=Refername(stu,n); if(i!=-1) printf(*物理数学英语总分名次n); printf(%s,); f

39、or(j=0;j30) printf(人数应小于30n); printf(总人数:n); scanf(%d,&n); printf(*物理数学英语n); for(i=0;in;i+) scanf(%s %d %d %d %d,&,&stui.score0,&stui.score1,&stui.score2,&stui.score3); return(n); void Print(STUDENT stu,int n) /*输出函数*/ int i,j; printf(*物理数学英语总分n); for(i=0;in;i+) printf(%s,); for(j=

40、0;j5;j+) printf(%6ld,stui.scorej); printf(n); void Sum(STUDENT stu,int n,int coursesum) /*计算成绩总和*/ int i,j; for(j=1;j4;j+) /*计算每门课程成绩总和*/ coursesumj-1=0; for(i=0;in;i+) coursesumj-1=coursesumj-1+stui.scorej; for(i=0;in;i+) /*计算每个学生成绩总和*/ stui.score4=0; for(j=1;j4;j+) stui.score4=stui.score4+stui.sco

41、rej; void Average(STUDENT stu,int n,float avercourse,int coursesum) /*计算平均分数*/ int i; for (i=0;i3;i+) avercoursei=(float)coursesumi/n; /*计算每门课程平均分*/*强制类型转换*/ stui.averstudent=(float)stui.score4/3; /*计算每个学生平均分*/*强制类型转换*/ void High(STUDENT stu,STUDENT b,int n) /*按总分由高到低排列*/ int i,s=0; do for(i=0;in-1;

42、i+) if (stui.score4stui+1.score4) bi=stui; stui=stui+1; stui+1=bi; s+; while(sn); void Down(STUDENT stu,STUDENT b,int n) /*按学生成绩由低到高排列*/ int i,s=0; do for(i=0;istui+1.score4) bi=stui; stui=stui+1; stui+1=bi; s+; while(sn); void Score(STUDENT stu,STUDENT b,int n) /*按*由小到大排列*/ int i,s=0; do for(i=0;is

43、tui+1.score0) bi=stui; stui=stui+1; stui+1=bi; s+; while(sn); void SortString(STUDENT stu,STUDENT b,int n) /*按*的字典顺序排出成绩表*/ int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strcmp(,)0) bi=stui; stui=stui+1; stui+1=bi; int Refernum(STUDENT stu,int n) /*按*查询学生排名及其各科考试成绩*/ int i=0,t,num1

44、; printf(请输入所要查询的*:); scanf(%d,&num1); do if(i=n) if(stui.score0=num1) return i; t=1; else t=0; i+; else t=1; return -1; while(t=0); int Refername(STUDENT stu,int n) /*按*查询学生排名及其各科考试成绩*/ int i=0,j,t; char prtNUM_N; printf(请输入需要查找的*n); scanf(%c,&j); gets(prt); do if(i=n) if(strcmp(,prt)=0) r

45、eturn i; t=1; else t=0; i+; else t=1; return -1; while(t=0); void Count(STUDENT stu,int n) /*按优秀、良好、中等、及格、不及格对每门课程分别统计人数及其所占百分比*/ int i,j,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,grade; double n1,n2,n3,n4,n5; for(j=1;j4;j+) for(i=0;in;i+) grade=stui.scorej/10; switch (grade) case 10: case 9: sum1= sum1+1; break; case 8: sum2= sum2+1; break; case 7:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论