当前位置:文档之家› C语言课程设计报告样本

C语言课程设计报告样本

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目:学生信息管理系统专业:电气工程及其自动化班级: 学生信息管理系统姓名:成绩:完成日期: 2012年6月18日-2012年6月22日指导教师:目录1.课程设计目的 (2)2.需求分析 (2)2.1要求 (2)2.2任务描述 (2)2.3运行环境 (3)2.4开发工具 (3)3.总体设计 (3)3.1系统流设计 (3)3.2系统模块设计 (4)4.详细设计 (5)4.1数据结构设计 (5)4.2模块接口设计 (6)4.3 以下是几个主要模块的流程图: (7)5.运行结果 (10)5.1主菜单界面: (10)5.2信息录入界面: (10)5.3信息浏览界面: (11)5.4 信息查询界面: (11)5.5信息修改界面: (12)6.程序调试与测试 (12)6.1程序调试 (12)6.2程序测试 (12)7.问题与不足 (12)8.建议 (12)9.编程体会 (12)10.程序源代码: (12)11.参考文献 (13)12.用户使用手册 (13)1.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

2)通过课程设计,进一步掌握C语言中重要的数据结构。

掌握并熟练运用指针、链表、结构体、文件等数据结构。

3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。

4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。

5)通过课程设计,加强了自己的程序分析能力。

2.需求分析2.1要求1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。

2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。

3)学会利用数组、结构体、链表进行相关信息表示。

4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。

6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。

7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。

8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。

9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。

10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。

11)C语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。

2.2任务描述(根据具体的题目来写这部分,不要照抄)此系统以计算机系的学生为背景,提供对学生个人简历信息的录入、编辑、查找、统计等功能。

具体功能实现如下:1)信息录入:实现学生简历信息的录入功能,并能将其以文件形式加以保存。

2)编辑功能:实现对学生简历信息的添加,并对指定学生的简历信息进行删除或修改等功能。

3)信息浏览功能:实现对指定班级或全部学生的学生简历信息浏览。

4)查询功能:实现按学号查询、按姓名查询学生简历信息的功能。

5)统计功能:实现对男生、女生人数的统计功能。

6)系统以菜单方式工作,界面清晰,易于操作。

2.3运行环境1)WindowsXP/7系统2)VC++6.0编译环境2.4开发工具C语言3.总体设计3.1系统流设计(根据具体的题目来写这部分,不要照抄)本系统的功能模块如图1所示,主要有以下模块:图1系统功能模块图3.2系统模块设计(根据具体的题目来写这部分,不要照抄)1)课程名称界面:构造函数void auther(),实现课程设计名称以及作者的显示。

2)系统欢迎界面:构造函数void welcome(),实现欢迎使用学生简历管理系统的显示。

3)主菜单界面:构造函数void mainmenu(),实现系统主菜单的显示。

4)学生信息录入:构造函数void record(),实现学生简历信息的录入及显示。

并通过调用函数void insert(struct student *stu),实现对学生简历信息的添加录入以及对学生总数的统计。

5)学生信息修改:构造函数void change(),实现对需要修改简历信息的学生的查找,并通过调用修改函数void devise(struct student *p),实现学生信息修改界面的显示并对其简历信息进行修改。

6)学生信息查询:构造函数void query(),实现查询界面的显示。

并通过对按学号查询函数void query_by_num()、按姓名查询函数 void query_by_name()的调用,实现相应的学生简历信息的查询。

7)学生信息删除:构造函数void del(),实现对指定学生的学生简历信息的删除。

并通过函数free(),释放内存空间。

8)学生信息浏览:构造函数void see(),实现学生简历信息浏览界面的显示。

并通过对按班级浏览函数display_by_class()、全部学生浏览函数displayAll()的调用,实现相应的学生简历信息的浏览。

9)统计男女人数:构造函数void male_female_num(),实现对指定性别学生的人数统计。

4.详细设计4.1数据结构设计(根据具体的题目来写这部分,不要照抄)(根据具体的题目来写这部分,不要照抄)为了能实现不受限制的增加学生信息,采用链表的结构保存学生信息,在增加学生的基本信息时,创建一个学生信息的节点,将其插入到链表中,示意图如下。

