C语言课程设计报告——机房管理系统[1]文档推荐

上传人:粗**** 文档编号:135281999 上传时间:2020-06-14 格式:PDF 页数:16 大小:1,018.25KB
返回 下载 相关 举报
C语言课程设计报告——机房管理系统[1]文档推荐_第1页
第1页 / 共16页
C语言课程设计报告——机房管理系统[1]文档推荐_第2页
第2页 / 共16页
C语言课程设计报告——机房管理系统[1]文档推荐_第3页
第3页 / 共16页
C语言课程设计报告——机房管理系统[1]文档推荐_第4页
第4页 / 共16页
C语言课程设计报告——机房管理系统[1]文档推荐_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言课程设计报告——机房管理系统[1]文档推荐》由会员分享,可在线阅读,更多相关《C语言课程设计报告——机房管理系统[1]文档推荐(16页珍藏版)》请在金锄头文库上搜索。

1、目录 一 设计内容 二 设计要求 1 题目要求 2 输入 输出要求 整体设计思路 流程图 1 层次模块图 2 空机号查询N S图 五 主函数及功能菜单说明 六 各模块简要说明 七 心得体会 附录 源程序代码 各模块运行结果截图 一 设计内容 题目 机房管理系统 设计机房管理系统 要求由菜单进行管理 1 上机前先检查是否有空机位 有则将其显示出 无则提示无空位 2 还有空位置时 运行进入 并记录下位置号以及序号 与上机时间 3 可对上机者上机信息进行查询 修改与删除 4 设计相关模块 显示上机者的上机费用 5 显示所有上机者的上机信息 二 设计要求 题目要求 为各项操作功能设计一个菜单 应用程序

2、运行后 先显示这个菜单 然后用户通 过菜单项选择希望进行的操作项目 要求以上功能分别用函数实现 输入 输出要求 应用程序运行后 先显示一个菜单 然后用户根据需要选择相应的操作项目 进 入每个操作后 根据程序的提示输入相应的信息 要求用户输入数据时 要给出清晰 明确的提示信息 包括输入的数据内容 格 式及结束方式等 三 整体设计思路 在设计该程序时 要将系统的不同功能分成各个模块 每个模块由一个函数定义 整个程序由函数调用来实现 每个模块是一个子函数 由一个主函数调用各个子 函数 在定义子函数时 根据不同的功能选择不同的语句 如需要使用循环时可 以用 do while 来实现 需要使用选择时可以

3、用 switch 或 if 语句来 实现等 设计以菜单方式工作的机房管理系统 主要包括六个模块 分别是上机者信息输 入模块 上机者信息查询模块 上机者信息修改模块 上机者信息删除模块 上 机者上机费用计算模块 所有上机者信息显示模块 每个模块由组员相应完成 另外考虑到机房的特殊要求 新增一个上课模式 此模式功能是将所有机子开启 统一赋上上机者相关信息 避免管理员一个一个的给机子输入信息 本系统程序关键在于一个空机位的检索 亦是本程序核心之所在 本程序是通过 给 StudentList time 赋值为 0 或 1 分别实现空机号的判断 0 代表无人上机 及为 空机号 反之 1 代表有人上机 及

4、不为空机号 本程序通过定义结构体 包括姓名 name 机号 seat 学号 stu num 上机时间 time 四个成员 具体如下 Struct student info char name 10 int seat Long stu num int time 四 流程图 层次模块图 空机号查询 N S图 空机号检索是本程序的核心 本程序的其它几个模块皆是通过先对空机号的判断 然后进行下去的 及先对StudentList time 的值进行 0 或 1 的判断 例如 显 主菜单 学 生 信 息 输 入 模 块 空 机 号 查 询 模 块 查 询 上 机 情 况 模 块 修 改 上 机 信 息 模

5、 块 删 除 上 机 信 息 模 块 显 示 上 机 费 用 模 块 显 示 所 有 上 机 信 息 模 块 上 课 模 式 模 块 退 出 系 统 i 0 k 0 for i 0 i 80 i StudentList i time 0 Y N 输出 i Y k 0 N K 1 输出 无空机位 示所有上机信息模块 我们小组通过一个for 循环语句 从机号0 79 号逐一 判断 符合条件则将其输出 而判断的标准就是if StudentList i time 0 N S 图如下所示 其它模块类似 流程图省略 五 主函数及功能菜单说明 在主函数之前 我们首先定义了一个结构体 同时进行了相关函数的声明

6、 其中 结构体包括 姓名 name 机号 seat 学号 stu num 上机时间 time 四个成员 在主函数中 我们定义了一个变量j 通过一个 for 循环语句 从 j 0 到 j 80 分 别给所有机子编号 同时给所有机子的上机时间赋以初值0 即 for j 0 j 80 j StudentList j time 0 StudentList j seat j 从而为空机号的检索以及下面各个模块顺利的连接编译做下铺垫 而功能菜单的实现 我们采用的是 switch 选择语句并结合 do while 循环的方 法 通过人为的输入来实现菜单的操作 为美化菜单 我们加上相应的头文件 include

7、 再加上相应的颜色函数 system color 5A 从而成功使系统界 面背景颜色与字体分别变成紫色与绿色 i 0 for i 0 i 80 i StudentList i time 0 Y N 输出上机信息不输出 系统菜单界面截图 六 各模块简要说明 学生信息输入模块 学生信息输入模块是本系统的第一个模块 亦是本系统尤为关键的一个模块 下 面的模块能够正常运行 皆离不开这一模块 结合主函数 我们在输入上机者信息时 我们通过对StudentList i time 进行 0 或 1 的判断 对整个机房进行一个空机号的检索 检查是否有空机号 有则执行 输入功能 无则输出 机房已满 信息 当然 管

