ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:26.64KB ,
资源ID:8544500      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8544500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统课程设计.docx

1、学生成绩管理系统课程设计课程:学号:姓名:班级:教师:时间:课程设计报告(本科)数据结构19/31 /64程徐/章燕芳/江淑芬2013级计算机科学与技术(嵌入式)史君华2014.12.1 2014.12.30计算机科学与技术系设计名称:成绩分析问题设计内容、目的与要求:1.设计内容:录入并保存一个班级学生多门课程的成绩,并对成绩进行分析。2.目的与要求:a) 通过键盘输入各学生的多门课程的成绩,建立相应的文件 in put.dat 。b) 对文件input.dat中的数据进行处理,要求具有如下功能:按各门课程成绩 排序,并生成相应的文件输出;计算每个人的平均成绩,按平均成绩排序,并生成文件;求

2、出各门课程的平均成绩、最高分、最低分、不及格人数、 6069分人数、7079分人数、8089分人数、90分以上人数;根据姓名或学号查询某人的 各门课成绩。c) 使用Visual C+ 6.0 控制台应用程序开发,界面美观。计划与进度安排:计划:1.首先明确设计要求和理论知识,了解题目的大致思路。2.上网或者去图书馆搜集资料,对题目进行编写。3.对程序进行调试和修改,并分析运行结果。 进度安排:1.12月1日-12月10日:程徐从图书馆借阅了有关数据结构方面的书,研究所 给条件,分析该系统应该达到的目标;章燕芳复习结构体,数组等相关知识,江 淑芬上网搜索类似题目的解题思想。2.12月11日-12

3、月20日:大家共同讨论算法思路,编写程序并进行上机调试程 序,并分析该程序实现的功能。,3.12月21日-12月25日:大家根据运行的结果,完善程序,填写课程设计报告 册,准备验收。设计过程、步骤:设计过程:1.程序结构的分析:2.函数功能的描述:subject。函数:选择某个学科,分析与他有关的所有数据。例如本题的各科的平 均成绩、最高分、最低分等studentave()函数:求每个学的平均成绩并且按平均成绩排序。 nosearch()函数:按学号查找某个学生。namesearch()函数:按姓名查找某个学生。cunchu()函数:把数据存到 C盘RJ下的input.dat 中。duqu()

4、函数:从C盘RJ下的input.dat 中读取数据。步骤:首先定义student结构体,再定义结构体成员,其中字符型数组 name20和no10分别来存实验数据中的姓名和学号,另外定义整型变量 math、english、 computer分别存储各科成绩。再定义存储函数cunchu()和读取函数duqu()这两个函数分别通过运用文件存储 函数fwrite和文件读取函数fread来实现将数据存入指定路径,以及从指定路 径读取数据,并显示在显示屏上。通过构造函数 subject ()来实现对各科成绩的分析,studentave() 来对个人成绩进行分析, nosearch()和 namesearc

5、h()来实现按条件查找不同的学生信息。最后在主函数中输入实验数据,并通过调用各个函数来实现实验要求。结果与分析:1.选择运行后出现如下界面:2.输入1即为对数学成绩的分析3.输入2即为对英语成绩的分析:4.输入3即为对计算机成绩的分析:5.个人平均成绩的分析:6.输入要找的学号和姓名之后:7.输入不存在的学号的分析:设计体会与建议:程徐:接近一个月的课程设计在紧张而忙碌的氛围中度过了。在这段时间里, 我不但对课本上的知识有了更深刻的理解,还学到了平时课堂上学不到的知识, 使我对计算机有了更深刻的认识。首先,我掌握了成绩分析程序的判断和设计, 使自己的主动学习能力得到提高。虽然在刚开始设计程序的

6、过程中没有太多的思 路,但是通过图书馆,上网查阅资料也是自己得到了解决问题的办法。在调试程 序的过程中尽管存在一些错误,但是通过翻阅课本,熟识课本上的相关知识,使 得设计方案中发现的问题得到解决并成功实现系统所需要的功能, 那种成就感使我忘记了这些天的辛苦。我学到了很多知识, 熟识了很多程序代码,也认识到自 己的基础知识不是很丰富。时间虽短,我却收获丰富,不单单是对于知识的收获, 还夹杂着同学们互帮互助的精神和合作的精神。总之,这次课程设计给了我们一 次应用自己所学知识的机会,使我们对数据结构这门课程有了更深刻的认识。 对 于我们而言,知识上的收获是喜悦的,但是更重要的是要互帮互助,多请教别人