(根据具体的题目来写这部分,不要照抄)为此,先声明一个类型为struct student的结构体,其成员为学生的简历信息。

然后通过对指针、链表、文件等数据结构的操作,实现对学生简历信息的录入,插入,存盘,查询,浏览,删除,修改等一系列操作。

其中,结构体定义如下:struct student{char class[10];int num;char name[10];int age;char sex[10];char address[20];char tele_num[15];struct student *next;};4.2模块接口设计1)所有函数模块声明如下:(根据具体的题目来写这部分,不要照抄)void auther();/*显示课程名称*/void welcome();/*显示欢迎界面*/void mainmenu();/*主菜单函数*/void record();/*录入学生简历信息*/void insert(struct student *stu); /*添加录入学生简历信息并统计学生总人数*/ void see();/*显示浏览界面*/void display(struct student *stu); /*打印学生简历信息*/void display_by_class();/*实现按班级学生信息浏览*/void displayAll();/*实现全部学生信息浏览*/void query();/*显示查询界面*/void query_by_num();/*实现按学号查询*/void query_by_name();/*实现按姓名查询*/void readData();/*从磁盘读出学生信息*/void writeData();/*向磁盘写入学生信息加以保存*/void freeAll();/*释放内存空间*/void del();/*实现指定学生的信息删除*/void change();/*查找需要修改的学生*/void devise(struct student *p); /*实现学生信息的修改*/void male_female_num();/*实现男女人数统计*/2)并定义两个全局变量:(根据具体的题目来写这部分,不要照抄)int TOTAL_NUM = 0;struct student *head = NULL;3)主要模块的实现(根据第3项中概要设计的功能模块划分,描述你设计题目的各模块需要完成的详细内容,这部分不要照抄)系统以主函数void main()为入口,首先通过textcolor(YELLOW)以及textbackgroud(GREEN)将文本颜色置为黄色,背景颜色置为绿色。

调用void auther()函数,显示课程设计名称及作者信息。

调用void welcome()函数,显示系统欢迎界面。

然后调用void mainmenu()函数,进入主菜单界面。

系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。

(以下内容按自己的题目要求完成,这部分不要照抄)4.3 以下是几个主要模块的流程图:1)主菜单函数:图2 主函数流程图2)信息浏览函数:3) 信息修改函数:图 3 信息浏览5.运行结果(以下内容按自己的题目要求完成,不要照抄)5.1主菜单界面:图5主菜单界面输入功能选择,系统自动进入相应功能界面。

5.2信息录入界面:图6 信息录入界面5.3信息浏览界面:图7 全部信息浏览图8 指定班级浏览5.4 信息查询界面:从键盘中输入选择,可以按学号和姓名进行查询,并显示结果。

图8 按姓名查询的结果5.5信息修改界面:从键盘中输入需要修改的信息代码,自动提示输入新的信息。

请填上具体内容6.程序调试与测试6.1程序调试(1)各模块分别调试过程及结果。

(2)集成调试过程及结果。

(3)功能调试过程及结果6.2程序测试(1)各模块测试用例数据的确定(2)测试结果(3)测试中出现的问题的原因和分析7.问题与不足(1)需求分析中存在的问题和分析(2)概要设计中存在的问题和分析(3)详细设计中存在的问题和分析(4)代码编制中存在的问题和分析(5)调试和测试中存在的问题和分析8.建议请填上具体内容,主要是对课设内容、时间安排、辅导中存在的问题进行建议有何良好的建议?9.编程体会请填上具体内容,主要针对课设中自己实际进行课设准备以来,有哪些实质性的收获和体会,严禁空洞、空话连篇。

10.程序源代码:填上完整的、已调试通过的源程序,并加上必要的注释。

程序应符合可读性原则。

11.参考文献[1]廖湖声.C程序设计案例教程.人民邮电出版社,2010.9[2] 何钦铭.C语言程序设计.高等教育出版社,2009.5.[3] 谭浩强.C程序设计(第2、3、4版).清华大学出版社,2000.1.[4]《C语言程序设计教程》,杨路明著,北京邮电大学出版社.12.用户使用手册(1)填入你设计的系统的功能及性能介绍。

相关主题