机房机位预定系统报告书_第1页
机房机位预定系统报告书_第2页
机房机位预定系统报告书_第3页
机房机位预定系统报告书_第4页
机房机位预定系统报告书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

机房机位预订系统设计报告书 一 一 需求分析需求分析 1 引言 由于机房在使用时存在着机位的查询 预订与退订的过程 这就使机房管理者在一 定程度上需要对机房进行有效的信息化管理并且使用者在机房预订机位时会出现许多问 题 所以设计了此项程序旨在帮助机房更好的管理机位 以及使机房管理信息化的同时 便于机房使用者更有效的节约时间 所以 从总体上来说 本次的机房机位预订系统对 机房的管理 使用者自身的实际情况有着很大的意义 2 简述题目需要解决的问题 设计一个机房机位预订系统 能够对机房的第二天的机位进行预订 设某机房有 40 台机器 编号从 1 到 40 从早上九点到晚上九点 两个小时为一个时间段 每次可预订 第二天的某一个时间段 1 系统以菜单方式运行 2 查询 根据输入时间 输出机位信息 3 机位预订 根据输入的时间输出是否有空机位 若有则进行预订 在该时段写入预订 学生的信息 若无则提供最近时间段 4 撤销预订 根据输入的时间段 机器号撤销之前的预订机位 输出预订 可将第二天的预订情况打印输出 3 规定软件做什么 此款软件依据具体情况而定 有很大的实用性 所以软件在设计时充分地考虑了一 些实际的情况并且做了有效的改进 首先 软件在总体上要有系统以菜单方式运行 实 现此项功能 采用了 Display 函数作为菜单的输出 便于使用者清晰的选择所需的菜 单 其次 采用编号制的 Switch 语句使用户选择菜单更加具体 当用户选择查询时 系统由 switch 语句进入 Search 函数从而进行查询功能 同理 程序也以此进行了 预订 退订 退出系统等功能 在实现以上功能的同时 增加了对用户姓名的录入 便 于下一位用户更好的查询 二 二 算法设计算法设计 1 机房机位预订系统的总程序结构如下图所示 机房机位预订系统的总程序结构如下图所示 机房机位预订系统 机位查询机位预订机位退订系统退出 2 2 总体程序中的函数调用机执行情况 总体程序中的函数调用机执行情况 主函数 main 调用类 ComList 的类对象 fan fan CreatList fan Display Class ComList ComList CreatList Switch ComList Display Search Exit Book Quit 3 3 各个执行函数的详细阐述 各个执行函数的详细阐述 1 主函数 void main ComList fan fan CreatList fan Display 主函数中 先定义 ComList 类的类对象 fan 再调用 CreatList 函数和 Display 函数分别执行对应的功能 2 类的创建 class ComList private Nod head tail int len public ComList ComList void Display void CreatList void Search void Book void Quit void Exit ComList ComList head NULL tail NULL len 0 ComList ComList Nod p while head p head head head next delete p ComList 类的创建 在公有成员变量中定义了一系列的成员函数 包括菜单的输 出 机位的查询 机位的预订以及程序的退出 类中有构造函数 析构函数的表示 便于系统有效的管理程序 申请 释放内存空间 在私有成员变量中用到了指针变 量 使得程序中进行有效的链表创建 3 创建链表 void ComList CreatList Nod p int i j for i 0 i 6 i for j 1 ja 0 p num j strcpy p name 空位置 p next NULL if head NULL head p else tail next p tail p Time i next head 链表的创建中 首先定义一个 Nod 型的指针 p 再创建一个新的空链表用于最 后储存机位信息 首先 进行了此链表的初始化 4 菜单列表 void ComList Display cout endl endl endl endl cout t n cout t 机房机位预约管理 n cout t n cout t n cout t 1 查询 n cout t n cout t 2 预定 n cout t n cout t 3 退订 n cout t n cout t 4 退出 n cout t n cout c cout endl switch c case 1 Search break case 2 Book break case 3 Quit break case 4 Exit break default cout n t t 输入有误 n Display break 本程序实行了菜单功能 把每一项功能用标号 1 2 3 4 来选择 增加了程序 的层次感和条理性 5 机位查询 void ComList Search int time count 0 Nod p char c cout t n cout t 机位查询 n cout t n cout time while time20 cout t 输入时间不在预定范围内 n cout time p Time time 9 2 next while count n if p a cout t 座位号 num 已被预约 该客户是 name endl else cout t 座位号 num 未被预约 next count cout c if c Y c y Search else Display 机位查询功能 首先 输入所需查询的时间 9 20 因为两个小时为一个时间 段 所以有 6 个时段并且规定了每个时段有 40 个机位 当输入时间超过所在时间 段则程序报错 定义了 Nod 型的 Time 数组 便于对新建的链表进行赋值 采用了 count 计数变量以次查找所在时间段的机位预订情况 6 机位预订 void ComList Book int time i char c Nod p cout t n cout t 机位预定 n cout t n cout time while time20 cout t 输入时间不在预定范围内 n cout time p Time time 9 2 next int count 0 while count n if p a false p a true cout p name cout t 预定成功 n t 座位号是 num next count continue if count n cout t 对不起 该时间段没有可预订的电脑 n endl for i time 9 2 1 i0 cout 可以提供的空闲时段为 i 8 i 10 endl 机位预订 首先采用了菜单选项规定了输入时间的选择 再次调用了链表和计 数变量 调用布尔常量判断程序是否继续预订 当没有机位可以预订的情况下 系 统可以提供最近有机位的时间段 便于用户选择 7 机位退订 void ComList Quit int time count 0 i Nod p cout t n cout t 机位退订 n cout t n cout time while time20 cout t 输入的时间有误 n cout time cout i p Time time 9 2 next while count n if count i 1 p a false strcpy p name 空位置 cout t 退订成功 n t computernum time 9 2 cout next count continue cout t 退订成功 n Display 机位退订 依次寻找所需退订的时段中的机器编号 找到后的用户名用空位置 进行覆盖 然后 机器的编号数组本身在该时段中自加 1 这样就把机位退订了 8 退出 void ComList Exit cout n n n n n n t t t 谢谢您的使用 n n n n n n n 3 3 课程设计任务中各项要求的实现程度 课程设计任务中各项要求的实现程度 在本次课程任务中 实现了系统以菜单方式运行查询 根据输入时间 输出机位信 息 机位预订 根据输入的时间输出是否有空机位 若有则进行预订 在该时段写入预 订学生的信息 若无则提供最近时间段 撤销预订 根据输入的时间段 机器号撤销 之前的预订机位 输出预订 可将第二天的预订情况打印输出 首先 系统以菜单的方式运行程序 从图 1 中可以看出 系统的功能包括了查询机 位 预订机位 退订机位以及最后程序的退出 在运行机位查询这个功能时系统自动调 用 Display 的类的成员函数 通过它来显示系统的菜单 便于使用者能更好的使用它 这个函数的实现依赖与 C 的基础功能 其次 图 2 中有打印预订列表便于用户更好地 查清所在时间段的机位使用人数和未被预订的情况 但是此处没用文件的输出打印预订 列表 最后 其他几项程序的要求完成的很好 预订时更是增加了用户姓名的输入 便 于机房机位管理者能更好地管理机房 4 4 在此次程序设计中的一些新想法 在此次程序设计中的一些新想法 在此次机房机位预订系统中 首先整体的设计思想是 通过一个链表来完成 这个程序中最重要的机位信息的储存 从而达到设计中所要求的查询 预订 退订 等功能 这就完全基于该链表 在完成这个程序设计的一些基本功能后 还实现了对机位预订时用户姓名的增 加 便于机房管理机位 也是对机位用户的有效制约 其次对预订时间段有了一个 很好的规划 不是分为时段计时 而是以每小时为一个预订时段点 这样能更好地 使用户节约时间 此外 个人认为此系统还缺少了两个功能 即等待和等待机位查询 首先 当 用户查询后没有机位时 还可以通过此事的等待功能实行等待 而后 当等待也是 一个数组 那么当等待结束后还可以查询等待人员列表 从而使得结尾预订更加人 性化 也方便了机房的管理者和用户 三 三 用户手册用户手册 1 用户在从本系统的菜单运行 按要求输入所要选择的选项 2 在数据输入方面 用户需严格按照程序中所提供的数据格式输入 否则程序有可 能将进入死循环 四 四 调试及测试调试及测试 1 解决问题 在程序运行时 出现了很多的错误 尤其是当前一个成员函数的一个花括号丢失后 系统报错二没有解决的方法 最后上网查资料解决了改问题 其次是对链表的设计和数 组的管理 多次出现错误 最后完全解决了改问题 2 程序运行截图 图 1 查询功能 图 2 打印次日输出 图 3 机位预订 图 4 预订后的查询 图 5 机位退订 图 6 系统退出 五 五 小结小结 课程设计是培养学生综合运用所学知识 发现 提出 分析和解决实际问题 锻炼实践能力的重要环节 是对学生实际工作能力的具体训练和考察过程 随着科 学技术发展的日新月异 当代计算机应用在生活中可以说是无处不在 因此作为本 二十一世纪的大学生来说 掌握一些基本的软件开发技术是十分必要的 回想起此次 C 课程设计 至今我仍感慨颇多 自从拿到题目到最后完成整个编 程 从理论得到时间 在整整的一个星期的时间里 可以说学得了很多的东西 同 时不仅可以巩固以前所学的很多知识 而且学到了很多在书本上没有学到的很多知 识 通过了这次课程设计使我懂得了理论和实际相结合的重要性 只有理论是远远 不够的 只有把所学的理论知识和实际情况结合起来 从而提高了自己的实际动手 能力和独立思考能力这样才能真正的体会和认识它 才能活学活用 在设计中遇到的问题 因为水平有限 难免会遇到这样那样的各种问题 同时 在设计过程中发现了自己的不足之处 对以前所学过的知识掌握不够牢靠 应变能 力不是很好 比如对建立链表不是很熟悉 通过了此次课程设计也使我对以前学过 的知识有了一个巩固和加深的过程 六 六 参考文献参考文献 1 郑莉 等编著 C 语言程序设计 第三版 北京 清华大学出版社 2 郑莉 等编著 C 语言程序设计 第三版 学生用书 北京 清华大学出版社 3 刘振安 等编著 C 程序设计课程设计 机械工业出版社 4 吴乃陵 等编著 C 程序设计 北京 高等教育出版社 5 李春葆 等编著 C 程序设计学习与上机实验指导 北京 清华大学出版社 6 范辉 等编著 Visual C 6 0 程序设计简明教程 高等教育出版社 7 李龙澍 C 程序设计实训教程 北京 清华大学出版社 8 洪国胜 等编著 C Builder 程序设计轻松上手 北京 清华大学出版社 9 宁正元 数据结构 c 语言 南京 东南大学出版社 2000 年 6 月第 1 版 10 严蔚敏等 数据结构 c 语言版 北京 清华大学出版社 1997 年 4 月第 1 版 11 胡学钢等 数据结构算法设计指导 北京 清华大学出版社 1999 年 第 1 版 12 刘大有 数据结构 面向 21 世纪课程教材 北京 高等教育出版社 2001 年 6 月第 1 版 13 明日科技 编著 Visual C 程序开发范例宝典 北京 人民邮电出版社 14 游洪跃等编著 C 面向对象程序设计实验和课程设计教程 北京 清华大学出版社 2009 2 合肥学院 计算机科学与技术系 课程设计报告书 2010 2011 学年第二学期 课程课程C 课程设计 课程设计名称课程设计名称机房机位预订系统 专业班级专业班级计算机科学与技术 2 班 指导教师指导教师张贯虹 屠菁 2011 年 6 月 附录 附录 机房机位预订系统源程序 include include include struct Nod int num bool a char name 20 struct Nod next 声明指针域的结构体类型 Nod Time 6 0 1 0 NULL 0 1 0 NULL 0 1 0 NULL 0 1 0 NULL 0 1 0 NULL 0 1 0 NU LL 六个时间段的头结点 int computernum 6 40 40 40 40 40 40 定义一个机位编号数组 每两个时间段中共有 40 台电脑 const int n 40 机房总共 40 台电脑 class ComList 定义一个机位信息类 private Nod head tail public ComList ComList void Display void CreatList void Search void Book void Quit void Exit ComList ComList 构造函数 head NULL tail NULL ComList ComList 析构函数 Nod p while head p head head head next delete p void ComList Display 打印输出 cout endl endl endl endl cout t n cout t 机房机位预约管理 n cout t n cout t n cout t 1 查询 n cout t n cout t 2 预定 n cout t n cout t 3 退订 n cout t n cout t 4 退出 n cout t n cout c cout endl switch c case 1 Search break case 2 Book break case 3 Quit break case 4 Exit break default cout n t t 输入有误 n Display break void ComList CreatList Nod p int i j for i 0 i 6 i for j 1 ja 0 p num j strcpy p name 空位置 p next NULL if head NULL head p else tail next p tail p Time i next head void ComList Search int time count 0 Nod p char c cout t n cout t 机位查询 n cout t n cout time while time20 cout t 输入时间不在预定范围内 n cout time p Time time 9 2 next while count n if p a cout t 座位号 num 已被预约 该同学是 name endl else cout t 座位号 num 未被预约 next count cout

温馨提示

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

评论

0/150

提交评论