C语言课程设计-学生成绩管理系统_第1页
C语言课程设计-学生成绩管理系统_第2页
C语言课程设计-学生成绩管理系统_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、青岛农业大学课程设计报告题目:学生成绩管理系统姓名:张注学院:理学与信息科学学院专业:通信工程班级:1>学号:20123267指导教师:李吉忠2013年9月4日一 设计目的.3二 课程设计的内容3三 课程设计的要求与数据3四 课程设计应完成的工作4五 总体设计(包含几大功能模块)4六详细设计(各功能模块的具体实现算法一一流程图).5七 调试分析(包含各模块的测试用例,及测试结果).6八 总结.16九 参考资料.17设计目的进一步加深、巩固所学专业课程(C语言程序设计)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它

2、相关设计的技能。二课程设计的内容对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。三课程设计的要求与数据1、用C®言实现系统;2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.3、学生信息包

3、括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:1)输入记录模块。输入记录模块主要完成将数据存入单链表中的工作。在此成绩管理系统中,记录可以从以二进制形式存储的数据文件中读入,也可从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。2)查询记录模块。查询记录模块主要完成在单链表中查找满足相关条件的学生记录。在此成绩管理系统中,用户可以按照学生的学号或姓名在单链表中进行查找。若找打该学生的记录,则返回指向该学生的指针。否则,返回一个值为的空指针,并打印出未找到该学生记录的提

4、示信息。3)更新记录模块。更新记录模块主要完成对学生记录的维护。在此成绩管理系统中,它实现了对学生记录的修改、删除、插入和排序操作。一股而言,系统进行论文这些操作之后,需要将修改的数据存入源数据文件。4)统计记录模块。统计记录模块主要完成对各门功课最高分和不及格人数的统计。5)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对学生记录的存盘操作,即将单链表中的各节点中存储的学生记录信息写入数据文件中。第二,它实现将单链表中存储的学生记录信息以表格的形式在屏幕上打印出来。四课程设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写课程设计报告。内容包括:

5、1)封面扉贞2)设计任务书3)目录4)总体设计方案(包括流程图)5)使用说明及运行实例(包括界面)6)成员设计内容简介7)项目源程序代码(注意注释的使用)8)指导教师评语五总体设计(包含几大功能模块)1、成绩录入功能2、成绩查询功能3、成绩更新功能4、统计功能5、输出功能6、退出系统六详细设计(各功能模块的具体实现算法一一流程图)6.1各函数的功能和实现1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数(*,*)来实现此操作。2、成绩输出模块:输出学生的信息以及成绩(*,):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过()、()、()和()来输出成

