欢迎来到天天文库
浏览记录
ID:37764364
大小:45.50 KB
页数:8页
时间:2019-05-30
《成绩统计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编号:11河北工业大学计算机软件技术基础(VC)201年课程设计报告学院班级姓名学号成绩____一、题目:成绩统计二、设计思路1、总体设计1)分析程序的功能本程序是一个学生成绩统计系统。主要包括学生分数求和、各分数段的人数及百分比、以及按照总分由高到低输出学生信息。学生分数求和:首先由使用者输入一批学生某门课程考试的各题的分数,然后计算每个人的总分。各分数段的人数及百分比:各分数段的人数及百分比,统计各分数段0~49,50~59,60~69,70~79,80~89,90~100的人数及占总人数的百分比。按照总分由高到低输出学生信息:
2、学生的信息按总分排名输出。成绩统计界面如下:---------成绩统计--------请输入总题数:请输入学生信息:请输入该学生单题得分:请输入该学生单题得分:请输入该学生单题得分:请输入该学生单题得分:总分:2)系统总体结构:1.确定总题数2.输入学生信息3.输入学生各题分数4.总和各学生总分第8页共8页编号:111.统计各分数段的人数及百分比2.根据各学生的总分,对他们的信息进行排序3.输出学科情况。4.输出排序后的学生信息。模块函数名称输入学生信息Information输入各题分数Score总分数Sum该分数段人数Quanti
3、ty百分比Percent学生总分排序Sort1、各功能模块的设计:说明各功能模块的实现方法1)Information模块首先利用结构体把学生的信息汇集到一起,使得程序可以方便的处理后边的复杂数据。先是日期的结构体,把年、月、日汇总。然后是学生信息的结构体,把课程名称,考试时间,班号,学生姓名,学号,及学生课题的成绩新近汇总。代码参见结构体2)Score模块通过设计一个函数,输入学生各题分数。利用for循环语句对各题分数进行输入3)Sum模块利用循环语句对学生的信息进行输入,并计算总分。因为学生数量较多,因此用了数组,对于数组的输入,
4、需要运用循环语句。4)Quantity和Percent模块利用if与循环语句,对各分数段人数进行统计,在分数段内,则对应的分数段+1,最后再通过计算求出百分比。如果学生的总分在90~100之间,则a+1,若在80~89之间,则b+1,若在70~79之间,则c+1,若在60~69之间,则d+1,若在50~59之间,则e+1,若在0~79之间,则f+1。最后根据统计后的人数来求所占总人数的比例。5)Sort模块该函数利用冒泡法,对学生的总分进行比较,如果没有函数,输出的结果则只是总分的排序改变了,而学生的其他信息没有随着改变,此处利用函
5、数,可以在对总分进行比较排序的时候,使学生的其他信息随着总分一起进行排序,保证了每个学生的信息的完整。6)输入学科情况首先输出的是学生的课程名称,考试日期,班级号码,各阶段的人数及所占总人数的百分比。第8页共8页编号:111)排序后的学生情况因为学生信息是数组,所以输出学习成绩时,需要用循环语句。2)创新部分2、设计中主要的困难和解决方案①在进行按总分排序的时候,似乎只有总分排序了,而其他数据没有跟着总分一块调整顺序,后来引用了函数,各个学生的信息随着总分的变化一起变化。②在计算百分比是,用的定义是double,而double会把小
6、数点后的数约掉,因此最后总是0%,改进的是先*100再除以总人数,这样便可以求出百分比了。3、所设计的程序最终完成的功能1)说明编制的程序能完成的功能能够由用户输入30个学生各题成绩,然后对成绩进行总和,2)准备的测试数据及运行结果因30个数据过多,因此取2个学生的成绩来做测试。第8页共8页编号:11一、程序清单1结构体//结构体声明structworktime{intyear;intmonth;intday;};structstudent{charsubject[20];worktimewt;intclassnum;charnam
7、e[20];intnum;ints[100];intsum;};2.Sort函数//函数原型说明voidsort(studentstu[],intn);sort(stu,30);//调用排序函数voidsort(studentstu[],intn)//排序函数定义{studenttemp;for(inti=0;i8、:113.Main函数//主函数voidmain(){inta=0,b=0,c=0,d=0,e=0,f=0,N;doubleu=0.00,v=0.00,w=0.00,x=0.00,y=0.00,z=0.00;studentstu[30
8、:113.Main函数//主函数voidmain(){inta=0,b=0,c=0,d=0,e=0,f=0,N;doubleu=0.00,v=0.00,w=0.00,x=0.00,y=0.00,z=0.00;studentstu[30
此文档下载收益归作者所有