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

下载本文档

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

文档简介

重庆科技学院车辆管理系统课程设计报告重庆科技学院面向对象程序设计课程设计报告 学 院:电气与信息工程学院 专业班级: 计科升2013-01 学生姓名: 廖帅林 学 号: 2015520134 设计地点(单位)_I514_ 设计题目:_ 停 车 场 管 理 系 统 设 计 _ 完成日期: 2016 年 1月 8 日 指导教师评语: _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 重庆科技学院面向对象程序设计课程设计报告重庆科技学院课程设计任务书设计题目:停车场管理系统设计学生姓名廖帅林课程名称面向对象课程设计专业班级计科升2013-01地 点I514起止时间12月28日1月8日设计内容及要求1)问题描述定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。2)功能要求(1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。(5)删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。3)问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;(8)完成系统总结报告。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:程序测试参考资料1Richard Johnsonbaugh. Martin Kalin.面向对象程序设计C+语言描述.机械工业出版社.2009年2钱能.+语言程序设计教程.清华大学出版社.2005年其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 王双明 指导教师:焦晓军 2015年1月8IV摘要该系统是用C+语言编写的一个简单的操作系统,在汇编环境下,用户可以按照界面的提示,选择不同的功能。该车库管理系统主要的设计方法是定义了两个类(Car和Manage)。Car类中定义了一些Car的基本属性,得到信息的函数和输出信息的函数,Manage(管理类)中主要实现车辆信息的添加,删除,查询,显示,统计和修改功能。该系统可以大大的节省管理者的时间和资源,也对所管理的对象的效率是非常高的。关键词:C+ 停车场管理系统 函数 功能 目录摘要III目录IV第一章 软件需求分析11.1 软件需求11.2 系统中各功能函数的关系图1第二章 系统分析与设计42.1系统运用的语言42.2类的定义42.3类中各函数执行的流程图52.4 主要函数功能实现17第三章 软件的实现19第四章 系统的调试204.1主界面的调试204.3查询功能的调试224.4编辑功能的调试234.5统计的调试234.5删除的调试24第五章 总结25致 谢26参考文献27第一章 软件需求分析1.1 软件需求本程序是运用C+语言编写的系统。其功能是对在库的车辆信息进行有效的管理,所以该系统主要面对的是停车场管理员。停车场管理员可以根据本系统的操作提示完成对所需要管理的对象进行有效的管理。在本系统中有很多功能,例如可以输入新的车辆信息,包括车辆的车牌号码、车的颜色、车的入库时间、车型、停车所交的费用等等。所以本系统不失为一个管理车辆的有效系统,尤其是面对对车辆需要有效管理的停车场、车站、二手车交易市场等等。1.2 系统中各功能函数的关系图主界面与各功能函数的关系:主界面统计功能删除功能编辑功能显示功能查询功能添加功能 图 1.1 主界面与各功能函数关系图添加函数功能:不添加,返回主界面添加页面主界面完成添加 判断不重复则添加继续添加图1.2 添加函数功能图查询函数功能:完成查询查询页面不再查询,返回主界面主界面继续查询图1.3 查询函数功能图显示函数功能:显示界面显示车库所有车辆信息 图1.4 显示函数功能图主界面库为空,提示记录为空主界面 图1.5 库为空显示函数功能图编辑函数功能: 按照提示进行修改输入的车辆信息有误,提示记录不存在编辑功能页面主界面找到要修改的车辆,并显示出具体的信息 图1.6 编辑函数功能图删除函数功能: 主界面 删除车辆功能函数选择要删除的车牌号给出提示信息 图1.7 删除函数功能图第二章 系统分析与设计2.1系统运用的语言 本系统主要是运用面对对象C+语言所编写的软件。运用了类的定义以及一些成员函数等等。本系统中主要运用面对对象C+语言对本系统的主要对象car进行类的定义,然后再运用Manage类的一些函数功能来实现。2.2类的定义其中Car中的类成员如下:表2-1 Car类成员表string number; 车牌号(受保护成员变量)string color;车的颜色(受保护成员变量)string type;车型(受保护成员变量)string intime;车入库时间(受保护成员变量)string outtime;车出库时间(受保护成员变量)void setouttime( string s)设置出库时间函数string Getouttime()得到出库时间void setnumber( string s)设置车牌号函数string Getnumber()得到车牌号函数void setcolor( string s)设置车的颜色string Getcolor() const得到车得颜色void setintime( string s)设置入库时间 函数void settype( string s)设置车型函数string Gettype()得到车型原函数string Getintime()得到入库时间函数void output()输出成员变量的函数void input()输入信息的函数Manage中类成员如下:表2-2 Manage类成员表int count下标(私有成员变量)int capacity最大存储容量(私有成员变量)bool Add()添加函数Void Display()显示函数Void Search()查找函数Void Delete()删除函数Void Edit()编辑函数Void Totle()统计函数Car car500定义一个Car类的对象2.3类中各函数执行的流程图添加函数流程图:开始 输入值a判断车库是否已满 Ya是否等于cari.Getnumber()()r()N N N 否 添加到car数组 Y Count+1,给出提示信息 结 束 图22.1添加函数流程图显示函数流程图:开 始判断count是否为0N提示记录为空 Y显示所有车辆总数 结 束2.2显示函数流程图编辑函数流程图: 开始 输入车牌号a a是否等于cai.Getnumber()()er() N Y输出对应的车信息,并给出提示信息选择操作 调用修改函数 提示修改结果 结 束 2.3 编辑函数流程图删除函数流程图: 开 始输入要删除的车牌号a判断a是否等于cari.Getnumber() N Y删除并给出提示信息、 结 束2.4 删除函数流程图按照本系统的功能,首先定义了一个类Car,其代码如下:class Carprotected:string number; /车牌号string color; /车的颜色string type; /车型string intime; /车的入库时间string outtime; /车出库时间 public:void input() coutnumber;coutcolor;couttype;coutintime;coutouttime; void output()cout车牌号:number 车的颜色:color 车型:type 车入库时间:intime 车出库时间:outtimeendl;void setintime( string s) intime=s;string Getintime()/得到入库得到时间函数return intime;void setouttime( string s) outtime=s;string Getouttime()/得到出库时间函数return outtime; void setnumber( string s) number=s;string Getnumber()/得到车牌号函数return number;void setcolor( string s)color=s; string Getcolor() const /得到颜色函数 return color;void settype( string s)type=s;string Gettype()/得到类型函数return type;;Manage的定义,其代码如下:Class ManageCar car500;/定义一个存放的数组int count;/下标int capacity;/最大存储容量public:Manage( int capa=500,int ct=0) capacity=capa; count=ct; Manage()bool Add()/添加函数string a;/定义存储需添加的车牌号的变量cout请输入你要添加车辆的信息endl; couta;if(count=capacity) /判断容量是否已满cout车库已满endl;return true;for(int i=0;icount;i+)/判断不重复添加 if(a=cari.Getnumber() cout本车辆已经添加!endl;return true;carcount+.input();cout添加成功endl;return true;void Search()/查找函数 cout请输入你要查询车辆信息的方式: 1.按车牌号进行查询 2.按车型进行查询A;string B;string C;if(count=0)cout记录为空!endl;switch(A)case 1: coutB; for(int i=0;icount;i+) if(B=cari.Getnumber() cari.output(); break; cout记录为空!endl; ;break;case 2: coutC; for(int i=0;icount;i+) if(C=cari.Gettype() cari.output(); break; cout记录为空!endl; ;break;void Display()/显示全部车辆信息函数 if(count=0)cout记录为空endl;for(int i=0;icount;i+) cari.output();bool Edit()/修改函数string a;/定义存储需添加的车牌号的变量int c;/可以选择多方式修改string d;/要修改的对应的参数int b;couta; for(int i=0;icount;i+)if(a=cari.Getnumber() cari.output(); b=i; break; cout记录为空!endl;cout0.修改车牌号 1.修改颜色 2.修改车型 3.修改入库时间 4.修改出库时间 5.退出修改界面endl;coutc; switch(c) case 0: coutd; carb.setnumber(d); cout修改成功!endl; break; case 1: coutd; carb.setcolor(d); cout修改成功!endl; break; case 2: coutd; carb.settype(d); cout修改成功!endl; break; case 3: coutd; carb.setintime(d); cout修改成功!endl; break; case 4: coutd; carb.setouttime(d); cout修改成功!endl; break; case 5: cout你已成功退出修改界面endl; break; return true;void Delete()/删除函数 string a;cout请输入你要删除车辆的信息:endl;couta;if(count=0)cout记录为空!endl; for(int i=0;icount;i+) if(a=cari.Getnumber() for(int j=i;jcount-1;j+)/查找到删除并进行移位 carj=carj+1;cout删除成功endl;count-;break; 2.4 主要函数功能实现另外一些需要一些函数来完成二级页面的界面显示,其代码如下:void Add1()int b;/编号cout*endl;cout* *endl;cout 1.添加车辆具体信息 endl;cout 0.退出添加功能界面 endl;coutb;switch(b) case 1:a.Add();break; case 0:cout你已成功退出添加功能界面 endl;break;void Search1()int b;/编号cout*endl;cout* *endl;cout 1.查找车辆具体信息 endl;cout 0.退出查询功能界面 endl;coutb;switch(b) case 1: a.Search();break; case 0: cout你已成功退出查询功能界面endl;break;void Display1()int b;/编号cout*endl;cout* *endl;cout 1.显示车辆具体信息 endl;cout 0.退出显示功能界面 endl;coutb;switch(b) case 0: cout你已成功退出显示功能界面 endl;break; case 1: a.Display();break;void Delete1()int b;/编号cout*endl;cout* *endl;cout 1.删除车辆具体信息 endl;cout 0.退出删除功能界面 endl;coutb;switch(b) case 0:cout你已成功退出删除功能界面 endl;break; case 1:a.Delete();break;void Edit1()int b;/编号cout*endl;cout* *endl;cout 1.编辑车辆具体信息 endl;cout 0.退出编辑功能界面 endl;coutb;switch(b) case 0:cout你已成功退出编辑功能界面endl;break; case 1:a.Edit();break;void Totle1()int b;/编号cout*endl;cout* *endl;cout 1.统计车辆具体总数 endl;cout 0.退出统计功能界面 endl;coutb;switch(b) case 0:cout你已成功退出统计功能界面 endl;break; case 1:a.Totle();break;第三章 软件的实现主函数主要代码如下:Manage a;/定义一个Managede的全局对象int main()cout*欢迎进入华瑞车库管理系统*endl;int a;/选择功能序号 do cout*请选择你需要的功能*endl; cout*endl; cout* 1.添加车辆信息功能 *endl; cout* 2.查询车辆信息功能 *endl; cout* 3.显示车辆信息功能 *endl; cout* 4.删除车辆信息功能 *endl; cout* 5.修改车辆信息功能 *endl; cout* 6.统计车库车辆数功能 *endl; cout* 0.退出功能界面 *endl; cout请输入你的选择:a; switch(a) case 0:cout你已经安全退出系统,欢迎你下次使用!endl;break; case 1:Add1();break; case 2:Search1();break; case 3:Displa

温馨提示

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

评论

0/150

提交评论