c语言课程设计报告学生信息管理系统_第1页
c语言课程设计报告学生信息管理系统_第2页
c语言课程设计报告学生信息管理系统_第3页
c语言课程设计报告学生信息管理系统_第4页
c语言课程设计报告学生信息管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、 高级程序语言设计报告书系部名称:电子与信息工程系学生姓名:专业名称:电子信息工程班 级:学号:时间: 实验题目学生信息管理系统一、 实验目的1) c语言课程设计要求我们综合应用所学的计算机基础知识和所掌握的程序设计语言-c语言,独立地设计并实现一个较为完整的小型软件系统。2)主要目的是在巩固所学内容的基础之上,将课本上的理论知识和实际有机的结合起来,锻炼我们分析解决实际问题的能力。使我们通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平 。 二、 实验内容1)熟悉c程序的

2、编辑、编译、链接和运行的过程。2)熟悉c语言中结构体、文件等复杂数据结构的使用。3)编译一个应用系统程序,形成一个软件系统。4)在以上基础上设计一个小型的学生信息管理系统,使它具有录入、输出、添加、删除、修改、查询、统计以及排行的功能。三、 需求分析本次课程设计我设计了一个学生信息管理系统,可以实现对学生信息的录入、输出、添加、删除、修改、查询、统计以及排行。第一次进入系统先录入学生信息,输入完后就进入主菜单,然后可以选择添加、修改、删除、打印、查询、统计、排行学生信息。添加、修改、删除模块可以更新学生的信息;打印就是把所有的学生信息输出,全部显示出来;查询模块中只要你知道学生的姓名或者学号就

3、可以查询你想知道的学生信息。统计模块里面只要你知道学生的学号就可以统计出他的年龄。排行模块可以实现将所有输入的学生信息进行学号的排行或者按成绩排行。四、 概要设计1. 方案设计起先给自己的课程设计想一个题目,根据题目先写好源程序中的主函数,再由主函数中设计的模块一个一个的写,写好一个先简单的调试一下,最终等都写完以后再把它们组合到一起,进行整体调试。能成功运行后,再输入学生的信息数据一个模块一个模块的检验。直到全部成功为止。2. 模块功能说明录入模块可以将学生的信息储存下来,使以后的模块可以进行,比如打印以前录入的学生信息,修改,统计以及排行等等。输出模块就是对录入的或者已经添加、修改、删除的

4、学生信息进行打印操作。添加、删除、修改模块就是对输入的学生信息进行数据更新。给以前已经录入的学生信息中添加一些想要添加的学生信息,删除一些不需要的学生信息,或者对已经录入的学生信息进行必要的修改。查询模块实现了对已经录入学生信息的查询,里面设计了两种查询的方式,一种是通过姓名查询学生的信息,另一种是通过学生的学号进行查询。统计模块是把学生的成绩放到一起进行统计,我只设计了一个统计学生年龄的模块,可以统计出学生的年龄。排行模块里设计了两种类型排行。一种是按照学生的学号进行排行,把学生信息按照输入的学号顺序进行排行;另一种是按照学生的成绩进行排行,把成绩按从高到低的顺序显示出来。3)结构图如下:*

5、学生管理系统*1.添加学生信息2.修改学生信息3.删除学生信息4.打印学生信息;5.查询学生信息6.统计学生信息7.学生排行信息0.退出系统请选择(0-7)scanf(%d,&choice);按学号(2)排行添加修改删除打印查询输入学号修改输入学号删除(1)按姓名统计年龄(1)按学号按成绩按任意键返回主界面!统计录入学生信息(2)五、 详细设计及运行结果(流程图见下页)开始输入要查询的学生的姓名j 0j=sumyesj=j+1noi 0nonoyesyesnoi=i+1noisumstrcmp(,inquire_name)=0&stui.num!=0不存在打印结果结束yesn

