中南大学学生信息管理系统课程设计报告.docx1

  • 格式:doc
  • 大小:166.53 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学二○一○~二○一一学年第二学期

信息科学与工程学院

课程设计报告书

课程名称:C语言课程设计

班级:电气信息2010级1班

学号:

姓名:

指导教师:季桂树

二○一一年六月

一.需求分析

课题要求编写一个学生信息管理系统。其中学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:

A、系统以菜单方式工作;

B、学生信息录入功能(学生信息用文件保存)——输入;

C、学生信息浏览功能——输出;

D、查询、排序功能——算法;

a、按学号查询;

b、按姓名查询。

E、学生信息的删除与修改。

其次功能要求:

A、界面比较美观;

B、有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,

要求重新输入。

二. 总体设计

是否找到数据文件 读入上次保存的数据

操作选择

浏览学生信息

录入学生信息

修改学生信息

查询学生信息

删除学生信息

读入数据,新增一个结点

按顺序浏览全部学生信息

查找到目标结点

查找到目标结点,并进行删除

查找修改节点,并修改

将现有数据写入文件

结束

开始

退出系统

三.

细设计

结构体:

该结构由“学号,姓名,年龄,性别,出生年月,地址,电话,E-mail ”八个成员组成。

功能函数&模块:

从键盘读入一个人的信息,并储存入学生信息。

将数据写入数据文件。

读入文件中的数据,如果有数据文件返回1否则返回0。

菜单选择,返回0~6的含义分别是“退出”、“录入”、“浏览”、“查询”、“删除”、“修改”、“读取”。

从学生信息管理系统中删除一个人的信息。

修改一个人的信息。

struct student { long int num; char name[20]; int age; char sex[4]; char birth[10]; char add[30]; long int tele; char mail[20];

struct student *next;

};

void writeData()

void readData() void menu()

void del ()

void modify() void record()

void displayAll()

输出所有的记录。

执行查询功能,其中可以按学号和姓名查询。

输入该学生的学号就可以按学号查询到该学生。

输入该学生的姓名就可以按姓名查询到该学生。

释放动态内存

打印欢迎界面。

四. 调试与测试

通过自创的数据输入程序来进行测试。当每一个函数都设计好了,也调试好了,把它们分开运行并没

有错误,但是当把它们组合成一个程序时,便是一个一个地出现错误;把这个问题解决了,另一个新的问题又来了。接着从整个源代码中发现了一些程序编写上的错误,并全部将其改正,最后经过不断调试直到可以运行为止,再不断输入数据进行测试,最后发现测试结果与预期的一样。

五. 测试结果

在刚将程序编写完成的时候,初期调试发现了很多语法上和逻辑上的错误,大概花费了我们1个小时

的时间对源代码进行修改。

在调试妥当之后,我们使用了自己所在的电气1001班的全体同学的学生信息作为测试数据进行了测试。结果是程序运行得很好,没有出现任何问题。

六. 心得体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。经过这两个星期的上机实践学习,使我对C 语言有了更进一步的认识和了解。在不长的时间里我明白了,不仅仅是要重视课

void welcome() void query() void query_by_num void query_by_name() Void freeAll()void

本知识,而且要通过不断的上机操作才能更好地学习这门语言。

在课程设计这两个星期里,我认识到我有很多不足的地方。首先是自己在指法上还不行,经常按错字母,但通过学习和练习,已经有了很大的提高;再有对C语言的一些标准库函数不太了解,对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解。通过设计实践,使我在这几个方面的认识有所提高。程序设计中我也遇到了很多难题。例如我在程序中遇到了出现乱码的情况。后来我通过大量的上机实验,通过翻阅很多书籍,在季老师的指导以及同学的讨论下,在克服了重重的困难后,终于成功的运行了课程设计所要求的程序。这次程序设计是我在C语言程序的思想下第一次整体完成的程序设计,所以还有很多的不完美的地方,希望季老师予以指出和改正。

通过这次的程序设计,我懂得了无论什么事都要去做才会发现问题,才有可能去解决问题。对知识的学习,不能潜偿辄止,,要深入去学习,去了解,这样才会有所收获。有许多东西,许多事,不是想像中的那么容易,不去实践,永远也不会有提高,尤其是学习计算机。同时,在这次课程设计的过程中,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,不能只是学习和重视书本上的理论知识,所以日后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机这门课程。

在这次c语言课程设计中,我深感压力,因为平时对编程序这方面没有过多的关注,平时所学到的一点理论知识在实际应用中也很有限,实验过程中准备不充分,使自己遇到了很多的难题,但在和同学们合作讨论下颇有收获,从中我了解了个人的学识终究是限的,但集体的智慧是无限的,当然我们能取得这样的成绩也来于季老师的指导有方,我们能够完成一个程序,从起初的总体设计,进行可行性分析,在进行分工编程,最后进行调式,虽然当中有很多的模块都是借鉴的,但毕竟我们还初在出学阶段,要成为高手还有很长的一段路要走。通过这次实验,我们了解到其实编一个所要求的程序也不像刚开始所想象中的那么难,那么复杂,只要我们肯用心用脑,肯去花功夫钻研就会一定会有收获,其实在课程设计中运用的很多知识在课堂上老师都已经很详细讲过,但我们就是缺少了那一份灵动,所以我学到了除了要有扎实的基本功外,有一点点的变通的灵泛性还是必要的。总之我们倾心投入,大家都很努力,为了课程设计能够顺利通过,我们查阅了很多资料,也请教了季老师,这两周很快就过去了,但这两周过的很愉快,相信加上我的坚持不懈,以后一定会在C语言的学习中得到更多的知识和经验!

同时自己在这次的课程设计时间中,看到了自己还存在很多方面的不足:

1:对于C语言程序模块的不熟悉是课程设计中所遇到的最大的问题。

2:程序基础的不扎实是课程设计不能完美,高效的完成的最大影响。

3:自己对C语言程序中的各种函数以及各个函数之间的相互调用还不能很好的掌握。这些不足将提醒我努力学习以便能更好的完善自我。

在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助于理论,才能真正学到知识并写出有用的程序。