HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY
C语言程序设计 课程设计报告
课设题目: 学生C语言实验完成情况C程序设计 专 业: 电气工程及其自动化 班 级: T1323-10 姓 名: 代寓秋 成 绩: 完成日期: 2014年6月21日-2014年7月12日 指导教师: 胡宁亚老师
1
目录
1.课程设计题目................................................................3 2.课程设计目的................................................................4 3.需求分析....................................................................4
3.1 要求..................................................................4 3.2 任务描述..............................................................4 3.3 运行环境.............................................................. 5 3.4 开发工具.............................................................. 5 4.总体设计.................................................................... 5
4.1 系统流设计............................................................ 5 4.2 系统模块设计..........................................................7 5.详细设计.................................................................... 7
5.1 数据结构设计.......................................................... 7 5.2 模块接口设计.......................................................... 9 5.3 以下是几个主要模块的流程图:......................................... 11 6.运行结果...................................................................17
6.1 欢迎界面.............................................................17 6.2主菜单界面...........................................................18 6.3 管理模式菜单主界面...................................................18 6.4 查询模式菜单主界面...................................................19 6. 5 查看本次课设题目:...................................................19 6.6 退出界面.............................................................20 6.7 导入数据界面.........................................................20 6.8 查询模式1输入界面...................................................21 6.9 查询模式2输入界面...................................................21 6.10查询模式3输入界面...................................................22 6.11查询模式4输入界面...................................................22 6.12管理子模式1操作界面.................................................23 6.13管理子模式2操作界面.................................................24 6.14管理子模式3操作界面.................................................24 7.程序调试与测试............................................................25
7.1程序调试.............................................................25 7.2程序测试.............................................................27 8.问题与不足.................................................................35 9.建议.......................................................................35 10.编程体会..................................................................35 11.程序源代码................................................................36 12.参考文献..................................................................65
2
1.课程设计题目
7.宿舍管理程序 题目描述
现学校要管理宿舍入住的学生,请设计一宿舍管理程序,以方便学校宿舍管理员对学生进行管理,该程序应该具有以下功能: (1)能从键盘录入床位信息。
(2)指定学号,显示该学生的住宿的信息。 (3)指定宿舍号,显示住宿信息。
(4)给定宿舍号、床位号,修改住宿信息。 (5)给定宿舍号、床位号,删除住宿信息。 题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。 (2)住宿信息包括:床位信息(宿舍号、床位号、是否有人入住)、学号、姓名、班级、入住时间。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。 输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如:入住时间必须是一个合法的日期格式;一个学号对应一个床位号,一个床位号对应一个学生。 输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定宿舍号、床位号删除住宿信息时,如果该床位不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储住宿信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。 提示:
(1)使用结构体表示学生住宿信息,一个结点保存一条住宿信息。 扩展功能:
(1)提供一些统计功能。例如统计空床数、统计每个班级入住宿舍号。 (2)住宿信息从文件读入。 (3)将住宿信息保存到文件中。
3
2.课程设计目的
《C语言程序设计课程设计》是《C语言程序设计》课程学习后的实践应用训练,在电类工程专业的教学中占有重要位置。通过本课程设计的训练,使学生在《C语言程序设计》课程学习的基础上,熟悉C程序开发的基本过程,包括需求分析、数据结构设计、程序模块的划分与设计、函数编程、调试等;熟悉结构化程序设计的编程思路。训练内容主要通过分析实际应用实例,构造链表等较为复杂的数据结构,熟练地设计函数,学会能灵活地用C语言编写一个较为完整的实用程序;初步具备解决实际问题的能力。提高学生分析问题和解决问题的能力,为后续课程的学习打下良好的基础。
3.需求分析
3.1要求
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。 (2)学生作业信息应该包含学生信息(学号、姓名、班级)、10次作业的成绩。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。 输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,成绩只能在[0,100]之间,学号是唯一的(一个学号对应一个学生的作业信息)。 输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定学号删除学生信息时,如果该学生不存在,要提示没能删除,如果删除成功要提示删除成功。 实现要求:
(1)在程序中使用链表存储学生作业信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
3.2任务描述
此系统以学生住宿为背景,提供对学生住宿信息的管理和查询;对学生住宿信息的录入、
修改和删除;查询住宿情况(对个人信息的查询、对班级信息的查询、对宿舍信息的查询);具体功能实现如下:
4
一:管理模式功能
1) 自动导入功能:从文件导入所有学生住宿信息。
2) 时间显示功能:每次进入主菜单下自动显示系统时间,可用于查看时间。 3) 管理功能:可以对学生住宿信息进行添加、删除、修改的功能; 4) 保存功能:修改后退出菜单后自动进行保存。
二:查询模式功能
5) 指定学号,显示该学生的住宿的信息。 6) 指定宿舍号,显示住宿信息。 7) 给定班级号,显示住宿信息。
8) 给定宿舍号和床位号,显示该学生的住宿信息。 9) 显示所有学生信息。
3.3运行环境
Windows XP/7系统
3.4开发工具
VC++6.0编译环境
4.总体设计
4.1系统流设计
本系统的功能模块如图1所示,主要有以下模块:
5