车辆综合业务管理系统说明书.doc_第1页
车辆综合业务管理系统说明书.doc_第2页
车辆综合业务管理系统说明书.doc_第3页
车辆综合业务管理系统说明书.doc_第4页
车辆综合业务管理系统说明书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 实践教学实践教学 兰州理工大学兰州理工大学 计算机与通信学院 2011 年秋季学期 面面 向向 对对 象象 课程设计课程设计 题 目 车辆综合业务管理系统 专业班级 10 级计算机科学与技术四班 姓 名 郭 绯 学 号 10240404 指导教师 张 其 文 成 绩 目 录 摘 要 1 序 言 2 一 流程调查 3 二 函数的调用关系图 4 三 调试分析 5 1 调试过程中的主要问题 5 2 测试结果及主要操作 6 四 总 结 10 五 主要参考文献 11 六 致 谢 12 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 附录 13 源程序代码 带注释 13 摘摘 要要 循环队列是一种环状的队列并且对头元素指向队尾元 素 车辆综合管理系统问题是典型的采用循环队列和栈解决 的问题 再综合与类和结构 实验表明该算法的空间复杂度 优于其他算法 该车辆综合管理系统就是采用的这种算法 关键词 车辆综合管理 空间复杂度 循环队列 栈 序序 言言 在人们的生活中 机动车辆是我们每天都离不开的交通工 具 因此 我们要想能更好的使用它们 充分的发挥它们的作 用 使其能更好的服务于社会 就应该有一个良好的车辆管理 系统 车辆综合业务管理系统的主要作用是对于一个中等规模 的 独立运营的车队实现车辆调度和车队综合业务的有效管理 在对某车队的车辆调度 驾驶员管理 车辆管理以及业务管理 的深入调研后 力争开发出一个实用性较强的车辆综合业务管 理软件 基本上可以满足正常的车辆管理 通过本软件的设计 开发 使学生初步得到软件工程的训 练 全面培养软件开发过程中的分析 设计 编码 测试及文 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 档规范书写的能力 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 一 一 流程调查流程调查 机动车辆是我们每天都离不开的交通工具 因此 我们要 想能更好的使用它们 充分的发挥它们的作用 使其能更好的 服务于社会 就应该有一个良好的车辆管理系统 车辆综合业务管理系统的主要作用是对于一个中等规模的 独立运营的车队实现车辆调度和车队综合业务的有效管理 在 对某车队的车辆调度 驾驶员管理 车辆管理以及业务管理 深入调研后 通过实践 本程序可以实现车队的车辆调度 驾驶员管理 车辆管理及派出去的功能 二 函数的调用关系图二 函数的调用关系图 三 调试分析三 调试分析 1 调试过程中的主要问题 由于此停车场管理系统是分模块设计的 而且在程序的实现过 程中又使用了清屏函数 所以 运行时用户选择任务并且执行完任 务后 又会回到供用户选择功能的主界面 因此整个程序从整体上 主函数 用户界面 车辆回来车辆派出结束 ArrivalLeave车场 ListPRINT 便道 List 主函数 结束 返回 Leave 返回 车辆查看驾驶员查看 驾驶员 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 来讲结构清晰 使用方便 本程序的调试运行 总体上情况良好 但中间也出现了一些小问题 其中比较有代表性的主要问题有 当车场已经达到最大容量 但仍有车辆进入停车场的时候 运 行界面上没有出现或者说出现了但又跳掉了 停车场已满 该车辆 需在便道上等待 的提示信息 我们小组成员经过反复商量讨论 并且在查阅了多种资料后 在那一个 cin 语句后加了一个 cin 此时 程序运行结果就符合要求了 要将驾驶员信息存入文本后 必须和 读出的文本名称一致 否者讲初相乱码 设计更加合理 更加人性 化 更加方面用户使用 同时也提高了用户的操作效率 调试中遇 到的问题及对问题的解决方法 1 问题 字符和括号的输写错误 解决方法 把中文输入字母切换成英文输入 2 问题 括号的对应 解决方法 一个一个的补充括号和调整括号 2 调试程序 车辆管理界面 1 有车辆回来 录入信息 查看驾驶员界面 派出任务的车辆 4 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 车库满界面 车库情况界面 退出系统界面 7 四 总四 总 结结 通过这两周的课程设计 加深了我对 C 面向对象 这门课程所学内容 的进一步的理解与掌握 同时 通过对车辆管理系统的开发 使得我将计算机 课程所学知识与实际问题很好地相联接在了一起 在这次课程设计中 培养了 我开发一个中小型程序的能力 在这次对停车场管理系统的开发过程中 有过 程序功能成功实现时的欣喜 也有遇到问题 解决问题时的执着以及迷茫 在 这次课程设计中 使得我很好地了解了在开发程序过程中合作的重要性 从课题的布置到完成课程设计 按时完成了相关任务 通过这次课程设计 我学习到了很多算法与数据结构的知识 同时对本学期的课本所学知识有了进 一步巩固 特别是对栈和队列等的熟练运用 这次课程设计之后 我发现 动手比看书更能获取实际有用的知识 很多 知识 在书本上看似很有道理 可是这些知识在与实际情况结合起来往往就会 出现书本上没有见过的情况 或者说之前的理解与实际的使用是截然不同的 所以 真理是从实践中得知的 而且也只有实践才能检验真理 而这次课设也 加强了我们这些方面的理解能力 对书面上的东西实际操作在具体项目上有了 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 一个更加清晰的认识 我们还意识到一个大的程序 在写代码前 一定要有良 好的需求分析和结构设计 应该占整个程序设计的大部分时间 一个好的程序 分析设计应该要非常充分 这样才不至于代码写了一半才发现很多错误 在具 体代码操作之前的设计规划与构建才是一个优秀的程序设计的灵魂 设计过程中 我另一个大的体会就是要及时参考图书馆借来的书 通过教 程 大大的提高了工作的效率 同时我也发现自己的不足之处 对于很多自己 以为很熟悉的东西 在细节上的把握有许多不足 有些想当然 认为它应该是 这样 而忽略的事实 这也让我明白 做事细心是必须的 所谓细节决定成败 程序还有好多不足 在今后的日子里 我会虚心向老师同学请教 尽自己 最大的努力做到最好 五 主要参考文献五 主要参考文献 1 C 面向对象 程序设计教程 陈维兴 林小茶编著 清华大学 出本社 2 Jeraod V Post 数据库管理系统 英文版 第三版 美 清华大 学出版社 2006 1 3 张海藩 李劲 谢兆阳 SQL Server2000 数据库设计与系统管理 M 北京 清华大学出版社 2000 9 六 致六 致 谢谢 首先感谢我的指导老师张其文老师在我的课程设计过程中提出 了指导性的方案和架构 并指引我阅读相关的资料和书籍 使我在 面对从书本到实际应用的鸿沟之时有了一座坚固的桥 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 感谢我的数据结构老师张永老师和 C 语言老师刘嘉老师在以往 的基础课学习中为我打下良好的基础 这是我这次课程设计能够顺 利完成的前提 我的同学在设计过程及完成后的测试中起到了相当重要的作用 没有他们 我就不能发现后期测试过程出现的错误和漏洞 在此一 并表示感谢 附录附录 源程序代码 带注释 include include include include include 常量定义 define MAX STOP 6 定义停车场最大停车数 define MAX PLATE 10 定义车牌号最大长度 define TIME COUNT 秒 定义时间单位 define TIME MS TO CONUT 1000 定义时间进制 using namespace std 使用 std 命名空间 typedef struct 数据结构定义 定义存储汽车信息的结构体 char license plate MAX PLATE 汽车牌照号码 定义为一个字符指针类型 char state 汽车当前状态 字符 p 表示停放在停车位上 字符 s 表示停放在便道上 int time 汽车停入停车场时的时间 用来计时收费 CAR typedef struct 定义模拟停车场的栈结构 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 CAR STOP MAX STOP 汽车信息的存储空间 int top 用来指示栈顶位置的静态指针 SeqStack typedef struct node 定义模拟便道的队列结构 CAR WAIT 汽车信息的存储空间 struct node next 用来指示队列位置的动态指针 QNode 链队列节点的类型 typedef struct 定义链队列的收尾指针 QNode front rear LQueue 将头尾指针封装在一起的链队 int write 函数声明 int read int Empty LQueue LQueue q 判队空 检查离开的车是否在停车场中 int LeaveCheck SeqStack parking char license plate int QueueLength LQueue q 判队长度 int Out LQueue LQueue 出队操作 int StackEmpty SeqStack parking 判断栈是否为空 int StackFull SeqStack parking 判断栈是否为满 int StackPop SeqStack 出栈操作 int StackTop SeqStack parking char license plate int 取栈顶元素 void Car come SeqStack 有车到来时的操作 void Car leave SeqStack 有车离开的操作 void Display SeqStack parking 显示停车场内的所有信息 调试时用 void InitStack SeqStack 初始化栈 void InitList LQueue 初始化队列 void In LQueue LQueue 进队操作 void Input Check char license plate 检验输入的车牌是否合法 void StackPush SeqStack 进栈操作 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 void main SeqStack parking 定义变量 LQueue sidewalk NULL char choice new char int flag 1 定义一个变量 判断是否退出 InitStack parking 初始化一个为空的停车场 InitList sidewalk 初始化一个为空的便道 while flag 运行界面及功能选择 cout n t 欢迎使用车辆管理系统 n n cout t n n cout t 有车回来时请按 C 键 n n cout t 查看驾驶员请按 K 键 n n cout t 要派出车辆请按 l 键 n n cout t 查看停车场请按 D 键 n n cout t 要退出系统请按 Q 键 n n cout t n n cout 请选择操作 gets choice if 1 strlen choice cout 请正确输入选项 continue else switch choice case c case C 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 Car come parking sidewalk break case l case L Car leave parking sidewalk break case q case Q flag 0 break case d case D Display parking break case k case K read break default cout 选择不正确 请重新选择 n 有车到来时的操作 void Car come SeqStack cout 请输入车辆的车牌号码 Input Check license plate write 判断停车场是否已满 满则进入便道 不满进入停车场 if StackFull parking In LQueue sidewalk license plate 进入便道 cout 停车场已满请在便道等候 您的位置为 QueueLength sidewalk endl else StackPush parking license plate GetTickCount 进入停车场 cout 请进入停车场中的 parking top 1 号停车位 n void Car leave SeqStack 定义临时停车场 定义变量 char leave license plate MAX PLATE 要离开的车牌号 char license plate MAX PLATE 存放从停车场中读出来的车牌信息 int time InitStack tmpparking 初始化临时停车场 if StackEmpty parking 判断停车场中是否有车 cout 当前停车场中没有车 n return 退出子函数 cout 请输入要离开的车牌照 Input Check leave license plate cout 当前停车场中有 parking top 1 辆车 n if LeaveCheck parking leave license plate 判断车是否在停车场中 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 cout 您的车在 LeaveCheck parking leave license plate 号车位上 n 车在停车场中 while StackTop parking license plate time cout 牌照为 license plate 的车暂时退出停车场 parking top 1 号位 n StackPush tmpparking license plate time 停车场中的车暂时退出 进入临时停车场 StackPop parking 出栈 cout 牌照为 license plate 的车离开停车场 parking top 1 号位 n cout 您在停车场中停了 GetTickCount time TIME MS TO CONUT TIME COUNT endl endl 输出所停时间信息 StackPop parking 出栈 while StackEmpty tmpparking 1 将临时停车场中的车停回停车场 StackTop tmpparking license plate time StackPush parking license plate time cout 牌照为 license plate 的车进入停车场 parking top 1 号位 n license plate 0 0 StackPop tmpparking if parking top 1 MAX STOP 1 判断车离开前停车场是否停满 if QueueLength sidewalk 如果停满则判断便道上是否有车 Out LQueue sidewalk license plate 便道中有车 则从便道中停入停车场 出队 StackPush parking license plate GetTickCount 入栈 cout 在便道中牌照为 license plate 的车进入停车场 parking top 1 号位 n else cout 您的车不在停车场中 n 车不在停车场中 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 void InitStack SeqStack int StackEmpty SeqStack parking 判栈空 if parking top 1 return 1 else return 0 int StackFull SeqStack parking 判栈满 if parking top MAX STOP 1 return 1 else return 0 void StackPush SeqStack strcpy parking STOP parking top license plate license plate parking STOP parking top state p parking STOP parking top time stop time int StackPop SeqStack else return parking top 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 int StackTop SeqStack parking char license plate int else strcpy license plate parking STOP parking top license plate time parking STOP parking top time return 1 void Display SeqStack parking 显示所有 if parking top 1 printf 停车场为空 n else while parking top 1 cout 车牌号为 parking STOP parking top license plate cout endl read cout 停在 parking top 1 号车位上 cout 已停 GetTickCount parking STOP parking top time TIME MS TO CONUT TIME COUNT front sidewalk rear NULL void In LQueue LQueue car on sidewalk QNode malloc sizeof QNode 为新节点开辟新空间 strcpy car on sidewalk WAIT license plate license plate 将数据写入节点 car on sidewalk WAIT state s 写入停车信息 car on sidewalk WAIT time GetTickCount 写入停车时间 car on sidewalk next NULL if Empty LQueue sidewalk 队空则创建第一个节点 sidewalk front sidewalk rear car on sidewalk else sidewalk rear next car on sidewalk 队非空插入队尾 sidewalk rear car on sidewalk int Empty LQueue LQueue q 判队空 if q front NULL return 1 else return 0 int QueueLength LQueue q 判队长度 返回队长 QNode p q front int i 0 while p NULL 此文档收集于网络 如有侵权 请联系网站删除 此文档仅供学习与交流 i p p next return i int Out LQueue LQueue if Empty LQueue sidewalk 如果队空返回 0 return 0 car on sidewalk sidewalk front strcpy license plate car on sidewalk WAIT license plate 取出队头元素 if sidewalk front sidewalk rear 队中只有一个元素

温馨提示

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

评论

0/150

提交评论