7、, 虚心求问是我们今后在学习过程中需要注意的地方。 通过本次实验,我学会了利 用综合学过的知识对于问题进行编程, 是一次很好的实践,也为今后的学习奠定 了良好的基础,是对自己综合能力的一种提高。章燕芳:在这次课程设计报告的完成过程中,我充分地体会到合作的必要性。 我们都在尽自己最大的能力去完成这次课程设计报告, 过程难免艰苦,特别是编译时,出现错误时,当时真的是手足无措,三个人在机房讨论再修改,错误克服 了,到运行时又不能达到预期的效果,就是查找时不能按照要求来实现,然后又 一起研究了好久,问问老师,问问学长,热心的他们帮我们解决了最大的问题, 程序成功运行了,很有成就感。在面对困难的时候,我

8、们还是一如既往的去专研, 上网搜索,在图书馆查询资料。可以说这次实践是一个很锻炼人的机会,结果或 好或坏,过程更加珍贵。江淑芬:本次的数据结构课程设计针对具体的实际项目来进行需求分析, 从中我收获了很多。经过一周的课程设计,有很多的心得体会。首先,在编写函数之 前要充分利用图书资源和网络资源, 应该更详细的考虑实际情况,才能使程序更 切合实际,更具有实用性;更多的我想应该是组员之间的合作精神吧!通过这次 课程设计练习,使我更深刻地理解了数据结构重要存储结构的的精髓。完成整个 程序设计,我加深了对数据结构的理解和认识, 并在完成课程设计的过程作主动 查阅了相关资料,学到了不少课本上没有的技术知识

9、。经过这次课程设计,我深 刻认识到算法在程序设计中的重要性, 特别是怎样将理论与实践相结合, 把书本 上的的内容应用到我们做的程序上。其次我熟悉了数据结构的知识学会了很多关 于程序设计的经验和技巧。知道如何在困难重重时一步一步细心发现问题,解决 问题。我们从中学到很多在课本上学不到或者无法在课堂上掌握的知识, 同时也能从中感受到编程的乐趣。兴趣是可以培养的,只要坚持下去,面对困难我们总 能够找到解决法。通过小组的分工与合作,使我充分认识到在项目团队开发过程 中合作的重要性,也更加理解了沟通协作能力在行业中的重要性。建议:由于一个人的力量是有限的,我们应该虚心求教,多多利用可利用的资 源,不懂的

10、地方可以去图书馆查阅资料,或者上网搜索自己有困扰的地方。附录:程序源代码:#i nclude #include #i nclude #defi ne N 7struct stude ntchar n o10; 学号char name20;/姓名int math;/数学分数in t en glish;/ 英语分数in t computer;/计算机分数int score;/交换用分数int eveave;/个 人平均分;struct stude nt stN; /定义学生结构体void subject(stude nt st,i nt n)选定某个学科进行分析 int nu mber;int t

11、emp;printf( 请选择要分析的学科:);sca nf(%d,&n umber);int i=0;switch(number) case 1:prin tf( 以下是关于数学的成绩分析: n);for(i=0;in;i+)sti.score=sti.math;break;case 2:prin tf( 以下是关于英语的成绩分析: n);for(i=0;in;i+)sti.score=sti.english;break;case 3:printf(” 以下是关于计算机成绩分析: n);for(i=0;in;i+)sti.score=puter;break;int j;printf( 按学号

12、每个人的原始数据为 :n);for(i=0;in;i+)printf( %dn,sti.score);printf( 排序后的数据为 n);for(i=0;in-1;i+)for(j=0;jn-i;j+)if(stj+1.scorestj.score)temp=stj.score;stj.score=stj+1.score;stj+1.score=temp; for(i=0;in;i+)printf( %dn,sti.score);printf( 该门课的平均成绩为: n);float sum=0;float courseave;for(i=0;in;i+)sum=sum+sti.score;

