1、北 华 航 天 工 业 学 院基于C+面向对象程序设计实例实践汇报报 告 题 目 : 车辆管理系统设计 作者所在系部: 计算机科学与工程系 作者所在专业: 网络工程 作者所在班级: B12522 作 者 学 号 : 作 者 姓 名 : 妖YYYao 指导教师姓名: 李瑛 完 成 时 间 : 6月 北华航天工业学院教务处制摘 要在目前市场经济体制下,企业要想提高市场竞争力,获得好经济效益,不仅要有好产品,同步也要有好管理方式,因此必须拥有一套完善并且适合自身特点信息化管理系统,以实现企业减少成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目等管理目。本文运用Vis
2、ual C+6.0 编写程序,实现了顾客对企业车辆编号、车牌号、车辆制造企业、车辆购置时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、合计总费用等信息管理。本系统重要实现了对车辆添加,查询,显示,编辑,删除,记录,存盘,读出。重要运用了类继承等编程措施来实现对这些车辆管理。已通过全面系统测试,可以很好运行,到达了预期效果。关键词:系统设计 车辆管理 类继承目 录摘要第1章 绪 论11.1 课程设计目11.2 课程设计背景及意义11.2.1课程设计背景11.2.2课程设计意义11.3 课程设计环境1第2章 系统需求分析22.1问题描述22.2功能分析22.3
3、问题处理方案3第3章 系统设计431 数据设计4311 类设计4312 类之间关系4313 函数设计432 构造设计5321 系统流程图5322 界面设计6第4章 系统实现841 类实现842 函数实现1043 主函数实现14第5章 系统测试1651 模块测试1652 课程设计过程中碰到问题18总结19道谢20参照文献21第一章 绪论11 课程设计目(1) 规定学生可以纯熟掌握C+语言基本知识和技能。(2) 加班掌握面向对象程序设计基本思绪和措施。(3) 可以运用所学基本知识和技能,处理简朴面向对象程序设计问题。12 课程设计背景和意义121 课程设计背景1. 理论研究基础(1)C+在C基础上
4、增长了面向对象机制。(2)充足运用面向对象机制中继承性与多态性实现函数设计。2. 技术层面支持运用系统为C+面向对象程序设计提供多种设计措施和VC+系统提供库函数实现项目开发。122 课程设计意义通过设计此系统,纯熟掌握C+语言基本知识和技能,基本掌握面向对象程序开发基本思绪和措施,培养学生动手操作能力,提高自主学习能力,可以运用所学基本知识和技能,进行简朴应用程序设计。13 课程设计环境Visual C+6.0第二章 需求分析21 问题描述车辆管理系统重要负责多种车辆常规信息管理工作。 系统中车辆重要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造企业、车辆购置时间、车辆型号(大
5、客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、合计总费用等信息。大客车尚有载客量(最大载客数)信息,小轿车尚有箱数(两厢或三厢)信息,卡车尚有载重量等信息。 每台车辆当月总费用= 油价* 耗油量/ 公里+ 基本维护费用。 基本维护费用:客车: 元/ 月,小轿车:1000 元/ 月,卡车:1500元/月 22 功能规定(1)添加车辆:重要完毕车辆信息添加,规定编号唯一。当添加了反复编号时,则提醒数据添加反复并取消添加;当车辆信息库已满,则提醒不能再添加新数据。(2)查询车辆: 可按照三种方式来查询物品,分别为: 按车辆制造企业查询:输入车辆制造企业,输出所查询信息,若不存在
6、该记录,则提醒“该车辆制造企业不存在!”; 按编号查询:输入编号,输出所查询信息,若不存在该记录,则提醒“该编号不存在!”; 按类别查询:输入类别,输出所查询信息,若不存在记录,则提醒“该类别没有车辆!”。 (3)显示车辆信息库:输出目前车辆信息库中所有车辆信息,每条记录占据一行。 (4)编辑功能:可根据查询成果对对应记录进行修改,修改时注意编号唯一性。 (5)删除车辆:重要完毕车辆信息删除。假如目前车辆信息库为空,则提醒“车辆信息库为空!”,并返回操作;否则,输入要删除编号,根据编号删除该车辆记录,假如该编号不在车辆信息库库中,则提醒“该编号不存在”。 (6)记录信息:输出目前车辆信息库中总
7、物品数,以及按车辆类别,记录出目前车辆信息库中各类别物品数并显示。 (7)车辆信息存盘:将目前途序中车辆信息存入文献中。 (8)读出车辆信息:从文献中将车辆信息读入程序。 23 问题处理方案根据系统功能规定,可以将问题处理分为如下环节: (1)应用系统分析,建立该系统功能模块框图以及界面组织和设计; (2)分析系统中各个实体及它们之间关系; (3)根据问题描述,设计系统类层次; (4)完毕类层次中各个类描述; (5)完毕类中各个组员函数定义; (6)完毕系统应用模块; (7)功能调试; (8)完毕系统总结汇报。第三章 系统设计31 数据设计311 类设计(1) 日期类Date (2) 车辆类V
8、ehicle(3) 车辆管理类ManyVehicle312 类之间关系(1) Date日期类:基类(2)Vehicle车辆类:公有继承Date类(3)ManyVehicle车辆数组类:公有继承Vehicle类313 函数设计(1) 添加函数:添加一种新数据。如信息库已满,显示“信息库已满!不能添加新数据!”并退出添加;如编号反复则显示“数据添加反复!取消添加!”并退出添加;如可以添加,提醒顾客“目前信息库未满!可以添加”,在输入车辆信息后显示“数据添加成功!”并保留目前添加数据,信息库车辆总数加一。(2) 查询函数:查询车辆信息并显示。系统提醒按车辆制造企业查询、按编号查询、按类别查询三种查询
9、方式,通过输入序号选择查询方式。假如所查询制造企业,编号,或类别下没有车辆信息,则提醒顾客索要查询信息不存在,并退出查询;如信息存在则显示出所要查询车辆信息,显示完毕后提醒顾客“查询完毕!”,并退出查询。(3) 显示函数:将所有车辆信息显示出来。(4) 编辑函数:修改已经有车辆信息。顾客输入编号,若没有该编号,提醒顾客“该编号不存在!”并退出编辑;否则提醒顾客“请重新输入车辆信息”,顾客输入新信息后,系统进行保留并退出编辑。编辑时不能对编号进行修改。(5) 删除函数:将已经有车辆信息删除。顾客输入车辆编号,若没有该编号,提醒顾客“操作失败!该编号不存在!”并退出删除;否则删除该编号下车辆信息,
10、提醒顾客“操作成功!车辆已从数据库中删除!”并保留,信息库车辆总数减一。(6) 记录函数:将信息库内车辆信息分类。分别记录出大客车,小轿车,卡车数量以及车辆总数,并进行输出。(7) 保留函数:将信息保留为txt文献,保留成功后提醒顾客“信息保留成功!”;否则显示“信息文献保留失败!”。(8) 读出函数:从txt文献中将车辆信息读入程序。(9) 退出函数:提醒顾客退出系统,显示结束界面。32 构造设计调用公有继承公有继承Main函数Date(日期类)Vehicle(车辆类)ManyVehicele(车辆数组类)显显示显添加显查询显记录显删除显存盘显编辑显读出菜主菜单调用图3-1.流程图321 系
11、统流程图322 界面设计(1)欢迎界面:按Enter键清屏并显示主菜单。图3-2. 欢迎界面 (2)主菜单:通过输入序号进行对应操作。输入0退出系统。图3-3.主菜单图3-4.查询菜单 (3)查询菜单:主菜单下子菜单。在主菜单下输入“2”,则进入本子菜单。通过输入序号进行对应查询方式。第四章 系统实现41 类实现l 类名日期类 Datel 数据组员int year; int month; int day; /年,月,日l 组员函数int GetYear(); int GetMonth(); int GetDay(); /返回 year,month,dayvoid Input_Date(); /
12、输入日期void Show_Date(); /输出日期l 类名车辆类 Vehiclel 数据组员string num; string plate; string make; /车辆编号,车牌号,制造企业Date time; /车辆购置时间string type; /车辆型号double kilometres; /总公里数Double oil, maintenance; /耗油量/公里,基本维护费用double road;double money; /养路费,合计总费用int people; int box;int heavy; /载客量,箱数,载重量l 组员函数string GetNum();
13、 string GetMake(); string GetType(); /传递void Num(); /车辆编号输入double Maintenance();double Money(); /基本维护费用,合计总费用void Input(); /输入车辆信息void Show(); /输出车辆信息void Show_txt(); /输出文献信息friend ostream & operator =N)cout信息库已满!不能添加新数据!endlendl;return;cout请输入您想要添加;v1.Vehicle:Num();for(int i=0;itop;i+)if(v1.GetNum(
14、)=vi.Vehicle:GetNum()cout数据添加反复!取消添加!endlendl;return;cout目前信息库未满!可以添加endl;v1.Vehicle:Input();vtop=v1;cout数据添加成功!endlendl;top+;ofstream outfile(车辆信息库.txt,ios:out);for(int k=0;ktop;k+)outfilevkendl;outfile.close();运行成果:图4-1.主菜单实现(2) 删除函数:void ManyVehicle:Delete()Vehicle v3;cout请输入您所要删除;v3.Vehicle:Num(
15、);for(int i=0;i=top)coutendl操作失败!该编号不存在!endlendl;return;Vehicle vt;for(int j=0;jtop;j+)if(v3.Vehicle:GetNum()=vj.Vehicle:GetNum()vj=vj+1;top-;coutendl操作成功!编号v3.Vehicle:GetNum()车辆已从数据库中删除!endlendl;ofstream outfile(车辆信息库.txt,ios:out);for(int k=0;ktop;k+)outfilevkendl;outfile.close();运行成果:图4-2.读出函数实现图4
16、-3.删除函数实现图4-4.显示目前信息库(3) 退出函数:void ManyVehicle:Quit()coutendl;coutendl;coutendl;cout系统已退出!欢迎再次使用!endl;coutendl;coutendl;coutendl;运行成果:图4-5.退出系统43 主函数实现 (1)程序代码:int main()Welcome();if(cin.get()=n)system(cls);ManyVehicle m1;int i=0;while(1)Menu();coutendl;coutn;couta;coutendl;switch(n)case 1:m1.Add();
17、break;case 2:m1.Find();break;case 3:m1.Show();break;case 4:m1.Edit();break;case 5:m1.Delete();break;case 6:m1.Statistics();break;case 7:m1.Save();break;case 8:m1.Read();break;case 0:m1.Quit();return 0;default:cout输入不合法!endl;break;(2)运行成果:输入不一样序号分别执行不一样函数,进行对应操作。图4-6.查询函数实现第五章 系统测试51 模块测试(1) 读出数据:将保留
18、在文献内信息读出。图5-1.读出数据(2) 添加数据:添加一种反复编号,系统显示“数据添加反复!取消添加!”并退回主菜单。图5-2.添加数据(3) 查询一种无效编号。图5-3.查询一种无效编号(4) 查询卡车类下所有车辆信息。图5-4.按类别查询(5) 记录目前信息。图5-5.记录52 课程设计过程中碰到问题(1) 删除函数:删除车辆信息时,信息库车辆总数要减一,一开始运行时候,出现了信息反复现象;后来将数组中每个信息复制到前面,再依次输出,最终将数组中车辆总数top 减一,再运行,就对了。(2) 清屏功能:一开始,将清屏写到了每个功能函数背面,执行完函数买就自动清屏,执行出来内容闪一下就被清
19、屏了;后来将清屏写到了欢迎界面背面,按回车键,执行清屏功能并进入主菜单,看起来清晰多了。总 结课程设计是培养学生综合运用所学知识,发现、提出、分析和处理实际问题,锻炼实际能力重要环节。是对学生实际工作能力详细训练和考察过程。伴随科学技术发展日新月异,当今计算机应用在生活中可以说无处不在。因此对于二十一世纪大学生来说,掌握计算机开发技术十分重要。我题目是车辆管理系统设计,对于我们这些新手来说,这是很大考验,因此怎样才能找到课堂所学与实际应用最佳结合点,怎样才能让自己程序愈加直观简洁,怎样才能让程序运行愈加人性化,这都是在课程设计中必须考虑问题。很感谢学校和老师给了我们一种可以自主实践机会,让我们
20、可以培养自己自学能力以及实际操作能力。通过这次课程设计,我获益良多。从拿到题目直到完毕整个课设内容,实现了从理论到实际转变。在设计程序过程中可以说是问题重重,多种错误以及误区都被检查出来,而这次课程设计则使我及时纠正从前错误,养成了自主学习与参照书籍好习惯。致 谢忙碌了半个月,课程设计终于靠近了尾声,作为一种新手,第一次课程设计使我感到知识与经验严重缺乏,在这里衷心感谢老师悉心指导,以及同学支持协助。通过了十几种忙碌日子,课程设计终于顺利完毕。在设计时碰到了诸多编程问题,最终在李瑛老师协助下不停完善,同步也在同学编程中学到了某些新思绪,这对我启发很大,尤其是小组之间交流,组员们提出了许多宝贵意见和提议,让我拓宽了视野。最终,感谢本次课程设计,给了我一次动手实践,将理论与实践相结合机会,这是我一次宝贵实践经历。参照文献1耿祥义,张跃平. JSP实用教程. 北京:清华大学出版社,2王珊,萨师煊. 数据库系统概论.北京:高等教育出版社,3谭浩强C语言程序设计(第二版)北京:清华大学出版社,4谭浩强C+面向对象程序设计北京:清华大学出版社,5谭浩强C语言程序设计解题与上机指导(第三版)北京:高等教育出版社,2005指导教师评语及设计成绩 评 语 成绩: 指导教师: 日期: 年 月 日
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100