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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生成绩管理系统Word文件下载.docx

1、 3.1 文件合并3.2 自动检索3.3 数据排序43.4 信息查询54、调试分析和测试结果75、总结126、致谢137、附录14参考文献201、需求分析1.1课程设计题目及要求题目:现有学生成绩信息文件1(1.txt),内容如下姓名 学号 语文 数学 英语 张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47. . . . 学生成绩信息文件2(2.txt),内容如下:陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35

2、47 58 77试编写一管理系统,要求如下:1、 实现对两个文件数据进行合并,生成新文件3.txt2、 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3、 对合并后的文件3.txt中的数据按总分降序排序4、 输入一个学生姓名后,能查找到此学生的信息并输出结果5、 要求使用结构体,链或数组等实现上述要求.采用多种方法且算法正确者,可适当加分.1.2课程设计思想本课题的实质是完成对学生成绩表的合并、提取、排序查询等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。可将此系统分为如下模块,合并两个信息表、从表中提

3、取信息、降序排序模块、按条件查询、退出系统。2、概要设计(1)总体方案(2)流程3、详细设计 3.1 文件合并已知:文件1.txt、文件2.txt、id、name、chinese、math、english。求:调用函数来实现 1.txt和2.txt合并为新生成文件3.txt算法:1.函数以读的方式打开1.txt文件和2.txt文件,以写的方式打开3.txt文件; 2.从1.txt读入一个数据并写入3.txt文件,直到遇到1.txt文件结束; 3.用上述方式把数据写入3.txt直到遇到2.txt文件结束; 4.关闭1.txt,2.txt,3.txt文件,实现对于文件的合并。核心程序:void U

4、nitedfile() /*合并1.txt和2.txt为3.txt*/ FILE *fp,*p; Student studd; fp=fopen(1.txt,r); /*以读的方式打开1.txt*/ p=fopen(3.txtw /*以写的方式打开3.txt*/ fscanf(fp,%*n%*c /*跳过一行字符串*/ fprintf(p,姓名 学号 语文 数学 英语 n while(fscanf(fp,%s%d%d%d%d,studd.name,&studd.id,&studd.chinese,&studd.math,&studd.english )!=EOF) fprintf(p,%-6s

5、 %2d %d %d %dn,studd.name,studd.id,studd.chinese,studd.math,studd.english ); /*读取1.txt的数据进入结构体中,写入3.txt,继续读取直结束*/ fclose(fp); /*关闭文件1.txt*/2.txt /*以写的方式打开2.txt*/ fprintf(p, /*读取2.txt的数据进入结构体中,写入3.txt,继续读取直结束*/ /*关闭文件2.txt*/ fclose(p); /*关闭文件3.txt*/3.2 自动检索文件3.txt、id、name、chinese、math、english。chinese

6、、math、english中小于60的成绩,并显示名字、学号。1.读取3.txt; 2.创建4.txt;3.读取3.txt里面的成绩,应用studd.chinese60|stud.english60|stud.math60找出不及格的成绩; 4.将不及格成绩写入4.txt; 5.关闭3.txt;4.txt。void findout() /*抽取出三科成绩中有补考的学生并保存在一个新文件4.txt*/ /*以读的方式打开3.txt*/4.txt /*以写的方式打开4.txt*/姓名 学号 语文 数学 英语n if(studd.chinese60|studd.english60|studd.mat

7、h60) /*从3.txt中读入学生数据进结构体,判断是否有不及格的课程,如果有,则写入文件4.txt中*/ /*关闭文件4.txt*/3.3 数据排序文件3txt 、id、name、chinese、math、english。各个学生的总分并按照降序排序 2.求出文件3.txt各个学生的总分; 3.用选择排序的方法将学生的总分进行排序; 4.关闭文件3.txt。void Selectsort() /*对合并后的文件3.txt中的数据按总分降序排序*/ int j,k,max1,sum1,sum2,q; i=0; Student temp; FILE *fp;,studi.name,&studi

8、.id,&studi.chinese,&studi.math,&studi.english )! i+; /*从3.txt中读入数据进结构体数组stud中*/ for(j=0;ji;j+) /*对结构体数组中的数据进行选择排序*/ /*每趟是选出一个最值确定其在结果序列中的位置,确定元素的位置是从前往后,而每趟最多进行一次交换,其余元素的相对位置不变。可进行降序排序*/ max1=j; sum1=studj.math+studj.english+studj.chinese; for(k=j+1;ki+1;k+) sum2=studk.math+studk.english+studk.chine

9、se; if(sum1sum2) max1=k; sum1=sum2; if(max1!=j) temp=studmax1; studmax1=studj; studj=temp; studj.sum=sum1; /*将排序后的数据写入3.txt中*/ fprintf(fp,姓名 学号 语文 数学 英语 总分n for(q=0;qNAME;%s%d%d%d%d%d,stud1.name,&stud1.id,&stud1.chinese,&stud1.math,&stud1.english,&stud1.sum )! if(strcmp(stud1.name,NAME)=0) /*如果输入的姓名

10、达到要求*/ /*输出显示其相对应的信息*/ flag=1; cout-姓名-学号-语文-数学-英语-总分-endl; stud1.namestud1.id;stud1.chinesestud1.mathstud1.englishstud1.sum break; if(flag=0) cout无此学生相关信息 /*如无法找到,则显示*/4、调试分析和测试结果系统各功能的运行时界面及使用说明:(1)建立两个文本文件1.txt、2.txt图4.1 1.txt图4.2 2.txt(2)主菜单界面图4.3 主菜单界面(3)输入1合并1.txt和2.txt生成3.txt图4.4图4.5 3.txt(4)

11、输入2抽取出三科成绩中有补考的学生并保存在新文件4.txt中图4.6图4.7 4.txt(5)输入3,对合并后的文件3.txt中的数据进行排序图4.8图4.9 排序后的3.txt(6)输入4,再输入所要查找学生的姓名进行查找图4.10(7)继续查找就输入Y否则就输入N5、总结通过这次课程设计使我对数据结构这门课程有了更深的认识和理解,也使我更加明白一门编程语言在软件开发中的重要性和地位。课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因

12、此作为二十一世纪的大学来说掌握程序开发技术是十分重要的。这几天的课程设计学习使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我把前面所学过的知识又重新温故了一遍。我做的是学生成绩管理系统的课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。因为对数据结构不是很会,所以做了一个下午却丝毫没有进

13、展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多功能上的欠缺和漏洞,可我还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习数据结构的一次实践作业,自己进步的证明。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现

14、这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!6、致谢因为初次接触数据结构课程设计和基础不扎实的原因,在此次课程设计中我遇到了许多问题,我深刻体会到合作的重要性, 数据结构程序对我来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在同学的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除万难把程序搞定,体会到原来编程也挺有意思的快感.我想没有同学的帮助仅靠我自己是很难在短期内把程序设计做的这样好,在此特地感谢我的小组成员的帮助。8、附录程序源码#includeusing namespace std;#define SIZE 100 /*存放学生数据的结构体*/typedef struct char name10; int id; int chinese; int math; int english; int sum;Student;Student studSIZE;int i;int sign=0,sign1=0,sign2=0,sign3=0; /*每趟是选出一个最值确定其在结果序列中的位置,确定元素的位置是从前往

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

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