13、 courseave=sum/7;printf( %fn,courseave);printf( 该门课的最高分为: n);int max=st0.score; for(i=0;imax)max=sti.score;printf( %dn,max);/ 最高分printf( 该门课的最低分为: n);int min=st0.score; for(i=0;in;i+)if(sti.scoremin) min=sti.score;printf( %dn,min);/ 最低分int bjg=0;int jg=0;int zd=0;int lh=0;int yx=0; for(i=0;in;i+)if(

14、sti.score=60&sti.score=70&sti.score=80&sti.score=90)/ 计算 90 分以上人数void stude ntave(stude nt st,i nt n)/计算每个人的平均成绩并排序%dn 6069 %dn 8089 人 %dn,bjg,jg,zd,lh,yx);int i;int temp;for(i=0;in;i+) sti.eveave=(sti.math+sti.english+puter)/4;printf( 每个人平均成绩为: n);for(i=0;in;i+)printf( %dn,sti.eveave);for(i=0;in-1;

15、i+)for(int j=0;jstj+1.eveave)temp=stj.eveave;stj.eveave=stj+1.eveave; stj+1.eveave=temp;printf( 平均成绩排序为: n);for(i=0;in;i+)printf( %dn,sti.eveave);void nosearch(stude nt st,i nt n)/按学号查找学生的各门成绩int i=0;n=7;char no10;printf( 请输入要查找的学生号 :);scanf(%s,&no);while(strcmp(no,sti.no)!=0&in)i+;if(i=n)printf( me

16、izhaodaon);elseprintf( %st%st%dt%dt%dn,sti.no,sti.name,sti.math,sti.englis h,puter);void namesearch(stude nt st,i nt n)/按姓名查找学生的各门成绩int i=0;n=7;char name20;printf( 请输入要查找的姓名 :);scanf(%s,&name);while(strcmp(name,sti.name)!=0&i7)i+;if(i=n)printf( meizhaodaon);elseprintf( %st%st%dt%dt%dn,sti.no,sti.nam

17、e,sti.math,sti.english,puter);void cunchu(student st,int n) /存盘int i;FILE *fp;fp=fopen(C:RJinput.dat,wb);/ 以写方式打开一个二进制文件 if(fp=NULL)printf(Cant open!n);exit(0);for(i=0;in;i+)fwrite(&sti,sizeof(struct student),1,fp); 一次写入一个学生的成绩fclose(fp);void duqu(student st,int n) / 读取数据int i;FILE *fp;fp=fopen(C:RJ

18、input.dat,rb);/ 以读 方式打开一个二进制文件 if(fp=NULL)printf(Cant open!n);exit(0);for(i=0;i7;i+)fread(&st0,sizeof(struct stude nt),1,fp); 一 次读取一个学生的成绩printf( %st%st%dt%dt%dn,sti.no,sti.name,sti.math,sti.english,puter);fclose(fp);void main()struct student st7= 001, 王放,78,77,90,002, 张强,89,67,88, 003, 李浩,56,66,78,

19、 004, 黄鹂兵 ,89,86,85, 005, 李浩,67,88,76, 006, 陈利风 ,45,54,67, 007, 尚晓,78,76,70;prin tf( 本题的实验数据为数据: n);cunchu(st,7);/存盘 input.datduqu(st,7);读取数据prin tf( 对各科的成绩分析如下: n);printf( 本实验采取switch()语句,分别13中的表示不同的学科n输入 1 表示计算关于数学方面的成绩; n 输入 2表示计算关于英语方面的成绩;n 输入3表示计算关于计算机方面的成绩;n);subject(st,7);/按各科成绩排序subject(st,7);/按各科成绩排序subject(st,7);/按各科成绩排序printf(” 关于个人平均成绩分析: n);stude ntave(st,7);/计算每个人的平均成绩并排序prin tf( 按照不同条件查询分析: n);n osearch(st,7);/按学号查找学生的各门成绩 namesearch(st,7);按姓名查找学生的各门成绩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1