停车场管理系统课程设计报告_第1页
停车场管理系统课程设计报告_第2页
停车场管理系统课程设计报告_第3页
停车场管理系统课程设计报告_第4页
停车场管理系统课程设计报告_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1 重庆科技学院重庆科技学院 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 学 院 电气与信息工程学院 专业班级 计科 12 04 学生姓名 田园 学 号 设计地点 单位 计算机自主学习中心 设计题目 停车场管理系统 完成日期 2013 年 1 月 18 日 指导教师评语 成绩 五级记分制 2 指导教师 签字 摘要摘要 当今社会 停车场管理电脑化已经成为了停车场管理的不可缺少的一项重要内容 随着停车车辆的不断增加 停车场对停车的管理越来越复杂 所以要实现对停车的正 确管理是必不可少的 本次课程设计就是为了对停车基本的信息及其停车费用的管理 做一个简单的表现 主要实现对停车的信息录入 修改 删除 显示 添加 查找等 几个方面的功能 而要实现这些功能 首先要建一个数组 将所有停车的信息都统筹 起来 而且通过 C 建立类的方式完成这些过程 并且能准确明显的显示每辆停车的 基本信息和对其资费的管理 通过如此对停车的管理 可以达到对停车信息的准确管 理 关键词 关键词 停车场管理 数组 C 类 3 重庆科技学院重庆科技学院 课程设计任务书课程设计任务书 设计题目 停车场管理系统设计 学生姓名 课程名称程序设计基础课程设计专业班级计科 11 地 点 I304 I306 起止时间2013 年 1 月 7 日 1 月 18 日 设 计 内 容 及 要 求 1 问题描述 定义车辆类 属性有车牌号 颜色 车型 小汽车 小卡 中卡和大卡 到 达的时间和离开的时间等信息和相关的对属性做操作的行为 定义一个管理类 完成对停车场的管理 停车场的具体要求 设停车场是一个 可停放 n 辆汽车的狭长通道 且只有一个大门可供汽车进出 汽车在停车场内按车 辆到达时间的先后顺序 依次由北向南排列 大门在最南端 最先到达的第一辆车 停放在车场的最北端 若车场内已停满 n 辆汽车 则后来的汽车只能在门外的便 道上等待 一旦有车开走 则排在便道上的第一辆车即可开入 每辆停放在车场的 车在它离开停车场时必须按它停留的时间长短交纳费用 2 功能要求 1 添加功能 程序能够添加到达停车场的车辆信息 要求车辆的车牌号要 唯一 如果添加了重复编号的记录时 则提示数据添加重复并取消添加 2 查询功能 可根据车牌号 车型等信息对已添加的停车场中的车辆信息 进行查询 如果未找到 给出相应的提示信息 如果找到 则显示相应的记录信息 3 显示功能 可显示当前系统中所有车辆的信息 每条记录占据一行 4 编辑功能 可根据查询结果对相应的记录进行修改 修改时注意车牌号 的唯一性 5 删除功能 主要实现对已添加的车辆记录进行删除 如果当前系统中没 有相应的人员记录 则提示 记录为空 并返回操作 6 统计功能 能统计停车场中车辆的总数 按车型 按到达时间进行统计 等 3 问题的解决方案 根据系统功能要求 可以将问题解决分为以下步骤 1 应用系统分析 建立该系统的功能模块框图以及界面的组织和设计 2 分析系统中的各个实体及它们之间的关系 3 根据问题描述 设计系统的类层次 4 完成类层次中各个类的描述 5 完成类中各个成员函数的定义 6 完成系统的应用模块 7 功能调试 8 完成系统总结报告 根据题目要求 运用所学知识 完成设计和实现工作 并按照书写规范 撰写 课程设计报告 4 设 计 参 数 1 系统分析 设计正确 2 结果以图表方式显示 3 界面简洁 美观 4 报告格式规范 进 度 要 求 周一 明确设计任务 学习相关基础知识 周二 熟悉各知识点 进行基础练习 周三 根据题目要求 进行设计和实现 周四 根据题目要求 进行设计和实现 周五 程序测试 参 考 资 料 1 Richard Johnsonbaugh Martin Kalin 面向对象程序设计 C 语言描述 机械工业出版社 2009 年 2 钱能 语言程序设计教程 清华大学出版社 2005 年 其 它 说 明 本表应在每次实施前一周由负责教师填写二份 院系审批后交院系办备案 一 份由负责教师留用 若填写内容较多可另纸附后 3 一题多名学生共用的 在设计内容 参数 要求等方面应有所区别 教研室主任 指导教师 裴仰军 伍建全 焦晓军 陈应祖 2013 年1月1日 5 目录目录 6 1 软件需求分析说明书软件需求分析说明书 主要介绍该软件具有哪些详细的功能 及软件的界面要求 数据结 构要求等 要把软件的所有的功能全部写在该部分 1 课程设计的目的和要求课程设计的目的和要求 1 1 综合要求和目的 综合要求和目的 C 语言课程设计的主要目的是培养学生综合运用 C 语言程序设计 课程所学到的知识 编写 C 程序解决实际问题的能力 以及严谨的工作 态度和良好的程序设计习惯 通过课程设计的训练 学生应该能够了解程 序设计的基本开发过程 掌握编写 调试和测试 C 语言程序的基本技巧 充分理解结构化程序设计的基本方法 C 语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范 运用结构化程序设计的方法 按照课程设计的题目要求 分析 设计 编 写 调试和测试 C 语言程序及编写设计报告 1 2 本课程设计的目标 本课程设计的目标 1 巩固和加深学生对 C 语言课程的基本知识的理解和掌握 2 掌握 C 语言编程和程序调试的基本技能 3 掌握利用 C 语言进行软件设计的方法 4 提高书写程序设计说明文档的能力 5 提高运用 C 语言解决实际问题的能力 7 1 3 基本要求 基本要求 1 分析课程设计题目的要求 2 对系统功能模块进行分析 写出详细的设计说明文档 3 编写程序代码 代码量要求不少于 300 行 调试程序使其能正确运 行 4 设计完成的软件要便于操作和使用 5 设计完成后提交课程设计报告 1 4 设计要求设计要求 停车场是一个可停放 n 辆汽车的狭长通道 且只有一个大门可供汽 车进出 汽车在停车场内按车辆到达时间的先后顺序 依次由北向南 排列 大门在最南端 最先到达的第一辆车停放在车场的最北端 若 车场内已停满 n 辆汽车 则后来的汽车只能在门外的便道上等待 一 旦有车开走 则排在便道上的第一辆车即可开入 每辆停放在车场的 车在它离开停车场时必须按它停留的时间长短交纳费用 车进入停车场需要输入该车的车牌信息 车的颜色 车的型号和车 进入停车场的准确时间 其中车牌信息是一辆车的标志 只有通过车牌信息才能准确的确认 该车 车的颜色是每辆的共有属性 车的型号一共分为四种 包括小汽车 小卡 中卡 大卡 这四种 车型是用来统计车辆信息的利器 停车场管理员可以根据四辆车的型 号来统计这四种车分别有多少辆 这样才能更好的管理停车场中的所 有停车 车进入停车场的准确时间包括车进停车场的年 车进停车场的月 车进停车场的日 车进停车场的小时 车进停车场的分钟 车进停车 场的秒 只有准确的记录这些信息才能对停车的信息把握的更充分 更到位 而且必须根据车进入停车场的时间才能在车开出停车场的时 候计算出该车在停车场中所停的时间 才能通过停车时间来计算车辆 8 应该缴纳的停车费用 只有完全精确地输入所有的信息各种车辆才能有条不紊的进出停车 场 完成停车 停车场管理员才能更加更好的完成工作 9 2 系统分析与设计系统分析与设计 2 1 软件界面设计软件界面设计 画出软件全部全部输入 输出数据的界面 并对每一个界面进行详细的操 作说明 首页 图 2 1 0 这是首页 接下来输入选择的操作的序号 输入 1 图 2 1 1 10 选择 1 接下来输入进入停车场的车的车牌号 输完了车牌号之后会有 Color CheXing year mouth day hour minute second 的信息输入 输入 2 图 2 1 2 选择 2 接下来输入要离开停车场的车的车牌号 根据车牌号可以让车 辆离开停车场 并且会在确认停车场之内有该辆车之后输入离开时间 用 以计算停车费用 输入 3 图 2 1 3 选择 3 接下来输入车牌号就可以查询停车场中是否存在该车 如果没 有有两种选择 一是车辆入库 二是返回首页 接下来输入相应的操作序 号 就可以达到相应效果 如果输入错误会有提示 并给出返回首页的操 作 如果停车场中有该辆车 程序就会输出该车的所有信息 并给出三种 11 选项 一是删除该给信息 二是修改该车信息 三是返回首页 输入相应 序号可以完成相应操作 如果输入错误会有提示 并给出返回首页的操作 输入 4 图 2 1 4 接下来程序就会显示出停车场中的所有车辆信息 并且这些车辆信息 会每辆汽车的信息站一列显示 这样就可以很轻松的对信息进行观察 信 息显示完了之后会有 1 返回首页 的选择操作 如果输入 1 就会返回首页 果输入错误会有提示 并给出返回首页的操作 输入 5 图 2 1 5 输入了 5 就会程序就会显示出按总数统计和按车型统计两种选择统 12 计方法 如果接着输入 1 选择按总数统计 程序就会自动的统计出停车 场中现有的停车数量 接下来就会给出返回首页的操作 如果选择怎却就 会返回首页 如果错误会有提示 并继续给出返回首页的操作 如果输入 2 选择按车型统计 程序就会自动的将四种车型在停车场 中的数量分别统计其辆数 并且显示出来 接下来就会给出返回首页的操 作 如果选择怎却就会返回首页 如果错误会有提示 并继续给出返回首 页的操作 输入其它 图 2 1 6 如果输入的不是 1 2 3 4 5 种选项中的其中一种 二是随意乱输 的一个数值 程序就会显示无此选项 的操作并且给出返回首页重新选择 的操作 如果继续输入错误就会继续提示 2 2 软件的数据 结构 设计软件的数据 结构 设计 对整个软件使用的文件功能 文件内部的数据格式进行说明 图 2 2 1 13 在本课程设计中我一个用了一个 txt 文本来存储车辆信息 在该文本 中 第一行是一个整形的数值 它的作用是显示该文本中一共存放了多少 来辆车 2 3 软件的算法设计软件的算法设计 画出整个软件的模块图 并对每一个模块图的算法用程序流程图 功 是伪代码来实现 图 2 3 1 首页 汽 车 进 停 车 场 汽 车 出 停 车 场 汽 车 信 息 查 询 显 示 所 有 汽 车 汽 车 信 息 统 计 车 牌 车 色 车 型 入 场 时 间 车牌号 车 牌 号 全 部 车 辆 数 四 种 车 型 分 别 数 量 14 3 软件的实现与测试软件的实现与测试 3 1 软件的实现软件的实现 3 1 1 车的类型车的类型 车的属性 车包括车牌号 车色 车型 入停车场时间等属性 车的方法 包括 Set show 两个方法 车的属性中车牌具有唯一性 是用来分辨各辆车的唯一标准 所以输 入时一定要小心别输入错误 色车在各种车中是可以相同的 不具有唯一 性 车型一共就只有四种 分别是 xiaoqiche xiaoka zhognka daka 输入时一定要 注意车型 汽车进入停车场时间用来在后面计算汽车费用是必不可少的 所以以上四种属性多很重要 车的方法是 Set show 其中 Set 的作用是用来给车的属性赋 值用的 而 show 的作用是用来展示车的各种属性的 class Che public string ID string Color string CheXing Time aTime Che Next Che void Set cout ID cout Color cout CheXing xiaoqiche xiaoka zhongka daka CheXing aTime setTime void show cout ID cout Color cout CheXing aTime showTime Che 3 1 2 时间类型时间类型 时间属性 包括 year mouth day hour minute second 等属性 时间方法 包括 setTime showTime 两种方法 此程序中的时间类型一共就有 year mouth day hour minute second 其中 year mouth day hour minute 是用来计算停车时间必不可少的因素 而 second 是用来确定准确时间的 所以都很重要 不容有错 时间的方法就是 setTime showTime 其中 setTime 使用来给时间赋 值的 而 showTime 是用来展示时间属性的 class Time public int year int mouth int day int hour int minute int second void setTime cout Time endl cout year cout mouth cout day 16 cout hour cout minute cout second void showTime cout year mouth day hour minute second 3 1 3 首页函数首页函数 首页是一个软件的门户 首页不好看 该程序就会在客户心中有一个 不好的影响 如果首页很好 那即使你的内容差一点 我相信客户也是会 首先考虑你的产品的 就因为你的首页 比别的更美观 更好看 这就是 一个很大的优势了 在当今社会中有时候门面就比内容更重要 好的门面 就是好的开始 而首页就是这个软件的门面 所以好的软件不能没有好的 首页 接下来就是我的首页函数 void Shouye 首页 int i cout n cout t 1 汽车进停车场 n cout t 2 汽车出停车场 n cout t 3 汽车信息查询 n cout t 4 显示所有汽车 n cout t 5 汽车信息统计 n cout t i switch i case 1 system cls Input break break case 2 17 system cls Output break break case 3 system cls Chaxun break break case 4 system cls Xianshi break break case 5 system cls Tongji break break default cout 无此选项 endl cout 1 返回首页从新选择 h if h 1 system cls Shouye else Cuo1 18 3 1 4 车辆进入停车场车辆进入停车场 在我的课程设计中车辆进入停车场我采用了数组存放车辆数据的方式 数组中每一个空间单元存放一辆车 在输入停车信息之前先从 text 文本中 把其存储的车辆信息取出来放入 p 数组中 如果文本中存放的车辆数目 以达到极限 则提示停车场已满 如果文本中存放的车辆数目没到极限 则输入进入停车场的车的信息 之后再把更新了的数组在输入到 text 文本 中保存 void Input 车辆进入停车场 ifstream fin text txt ios in if fin cout 文件打开失败 i cout 停车场中已有车 i 辆 endl Che p MaxChe for int j 0 j p j ID p j Color p j CheXing p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second cout p j ID t p j Color t p j CheXing t p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second endl fin close if i MaxChe cout 车辆可以进入停车场 endl p i Set ofstream fout text txt ios out fout i 1 endl for int j 0 j i 1 j 19 fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime mouth t p j aTime day t p j aTime hour t p j aTime minute t p j aTime second n fout close cout endl cout 1 继续停车 endl cout 2 返回首页 h if h 1 Input if h 2 system cls Shouye if h 1 else cout cout 停车场已满 endl cout 1 返回首页 h if h 1 system cls Shouye else Cuo1 3 1 5 车辆离开停车场车辆离开停车场 在我的课程设计中车辆离开停车场我采用了数组存放车辆数据的方式 数组中每一 个空间单元存放一辆车 车辆要离开停车场 需要输入离开停车场的车辆的车牌号 在输入车牌号之前程序会先从 text 文本中把其存储的车辆信息取出来放入 p 数组中 20 如果文本中存放的车辆数目为 0 则提示停车场中没有停车 否则 则输入离开停车场 的车的车牌号 之后会用数组中的车的车牌号与输入的对比若有这辆车 则输出该车 的信息 若都对不上 则提示停车场中没有该车 最后再把更新了的数组在输入到 text 文本中保存 void Output 车辆离开停车场并计算停车费用 ifstream fin text txt ios in if fin cout 文件打开失败 i cout 停车场中已有车 i 辆 endl Che p MaxChe for int j 0 j p j ID p j Color p j CheXing p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second cout p j ID t p j Color t p j CheXing t p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second endl fin close if i 0 string cp cout 按车牌查询 endl cout cp cout 出场时间 endl Time bTime bTime setTime ofstream fout text txt ios out fout i 1 endl for j 0 j i j if p j ID cp cout e ndl 21 cout 该车进入停车场时间为 cout p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second endl cout 每分钟 Chefei 元钱 endl int money money bTime year p j aTime year 12 31 24 60 bTime mouth p j aTime mouth 31 24 60 bTime day p j aTime day 24 60 bTime hour p j aTime hour 60 bTime minute p j aTime minute 10 cout 共计 money 元钱 endl for j 0 j i j if p j ID cp int a a j for j 0 j a j fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime mouth t p j aTime day t p j aTime hour t p j aTime minute t p j aTime s econd endl for int j a 1 j i j fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime mouth t p j aTime day t p j aTime hour t p j aTime minute t p j aTime s econd endl cout 离场成功 endl cout h if h 1 system cls Shouye else Cuo1 break 22 fout close else cout 停车场中无车 endl cout 1 车辆进入停车场 endl cout 2 返回首页 h if h 1 Input if h 2 system cls Shouye if h 1 3 1 6 其它功能其它功能 在本软件中还有车辆信息的查询 车辆信息的删除 车辆信息的修改 显示所有信息 车辆信息的统计等功能 但这些功能都与以上两种大同小 异 车辆信息的查询 类似于车辆离开停车场 输入编号查找到有该车后 直接输出该车信息就完成 不在出库 就是车辆信息的查询 string cx cout 按车牌查询 endl cout cx for j 0 j i j if p j ID cx cout endl cout p j ID t p j Color t p j CheXing t p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second endl 23 车辆信息的删除 是在车辆离开停车场的基础上不统计消费直接离开 就是车辆信息的删除 if h 1 ofstream fout text txt ios out int a a j fout i 1 endl for j 0 j a j fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime m outh t p j aTime day t p j aTime hour t p j aTime minute t p j aTime second endl for int j a 1 j i j fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime m outh t p j aTime day t p j aTime hour t p j aTime minute t p j aTime second endl fout close cout 删除成功 endl 车辆信息的修改 是在车辆信息的查询的基础上 在数组输入文件之 前把要改的信息改掉 在把数组输入文本中 if h 2 cout endl cout 1 修改单种信息 endl cout 2 修改多种信息 h if h 1 cout endl cout 1 修改车牌 endl cout 2 修改车色 endl cout 3 修改车型 endl cout 4 修改车辆入场时间 o if o 1 cout p j ID if o 2 24 cout p j Color if o 3 cout p j CheXing if o 4 P j setTime if o 1 break if h 2 p j Set if h 1 ofstream fout text txt ios out int a a j fout i 1 for j 0 j i j fout p j ID t p j Color t p j CheXing t p j aTime year t p j aTime m outh t p j aTime day t p j aTime hour t p j aTime minute t p j aTime second endl fout close 显示所有信息 是等从文本中的车辆信息全部读入到数组后 把数组 中的信息输出 就是显示所有信息 void Xianshi 显示车库中的车辆信息 ifstream fin text txt ios in if fin cout 文件打开失败 i cout 停车场中已有车 i 辆 endl Che p MaxChe for int j 0 j p j ID p j Color p j CheXing p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second cout p j ID t p j Color t p j CheXing t p j aTime year p j aTime mouth p j aTime day p j aTime hour p j aTime minute p j aTime second endl fin close cout 1 返回首页 h if h 1 system cls Shouye else Cuo1 车辆信息的统计 有两种计算方法 一是计算停车场中的车辆总数 该种计算是直接读取文本中的第一个整形 并给予输出 二是按照车辆的 四种列别 xiaoqiche xiaoka zhongka daka 分别来输出它们的数量 即在 文本信息读入后 用遍历的方法 定义 a b c d 都为 0 如果数组中的 其中一辆为这四种类型中的一种 则 a b c d 中对应的自加 1 最后输 出结果 就是车辆信息的统计 void Tongji 统计车库中的车 ifstream fin text txt ios in if fin cout 文件打开失败 i cout 停车场中已有车 i 辆 endl Che p MaxChe for i

温馨提示

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

评论

0/150

提交评论