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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生成绩信息管理系统课程设计报告毕设论文.docx

1、学生成绩信息管理系统课程设计报告毕设论文滁州学院课程设计报告课程名称: 数据结构 设计题目: 学生成绩信息管理系统 系 别: 计算机科学与技术 专 业: 计算机科学与技术 组 别: 第四组 起止日期: 11年5 月 20日 11年 6 月20 日 指导教师: 杨 斌 总体要求: 格式很不符合要求,请参照模板计算机科学与技术系二0一一年制目 录一、引言 11.1、课程简介 11.2、课程设计的背景 11.3、课程设计的内容: 11.3.1、题目 11.3.2、要求 11.3.3、该功能的描述 3二、需求分析 32.1、课程设计的题目 32.2、课程设计任务 32.3、课程设计要求 32.4、课程

2、设计思想 32.5、软硬件运行环境 42.6、开发工具 4三、概要设计 43.1、课程设计图 43.2、课程设计中的数据结构 53.3、完成本课程设计所用的方法及原理 6四、详细设计 64.1、程序源代码 6五、调试及操作说明 175.1、成绩的合并后输出 17图(二)、降序排列成绩 175.1.1、成绩的降序输出 175.1.2、成绩的升序输出 185.1.3、不及格成绩学生的信息: 195.1.4、查找某个学生的成绩: 205.1.5、课件的价值 205.1.6、参考文献 20六、课程设计总结与体会 21七、组员总结 21“图(二)、降序排列成绩图”不要放在目录里,整体字体不对,。,请按第

3、三组的格式认真修改和模板的格式认真修改!一、引言1.1、课程简介当今社会,计算机技术和通信技术已经不断发展,处理和传输的数据量越来越庞大。文本文件存储的方式是普通人熟悉的数据管理的方式,我们要做的就是在文本中读取数据,在程序中处理数据,生成新的数据再保留在文本文档中,供其他人应用。1.2、课程设计的背景课程设计是为了让同学们了解学习数据结构的作用和意义。数据结构是计算机科学与技术专业的专业基础课。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,想要更好地运用计算机来解决实际问题,仅仅掌握几门计算机程序设计语言是远远难以应付当前众多复杂的课题,想要有效地使用计算机,充分发挥它的性

4、能,还必须学习和掌握好数据结构的有关知识,打好数据结构这门课的基础,对于学习计算机专业其它的课程,如操作系统、软件工程、编译原理、数据库、人工智能等十分有益。1.3、课程设计的内容:1.3.1、题目学生成绩管理系统 1.3.2、要求现有学生成绩信息文件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

5、68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77. . . .(文件内容可根据测试要求,自行制定)试编写一个管理系统,要求如下:1)、实现对两个文件数据进行合并,生成新文件3.txt2)、抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3)、对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4)、输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5)、要求使用结构体,链或数组等实现上述要求.采用多种方法且算法正确者,可适当加分.1.3.3、该功能的描述1)、对学生的姓名、学号和各科成绩的录

6、入;2)、基本信息的查询;3)、对每位同学的成绩进行分析,并对成绩进行降序排序;二、需求分析2.1、课程设计的题目 对学生成绩的管理。2.2、课程设计任务 设计一个程序实现对学生成绩的分析并进行降序处理。2.3、课程设计要求 要求使用结构体,链表或数组等实现学生成绩的查询、分类和降序排序。2.4、课程设计思想 利用文件对学生成绩等基本信息进行保存,并将其中的两文件合并成一个,生成新的文件;学生成绩的分析,将应补考的同学的基本信息保存在另一个文件中;利用合并进行降序。2.5、软硬件运行环境Microsoft Windows XP 版本2002 Service Pack 3或以上版本Microso

7、ft Windows 7 旗舰版2.6、开发工具 Microsoft Visual C+6.0三、概要设计3.1、课程设计图结束图(一)、分工图3.2、课程设计中的数据结构typedef struct data char name10; int Xhao; int china; int math; int english; int sum;Data;3.3、完成本课程设计所用的方法及原理利用文件对学生成绩等基本信息进行保存,并将其中的两文件合并成一个,生成新的文件;对学生成绩的分析,将应补考的同学的基本信息保存在另一个文件中;利用合并进行降序。四、详细设计4.1、程序源代码#include#i

8、nclude#include/为了输入字符串#includetypedef struct data【1】 char name10; int Xhao; int china; int math; int english; int sum;Data;int k;/void create(Data stu) int i=0; 【1】FILE *fp1,*fp2; if(fp1=fopen(E:c语言课程设计作业t1.txt,r)=NULL) printf(FILE not found!n); exit(0); if(fp2=fopen(E:c语言课程设计作业t2.txt,r)=NULL) print