8、理员亦能先执行第二个模块 空机号检索模块 先检索出空机 再让上机者选择机号上机 空机号查询模块 详见上文流程图部分的介绍 查询 修改 删除 显示上机信息模块 这四个模块采用的设计思路基本一致 皆通过对StudentList i time 的值进行0 或 1 的判断 达到功能的实现 例如 查询上机信息模块 在此模块中 设计者 通过一个 if 的判断语句 即 if StudentList i time 0 对管理员所输入机号 进 行 一 个 是 否 为 空 机 号 的 判 断 若 检 测 到 所 输 机 号 是 空 机 号 即 StudentList i time 0 时 则不输出相关信息 反之

9、输出相关上机者信息 显示上机费用模块 此模块采用的是时间乘上每单位时间的费用的计费方式来进行计费的 在本系统 中 我们规定每小时上机费用是2 元 通过调用在 学生信息输入模块 中所输 入的上机时间 即 StudentList i time 乘上此费用 从而得到上机者上机费用 上课模式模块 此模块为本系统新增模块 是根据机房某些时候的特殊需要设计的 旨在能够方 便管理员一次性输入数据 而为达到这一功能 我们采用了一个for 循环语句 从 0 号机一直到 79 号机统一赋上相同的上机时间 学号 For 循环语句如下 for i 0 i 80 i StudentList i time n Stude

10、ntList i stu num 0 strcpy StudentList i name 七 心得体会 C语言程序设计是本学期才开的课 虽然到现在已经告一段落 不过现在回想 觉得经过大半个学期的学习 自己的确学到了不少东西 不过依然只是个入门者 经后还得靠自己继续学习 加强 这次 C语言课程设计 在我们小组开始准备时 大家几乎都是一头雾水 尤其是 我这个当组长的 更是不知该如何给小组成员分配任务 这也是我遇到的第一个 难题 后来在学习函数并且与其它小组讨论之后 渐渐有了眉目 于是我决定按 功能模块给小组成员分配任务 我们这个小组基本上是一人负责一个模块 而我 在负责 删除上机信息模块 的同时

11、也担负起主函数与连接各个模块的任务 在这个过程中我于是遇到了第二个困难 这第二个困难就是如何利用 结构体 说句实话 在我们小组开始着手准备之 时连结构体都弄不清楚 因为压根就还没学到此部分 但在自己查阅相关书籍以 及与同学讨论再加上后来老师在 结构体 一章中的讲解 我们终于在最后用结 构体完成了此次课程设计 此次的课程设计之所以能够顺利完成也离不开组员之间的团结协作 比如在此次 课程设计中 起初大家都不知道该如何将各个部分连接起来 也就是说该如何选 取一个统一的判断标准 后来在经过组员的讨论并亲自实践调试之后 大家得到 了一致的意见 从本系统源程序代码中可以大家可以发现 我们小组所编写的程 序

12、的核心就是空机号的判断 及上文所提到的StudentList j time 值的判断 Student i time 0 表示空机号 等于 1 则表示非空极号 有人正在操作此机 于是在接下来的模块编写时 我们小组成员都严格的统一遵照此规定完成了接下 来的任务 例如 显示所有上机信息模块 我们小组就是通过一个for 循环语 句 通过逐一检查 遇到符合条件的则将其输出 而我们的判断标准就是 Student i time 的值为零则不输出 不为零则将其输出 因为在这次 C语言课程设计中 我们小组可谓经历了一次 自学大作战 因此 我们也逐渐感受到了自学的妙处 我想这必将会对我今后的学习产生一定的积极 影

13、响 例如在我们小组基本完成设计之后 我们觉得主界面不够美观 是否可以 改进一下呢于是我们通过上网查阅了相关的资料 发现我们其实可以给主界面以 及字体加点背景颜色 而这项工作也并不是很难 只需要调用库函数中的颜色函 数 于 是我 们在 主 函数 中 加上 System color 0A 并加上 相 应的 头 文 件 include 于是我们就成功实现了这一功能 给该程序主界面赋上了紫色 字 体也变为了绿色 在课程设计中 收获知识 提高能力的同时 我也学到了很多人生哲理 懂 得怎样去制定计划 怎么样去实现这个计划 并掌握了在执行过程中如何去克服 心理上的不良情绪 因此在以后的生活和学习过程中 我一

14、定会把课程设计的精 神带到生活中 不畏艰难 勇往直前 附录 一 源程序代码 include include include define MaxSize 80 struct student info char name 10 ime 0 eat j ime 0 ime 0 printf 已经有人正在操作此机 return printf 请输入上机者姓名 scanf s StudentList i name printf 请输入上机者学号 scanf ld printf 请输入上机时间 scanf d void Empty int i k 0 printf 空机号为 n for i 0 i 80

15、 i ime 0 printf d t i k 1 if k 0 printf 无空机位 return void Search int i printf 请输入要查询的机号 scanf d if StudentList i time 0 ame printf 学号 ld t StudentList i stu num printf 上机时间 d t StudentList i time else printf 没有查询到 void Update int i printf 请输入要修改数据的机号 scanf d if StudentList i time 0 ame printf 请输入学号 s

16、canf ld printf 请输入上机时间 scanf d else printf 没有查询到可以修改的数据 void Delete int i printf 请输入要删除信息的机号 scanf d if StudentList i time 0 printf 无需修改 StudentList i time 0 strcpy StudentList i name void Dispallmoney int i money printf 请输入结账机号 scanf d money 2 StudentList i time ime 0 eat printf s t StudentList i name printf ld t t StudentList i stu num printf d n StudentList i time void Class int i n printf 请输入上课时间 n scanf d for i 0 i 80 i ime n StudentList i stu num 0 strcpy StudentList i name 二 各模块运行结果截图 1 主

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号