6、o输入y/yi=i+1开始yesjsum打印结果结束yesno交换 stui.score与stuj.scorej j+1nonoyes输入学生信息i 0isum-1j i+1stui.scorestuj.score开始输入要修改的学生的学号isumi 0stui.num=modify.numnoyesnoyesi=i+1i=sum不存在yes输出该学生信息以及修改菜单no按序号输入要修改的项目以及修改后的名称不存在输出修改后学生的信息no输入y/y打印结果结束yes 开始输入要统计的学生的学号i 0 ; j 0noisumyesnostui.num=modify.numyesj=j+1age=

7、2009-stui.birthday.yearj=sumno输出该生的年龄信息yes不存在不存在yes输入y/yno打印结果结束六、调试情况,设计技巧及体会这次设计的学生管理系统具有具有录入、输出、添加、删除、修改、查询、统计以及排行的功能。可以把学生的信息储存下,以后使用的时候进行添加、删除、修改等等。可以作为一个小小的管理系统来帮助人们对学生信息的储存以及管理,用起来也比较简单方便。有些地方的设计很人性化,比如当你输入完一个学生的信息或者查询完一个学生的信息后就会有提示出现;是否继续?如果继续就根据上面的提示进行操作,不用查询完一个学生的信息再返回主菜单再选择查询;还有再进入统计、查询、排

8、行模块后,会出现一个小的菜单,你可以选择不同的统计、查询、排行的方式,也可以不进行操作按0后退出该模块。虽然模块比较齐全,但还有好多地方需要改进,比如在统计模块中一次只能统计一个人的年龄,而不能把所有储存的学生信息进行统计打印,更不能说是把统计模块与排行等等模块联系到一起,把所有的学生年龄信息打印出来后再次进行选择“是否按一定的顺序把打印出的学生信息进行排行”。还比如在查询、统计、排行模块中的限制比较大,只能按照写出来的那两个方式进行输出学生的信息,还不能满足人们的需求。所以说,模块是齐全,但是模块之间的联系太少了,模块的功能还是有很大的限制,以后如果有时间会再次把它完善。2、在设计过程中的感

9、受。当知道要实习做两个星期的课程设计后,一头雾水,不知道该怎么准备怎么写那么复杂的程序,当然也有些兴奋,渴望能早点尝试一下,可以说是想挑战一下自己,c语言也学了一学期了,想知道这一学期来的收获有多大。从第一天说起吧。刚去机房,什么也没有准备,看着老师给的课件上的要求,不知道从何下手,连题目都拿不定主意,很茫然的看着课本上的超市管理系统。但心里明白,时间有限,只有十天的时间,60个小时,俗话也说:“万事开头难”,所以就硬着头皮开始写源程序。一天结束写了两三个模块,感觉还行,看到了希望。以后的几天课本上相似的模块写完后进展又慢了下来,心里挺急躁的,不过还是一步一个脚印的在三四天的时间中把所有的模块

10、写完了,心情很好很激动。不过问题接踵而至,编译以后一看那么多的错误,心都凉了一大截。不过在自己的检查后,想老师、同学请教后那些问题全部都被解决了。第一次出现黑屏的感觉现在都记忆忧新,很有成就感。之后的时间就是录入几名学生信息后一个个模块的进行试验,然后一个个的修改。心里面明白自己离成功很近了。当然这个过程也是很漫长的。最后,等所有的模块都调好了以后,非常非常高兴非常自信,因为原本想象的那么艰难的任务我已经完成了。后来把已经调试好的程序打印了出来,收藏着,因为那是我宝贵的财富,给予我太多的东西。在这次课程设计中我真的有很大的收获,相应的把c语言的知识巩固了,觉得以前枯燥无味的c语言现在变的妙趣横生,对它也有了极大的兴趣,相信以后我会更加认真的好好学习它的,为自己打好基础。下下周就要考试了,对于c语言的考试现在我一点都不担心,这次的课程设计使以前学习的知识有了框架结构,把每一章的知识都联系到了一起,也帮我复习了一下学过很久了已经有点些生疏的知识。当然通过这次实习我

温馨提示

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

评论

0/150

提交评论