9、f(FILE not found!n); exit(0); while(!feof(fp1) fscanf(fp1,%s%d%d%d%d,stui.name,&stui.Xhao,&stui.china,&stui.math,&stui.english); stui.sum=stui.china+stui.math+stui.english; i+; ; i-; while(!feof(fp2) fscanf(fp2,%s%d%d%d%d,stui.name,&stui.Xhao,&stui.china,&stui.math,&stui.english); stui.sum=stui.chin

10、a+stui.math+stui.english; i+; ;i-;k=i; printf(学号 姓名 语文 数学 英语 总分n); for(int j=0;ji;j+) printf(%d %-5s %d %d %d %d n,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum); coutendl;/1、选择排序void hebing(Data stu) int max,jj,i; Data t; FILE *fp3; if(fp3=fopen(E:c语言课程设计作业t3.txt,w)=NULL) printf(FI

11、LE not found!n); exit(0); for(jj=0;jjk;jj+) max=jj; for(i=jj+1;ik;i+) if(stumax.sumstui.sum) t=stumax;stumax=stui;stui=t; for(int j=0;jk;j+) fprintf(fp3,%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum); printf(%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,st

12、uj.math,stuj.english,stuj.sum); /2、直接插入排序void hebing2(Data stu) int t,i; Data temp; FILE *fp5; if(fp5=fopen(E:c语言课程设计作业t5.txt,w)=NULL) printf(FILE not found!n); exit(0); for(i=2;i stu0) stut+1=stut; t=t-1; stut+1= stu0; for(int j=1;j=k;j+) fprintf(fp5,%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.ch

13、ina,stuj.math,stuj.english,stuj.sum); printf(%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum); /void bukao(Data stu) FILE *fp4; if(fp4=fopen(E:c语言课程设计作业t4.txt,w)=NULL) printf(FILE not found!n); exit(0); for(int i=0;ik;i+) if(stui.china60) fprintf(fp4,%d-%s-%d ,stu

14、i.Xhao,stui.name,stui.china); printf(%d-%s-%d ,stui.Xhao,stui.name,stui.china); fprintf(fp4,%sn,语文不及格:); printf(%sn,语文不及格:); if(stui.math60) fprintf(fp4,%d-%s-%d ,stui.Xhao,stui.name,stui.math); printf(%d-%s-%d ,stui.Xhao,stui.name,stui.math); fprintf(fp4,%sn,数学不及格:); printf(%sn,数学不及格:); if(stui.eng

15、lish60) fprintf(fp4,%d-%s-%d ,stui.Xhao,stui.name,stui.english); printf(%d-%s-%d ,stui.Xhao,stui.name,stui.english); fprintf(fp4,%sn,英语不及格:); printf(%sn,英语不及格:); /void search(Data stu) int j,flag=0; char name10; printf(输入一个学生的姓名:n); scanf(%s,name); fflush(stdin); for(int i=0;ik;i+) j=strcmp(name,stu

16、i.name); if(j=0) flag=1; printf(%d-%s-%d-%d-%d-%dn,stui.Xhao,stui.name,stui.china,stui.math,stui.english,stui.sum); if(flag=0) coutnot foundendl; /void prf() cout#*#endl; cout #*输入“1”,降序排列成绩*结果见文本文件t3*#endl; cout #*输入“2”,升序排列成绩*结果见文本文件t5*#endl; cout #*输入“3”,补考信息*结果见文本文件t4*#endl; cout #*输入“4”,查找学生信息*

17、#endl; cout #*输入“0”,结束服务*#endl;void main() int j=1; char ch; Data stu20; Data A20; prf(); cout请输入要执行的步骤(以1,2,3,4,5,0 ):endl; scanf(%c,&ch); fflush(stdin); create(stu); for(int i=0;ik;i+,j+)/构建哨兵数组【2】,实现直接插入排序 Aj=stui; while(ch!=0) switch(ch) case1: cout降序排列endl; hebing(stu); break; case2: cout升序排列en

18、dl; hebing2(A); break; case3: cout补考信息endl; bukao(stu); break; case4: printf(查找信息); search(stu); break; cout请输入要执行的步骤(以1,2,3,4,0 ):endl; ch=getchar(); fflush(stdin); 五、调试及操作说明5.1、成绩的合并后输出图(二)、降序排列成绩5.1.1、成绩的降序输出学号 姓名 语文 数学 英语 总分2 李成友 78 91 88 25732 李华明 88 90 68 2461 张明明 67 78 82 22731 陈果 57 68 82 20

19、73 张辉灿 68 82 56 20634 李明国 50 45 87 18235 陈道亮 47 58 77 1824 王露 56 45 77 1785 陈东明 67 38 47 15233 张明东 48 42 56 1465.1.2、成绩的升序输出学号 姓名 语文 数学 英语 总分33 张明东 48 42 56 1465 陈东明 67 38 47 1524 王露 56 45 77 17834 李明国 50 45 87 18235 陈道亮 47 58 77 1823 张辉灿 68 82 56 20631 陈果 57 68 82 2071 张明明 67 78 82 22732 李华明 88 90

20、68 2462 李成友 78 91 88 257图(三)、成绩的升序排列5.1.3、不及格成绩学生的信息:31-陈果-57 语文不及格:3-张辉灿-56 英语不及格:34-李明国-50 语文不及格:34-李明国-45 数学不及格:35-陈道亮-47 语文不及格:35-陈道亮-58 数学不及格:4-王露-56 语文不及格:4-王露-45 数学不及格:5-陈东明-38 数学不及格:5-陈东明-47 英语不及格:33-张明东-48 语文不及格:33-张明东-42 数学不及格:33-张明东-56 英语不及格:图(三)、不及格学生信息5.1.4、查找某个学生的成绩:图(五)、查找信息5.1.5、课件的价

21、值通过对代码的调试,可以成功的实现要求的功能,可以对需求的信息生成文本文档,便于操作者直接对学生成绩进行管理。可直观的看出学生的优越性和差距。5.1.6、参考文献何钦明。C语言程序设计。北京。高等教育出版社。2010/7版。胡学刚。数据结构(C语言版)。北京。高等教育出版社。2010/12版。六、课程设计总结与体会在课程设计中,我们组的成员分工合作。他们每个人遇到过不同程度的问题都会想着去解决去实现,当一个人解决不了的时候,团队的优越性就体现出来了。我们一起探讨,研究终于完成了这次的课程设计,虽然这只是一个小的程序,没有牵涉到什么外围的人力和物理资源。但是我们能够了解做课程设计的精髓,为以后的

22、学术报告做好铺垫。七、组员总结见附表。学生管理系统总结-第十组组长:孙大成时间过得很快,一个学期又过去了。在期末,按照老师的要求,我们一组四个人设计了一个学生管理系统。借此来考察我们的学习成绩。在设计的过程中,我编写的是将文件中的数据读取到数组中,然后对数据进行总分的直接排序算法。每个人都很认真的完成自己的那一份任务,但我遇到困难时,他们也会义无反顾的来帮助我。比如,在实现排序的过程时我不知道怎样来利用三门功课的成绩来判断学生层次问题,他们想到用数组中加入成绩总分的方式来比较。这样比较直接也很方便。我采纳了他们的意见,问题很快就迎刃而解了。编辑的过程中还有一个问题,就是当从文件中读取数据的时候

23、读到最后一行后还要继续读取下一行,计数变量就多了一个。所以我的调试总是有问题,经过我多次断点调试之后终于发现问题的所在,我成功的靠着自己的努力解决了这一难题。和他们的交流的时光很美好,这次的团队编程让我了解到了什么是团队合作,集体的智慧是个人无法达到的,而且集体的交流中充满着各种各样的乐趣,让看似有些沉闷的程序变得很有乐趣。这就是我的收获。课程设计总结与心得-第十组组员:陈凤霞这次我们小组所抽到的题目是有关学生成绩信息管理系统的安排,原以为课程设计不怎么好做,但是很幸运的是也不是太难,经过本小组成员在一起商量后,给各成员均分配了相应的合适的任务,而我的任务是将数组中的成绩进行合并后输出,也就是

24、整个原程序中的学生信息系统的创建。这个部分的程序首先是读出文件一和文件二,两个文件中所显示的内容则是学生姓名、学号以及语文、数学和英语的成绩。在编写时出现了以下几种情况:第一,其中“fp1=fopen(E:c语言课程设计作业t1.txt,r)”的意思就是打开文本文件一进行只读,同理下面的也是一样。程序的一开始利用两个if语句来判断文件是否存在,记得一开始在用“记事本”程序编辑文件时忘了进行保存,导致了磁盘上不能产生记事本数据文件,由于此为读文件,所以指定的文件必须存在,否则就出错,而这两个if语句则加强了程序的健壮性。第二,在while循环中,一开始不知循环条件该怎么写,后看了c语言文件的那章

25、内容,知道这里应该利用文件结尾函数feof( )。第三,程序中调用fscanf( )函数将文件中的数据读入到变量name、xhao、china、math和english中,并通过printf( )函数把结果输出到屏幕。由于在一开始的编写过程中,不太熟悉文件,所以在调用fscanf( )函数时却写成了scanf( )函数,导致程序也无法正常运行。第四,此问题是花时间最长的一个,也是相对不易想通的一个难题。在while循环后,程序添加了i-,这是由于在一开始编写完后与其他程序组合在一起,运行时发现后产生一连串的乱码,然后与其他成员一起研究发现在第一个while循环中,由于i+的存在,导致了i直接到了6,而第二个while循环中的i则要从5开始进行循环,所以加一个i-,使得了6减1后得到想要的5,而后再运行时,则一

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

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