6、绩的平均分数、最高和最低分数。3、成绩查询模块:可用(*,)来实现。找到就输出此学生全部信息。4、删除模块:用函数(*,*)来实现5、排序模块:用函数(*,)来实现6、统计功能能:用函数(*,)来实现7、退出系统:可用一个函数()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。如图结束七调试分析(包含各模块的测试用例,及测试结果)7.1源程序<><><><>()(;20;*;n;*();*1(*);2(*);(*);*(*);(*);*(*);*()(;*,*p1,*p2;0;(*)();p2;("n请输入第名学生

7、的学号,学号为0表示结束输入:"1);("");()'n');(;)(;p1=(*)();p1->;("请输入第名学生的姓名:");(""1->);("请输入第名学生的高数成绩:");(""1->0);("请输入第名学生的英语成绩:");(""1->1);("请输入第名学生的计算机成绩:");(""1->2);("请输入第名学生的物理成绩:"

8、);(""1->3);p1->1->01->11->21->3;p2->1;p21;("n请输入第名学生的学号,没有此学生则输入0表示结束:"1);("");p2->;("nn");*(*)(J(;)("nt#学生成绩统计排序#n");("tt1.按学生学号排序t#n");("tt2.按学生总分排序t#n");("tt3.按学生高数成绩排序t#n");("tt4.按学生英语成绩排

9、序t#n");("tt5.按学生计算机成绩排序t#n");("tt6.按学生物理成绩排序t#n");("tt7.单科高分及均分t#n");("tt8.显示当前学生成绩t#n");("tt0.返回上一级菜单t#n");("t#A-A#nn");("请输入你要执行的操作:");("");()'n');()(1:2:3:4:5:61();7()2();8();0;:("nn您的输入有误!请重新输入:nn&q

10、uot;);*1(*)(*p1,*p2>,*,*;;;(p121->11->)(1;(p21->222->)()(>>p2->)2;(><p2->)2;(>0<p2->0)2;(>1<p2->1)2;(>2<p2->2)2;(>3<p2->3)2;(1)(;*p1;*p1;>>1->p1->("n排序后的成绩表为:n");();2(*)(*>12341234;1=02=03=04=0;1234;();11&g

11、t;022>1;33>222>3;>;(>)(1<>0)1>0;(1>>0)1>0;(2<>1)2>1;(2>>1)2>1;(3<>2)3>2;(3>>2)3>2;(4<>3)4>3;(4>>3)4>3;(<>)>(>>)>1>02>13>24>3;1=1.0(*p;20;(0)("n当前系统没有任何学生数据,您就别费劲了!n");(;)(&q

12、uot;n请输入您要查询学生的方式:nn");("1、按学号查询;2、按姓名查询;0、我不查询了。nn");("请选择:");("");12=1.0*23=1.0*34=1.0*4;1234;("总共名学生,具体数据为:n");("高数最高分为,最低分为,平均分为%.2fn"111);("英语最高分为,最低分为,平均分为%.2fn"222);("计算机最高分为,最低分为,平均分为%.2fn"333);("物理最高分为,最低分为,平均分为

13、%.2fn"444);("总分最高分为,最低分位,平均分为%.2fn",);()'n');(1)("n请输入您要查询的学生的学号,输入0退出学号查询:");("");(;)(>>>);()("nn没有找到您要查询的学号,请重新输入,输入0表示结束:,("");(>)("n学号为学生的数据为:n">);("学号t姓名t高数成绩英语成绩计算机成绩物理成绩总分n");("tn">,>&

14、gt;0>1>2>3,>);("nn请输入您还要查询的学生的学号,输入0表示不按学'号查询了:");("");(2)("n请输入您要查询的学生的姓名,输入0退出姓名查询:");("");(,"0");)(>(>)>);()("nn没有找到您要查询的姓名,请重新输入,输入0表示结束:");("");(>)("n姓名为学生的数据为:n">);("学号t姓名t高数成绩英语

15、成绩计算机成绩物理成绩总分n");("tn",>>>0>1>2,>3>);("nn请输入您还要查询的学生的姓名,输入0表示不按姓名查询了:,("");(0)("n您选择了不查询!n");("n您以其他方式选择了不查询!n");*(*)*p;J("nn请输入您要新加入学生的学号,学号为0表示结束输入:,("");()'n');(;)(*)();>;("请输入新加入学生的姓名:,("&q

16、uot;>);("请输入新加入学生的高数成绩:");("">0);("请输入新加入学生的英语成绩:");("">1);("请输入新加入学生的计算机成绩:");("">2);("请输入第名学生的物理成绩:");("">3);>>0>1>2>3;>>;>;J("n请输入还要加入学生的学号,没有此学生则输入0表示结束:,("");1(,

17、1);("加入后的成绩表为:n");();(*)(*>()("nn此系统目前没有任何学生数据!nnn");("此系统目前共计学生名:(”*5);("学号t姓名t高数成绩(>)("tn",>>,>0>1>2>3,>>0>1>2>3);(*A-A*nn");n");学生成绩总汇*英语成绩计算机成绩物理成绩总分n");()(*J(*)();>(;)("ntt*("tt*t1.("

18、tt*t2.("tt*t3.("tt*t4.("tt*t5.("tt*t0.学生成绩管理系统*n");学生数据键盘录入t*n");学生数据统计排序t*n");查询学生数据tt*n");插入学生数据tt*n");显示当前成绩表t*n");退出成绩管理系统t*n");nn");("tt*a-a*("n请输入你要执行的操作:");("");()'n');()汪息*");("nn此选项将会建立新的学

19、生数据系统,原来的数据将不再存在,你确信要删除原来的数据并建立新的数据系统么?nn");("1、建立新的数据系统;0、放弃建立新的数据系统。nn");("请选择:");("");()();(0)("n您选择了放弃建立新的数据系统!n");J您做出了别的选择,当作放弃建立!n");2();3();4();5();0("")0;:("nn您的输入有误!请重新输入:nn");7.2.2主要程序运行结果(1)运行开始,如图。级人序系录#统*表系*理理*H易蓄M成I

20、-一成数M-m&T-TI成*生生生洵X一雷*必XHH1S.显.退*123450*摊34直椅入你要世行的操化=(2)输入数字1,然后按键,如图统八序系录排理盅讨据¥富蚤数城育一矽毒妾M生土生询_雷«显退*123450*请输入旅要执行的操作以*:鄂&藩汐甘学均据系约,原未冲据杯木冉在利你"言要那阵碍未的数有开«、墀立新的数昭系统;叭放弃详立新的教裾系统&请选吊级人序系录#统*表系*理理*H易蓄M成I-一成数M-m&T-TI成*生生生洵X一雷*必XHH1S.显.退*123450*摊34直椅入你要世行的操仁H戳挈耕事耳学生册系统原

21、来的教据将不再存在.你确信要删除原来的数雷井建立新的数据系统;矶放弃建立新的数据系统请连择;1请输入第L名字生的学号,学号为。表示结耒输入,(4)输入数字键2,然后按下键,即可得到学生成绩的排序,如图-Xft*表等理埋其富紊数域E3S生生土闾雷#WW1显退*领入序条录排请输入旅要执行曲捶作我序排蕉成尊.班单ttrSSHg成耕隽生菜tttrEr知WWWI生出HHHHH吾示可学丢我技我友筮单显近1ft123-45-6-78eft(5)输入数字键0,按下键,最后按任意键即可退出系统了,如图34*123450*摊级人序系录#%S你意入仕J+-请请统*理盘讨理*H易蓄M成!_<生生生询尺一手*显退*总结由丁本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个活晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。回顾起此次课程设计,我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在整整两个礼拜的

温馨提示

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

评论

0/150

提交评论