车辆信息管理系统(共26页).doc

上传人:飞****2 文档编号:14317757 上传时间:2022-05-03 格式:DOC 页数:26 大小:880.50KB
返回 下载 相关 举报
车辆信息管理系统(共26页).doc_第1页
第1页 / 共26页
车辆信息管理系统(共26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《车辆信息管理系统(共26页).doc》由会员分享,可在线阅读,更多相关《车辆信息管理系统(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上学校代码: 10128学 号:9课程设计说明书题 目:车辆管理系统设计 学生姓名:丁陆飞 学 院: 信息工程学院班 级:计13-1指导教师: 李文静 讲师 吕 岩 讲师 2014 年 1 月 6 日专心-专注-专业内蒙古工业大学课程设计(论文)任务书课程名称: 面向对象程序设计课程设计 学院: 信息工程学院 班级: 计13-1 学生姓名: 丁陆飞 学号:9 指导教师: 李文静 吕岩 一、题目 车辆管理系统设计二、目的与意义面向对象程序设计课程设计课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练可以使学生进一步理解和掌握面向对象程序设计课程的基本知识

2、;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及 C+的编程思想来完成系统设计的能力。三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等) 1. 要求利用面向对象的方法以及C+的编程思想来完成系统的设计;2. 要求在设计的过程中,建立清晰的类层次;3. 在系统中至少要定义一个类,类中要有各自的属性和方法;4. 在系统的设计中,至少要用到面向对象的一种机制。四、工作内容、进度安排 1. 根据课程设计的要求,确定设计题目;(0.5天)2. 查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)3. 进行应用程序的界面设计和源程序代码的编写;(2.5天)4.

3、 设计说明书的撰写、答辩(1.5天)五、主要参考文献1C+语言程序设计(第四版),郑莉,清华大学出版社,2010.72C+程序设计教程,钱能主编,清华大学出版社,1999.43C+程序设计课程设计,刘振安,机械工业出版社,2004.8审核意见系(教研室)主任(签字) 指导教师下达时间 2014年12月25日指导教师签字:_ _ _摘 要在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品,同时也要有好的管理方式,所以必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目

4、标等管理目的。本文利用Visual C+6.0 编写程序,实现了用户对公司车辆的编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息的管理。本系统主要实现了对车辆的添加,查询,显示,编辑,删除,统计,存盘,读出。主要运用了类的继承等编程方法来实现对这些车辆的管理。已经过全面的系统测试,能够很好的运行,达到了预期的效果。关键词:系统设计 车辆管理 类的继承目 录摘要第1章 绪 论11.1 课程设计的目的11.2 课程设计的背景及意义11.2.1课程设计的背景11.2.2课程设计的意义11.3 课程设计环境1第2

5、章 系统需求分析22.1问题描述22.2功能分析22.3问题的解决方案3第3章 系统流程图4第4章 系统实现541 类实现542 函数实现7第5章 系统测试1651 模块测试1652 课程设计过程中遇到的问题17总结18致谢19 第一章 绪论11 课程设计的目的(1) 要求学生能够熟练掌握C+语言的基本知识和技能。(2) 加班掌握面向对象程序设计的基本思路和方法。(3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。12 课程设计的背景和意义121 课程设计的背景1. 理论研究基础(1)C+在C的基础上增加了面向对象的机制。(2)充分运用面向对象机制中的继承性与多态性实现函数的

6、设计。2. 技术层面的支持运用系统为C+面向对象程序设计提供的各种设计方法和VC+系统提供的库函数实现项目的开发。122 课程设计的意义通过设计此系统,熟练掌握C+语言的基本知识和技能,基本掌握面向对象程序开发的基本思路和方法,培养学生的动手操作能力,提高自主学习能力,能够利用所学的基本知识和技能,进行简单应用程序设计。13 课程设计环境Visual C+6.0 第二章 需求分析2.1、问题描述车辆管理系统主要负责各种车辆的常规信息管理工作。系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、

7、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。每台车辆当月总费用=油价*耗油量/公里+基本维护费用。基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月2.2、功能要求(1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:

8、输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。(6)统计信息输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的

9、物品数并显示。(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。(8)读出车辆信息:从文件中将车辆信息读入程序。2.3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告。第三章 系统流程图公有继承 Base(数据类)主函数 main.cpp管理子菜单 Bus_manage car_manag

10、e truck_manage查找方式 Search(厂商) Search(车牌号、品牌) Read读取 查找类子函数类 Del删除 Modif修改 Sav保存 Add添加 Truck(卡车类) Car(轿车类) Bus(客车类)第四章 系统实现41 类实现*基类数据类Base*数据成员char company40; /车辆制造公司char brand20; /汽车品牌long number; /车牌号码double kilometer; /总公里数double oil_price; /油价double oil; /耗油量(公里)double road; /养路费double fee; /基本维

11、修费用double total_cost; /累计总费用int year; /年int month; /月int day; /日*成员函数 virtual void read()=0; virtual void add()=0; virtual void modify(int)=0; virtual void del(int)=0; virtual void save()=0; virtual void search()=0; virtual void get_cost()=0;*继承类1轿车类Car:public Base*数据成员 int carriage;/箱数(两厢或三厢)*成员函数

12、void read(); /从文件中输入内存 void add(); /添加 void modify(int); /编辑 void del(int); /删除 void save(); /保存 void search(); /查找 查找分以下三种方式:厂家、车牌号、品牌 void get_cost(); /计算累计总费用*继承类2轿车类Truck:public Base*数据成员 double load;/载重量*成员函数 void read(); /从文件中输入内存 void add(); /添加 void modify(int); /编辑 void del(int); /删除 void s

13、ave(); /保存 void search(); /查找 查找分以下三种方式:厂家、车牌号、品牌 void get_cost(); /计算累计总费用*继承类3轿车类Bus:public Base*数据成员 int carrying;/载客量(最大载客数)*成员函数 void read(); /从文件中输入内存 void add(); /添加 void modify(int); /编辑 void del(int); /删除 void save(); /保存 void search(); /查找 查找分以下三种方式:厂家、车牌号、品牌 void get_cost(); /计算累计总费用42 函数

14、实现(1)主函数: void main() /将各个文件中的数据依次读入内存 Car (car); (car).read(); Truck (truck); (truck).read(); Bus (bus); (bus).read(); int choice=1; /显示主菜单 while(1) cout*主菜单*endl; cout 1.轿车信息管理endl; cout 2.卡车信息管理endl; cout 3.客车信息管理endl; cout 4.查询汽车数量endl; cout 0.退出endl; cout*endl; coutchoice; switch(choice) case 1

15、: car_manage();break; case 2: truck_manage();break; case 3: bus_manage();break; case 4: search_number();system(pause);break; case 0: cout谢谢您的使用!endl; return; default:cout请输入03之间的数字!endl;break; system(cls); (2)轿车界面函数: while(1) system(cls); cout*客车管理子菜单*endl; cout 1.添加客车信息endl; cout 2.修改客车信息endl; cout

16、 3.删除客车信息endl; cout 4.查询客车信息endl; cout 5.显示所有客车信息endl; cout 0.退出endl; cout*endl;程序调试: 1.添加:void Car:add() /存入对象数组中 strcpy(carcount_pany,company); strcpy(carcount_car.brand,brand); carcount_car.number=number; carcount_car.year=year; carcount_car.month=month; carcount_car.day=day; carcount_car.kilomet

17、er=kilometer; carcount_car.oil_price=oil_price; carcount_car.oil=oil; carcount_car.road=road; carcount_car.fee=fee; carcount_car.carriage=carriage; count+; count_car+; 程序调试:2.输出:for(int i=0;iget_cost(); cout1.编号:i+1 2.生产商:pany 3.品牌:cari.brand 4.购买时间:cari.year年cari.month日cari.day 5.车牌号:cari.number 6.

18、总公里数:cari.kilometer 7.油价:cari.oil_price 8.耗油量:cari.oil 9.养路费:cari.road 10.基本维修费用:cari.fee 11.累计当月总费用:cari.total_cost 12.厢数:cari.carriageendl;程序调试:3.查询:按车牌号和品牌void Car:search()int m=0;for(int i=0;icount_car;i+) if(cari.number=number)|(strcmp(cari.brand,brand)=0) cout1.编号:i+1 2.生产商:pany 3.品牌:cari.bran

19、d 4.购买时间:cari.year年cari.month日cari.day 5.车牌号:cari.number 6.总公里数:cari.kilometer 7.油价:cari.oil_price 8.耗油量:cari.oil 9.养路费:cari.road 10.基本维修费用:cari.fee 11.累计当月总费用:cari.total_cost 12.厢数:cari.carriage0)system(pause);if(m=0)cout无此轿车数据!endl; system(pause);程序调试:1. 按车牌号查询2.按品牌查询按车辆制造公司void search(char compan

20、y140)/按车辆制造公司查询int m=0;for(int i=0;iget_cost(); cout1.编号:i+1 2.生产商:pany 3.品牌:cari.brand 4.购买时间: cari.year年cari.month日cari.day 5.车牌号:cari.number 6.总公里数:cari.kilometer 7.油价:cari.oil_price 8.耗油量:cari.oil 9.养路费: cari.road 10.基本维修费用:cari.fee 11.累计当月总费用:cari.total_cost 12.厢数: cari.carriageendl;m+;for(int

21、j=0;jget_cost(); cout1.编号:j+1 2.生产商:pany 3.品牌:truckj.brand 4.购买时间: carj.year年truckj.month日truckj.day 5.车牌号:truckj.number 6.总公里数:truckj.kilometer 7.油价:truckj.oil_price 8.耗油量:truckj.oil 9.养路费: truckj.road 10.基本维修费用:truckj.fee 11.累计当月总费用:truckj.total_cost 12.载重量:truckj.loadendl;m+;for(int k=0;kget_cost

22、(); cout1.编号:k+1 2.生产商:pany 3.品牌:busk.brand 4.购买时间:busk.year年busk.month日busk.day 5.车牌号:busk.number 6.总公里数:busk.kilometer 7.油价:busk.oil_price 8.耗油量:busk.oil 9.养路费:busk.road 10.基本维修费用:busk.fee 11.累计当月总费用:busk.total_cost 12.载客量:busk.carryingendl;m+;if(m=0)cout无此卡车数据!carcount_panycarcount_car.brandcarco

23、unt_car.numbercarcount_car.year carcount_car.monthcarcount_car.daycarcount_car.kilometercarcount_car.oil_price carcount_car.oilcarcount_car.roadcarcount_car.feecarcount_car.carriage; while(!carfile.eof() count+; count_car+; carfilecarcount_panycarcount_car.brandcarcount_car.numbercarcount_car.year c

24、arcount_car.monthcarcount_car.daycarcount_car.kilometercarcount_car.oil_price carcount_car.oilcarcount_car.roadcarcount_car.feecarcount_car.carriage; carfile.close();数据保存文件:5.2 课程设计过程中遇到的问题 在程序的设计过程中我一共遇到过三个比较严重的问题:(1)程序分块设计.在程序设计中,需要建立一个工程,需要对程序进行合理化分快,由于,好久都不写这么大的程序了,所以一开始比较生疏,忘记了程序是如何分快的了。通过阅读C+书

25、籍,复习了一下C+知识,独立解决了问题。 ( 2 )全局变量定义.一开始,我在类的执行文件中定义了全局变量count_car,count_truck,count_bus,在类的执行文件中能用,但在主函数中不能用,原因是无定义;后来又在主函数中从新定义了一下全局变量count_car,count_truck,count_bus;但又出现了别的问题,说重复定义,不给运行;最后通过查阅相关资料,才知道了解决问题的办法,在主函数的全局变量前加上extern,做全局变量声明。 ( 3)文件输入输出.在设计文件的输入输出遇到了较大的阻力,不知道怎么将输入到文件的数据怎么再输入到内存里,而且还可以继续用。通

26、过查看别人的程序,借鉴别人输入输出的方法,完美的解决了自己的问题。 总 结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实际能力的重要环节。是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,当今计算机应用在生活中可以说无处不在。因此对于二十一世纪的大学生来说,掌握计算机开发技术十分重要。我的题目是媒体库系统设计的设计,对于我们这些新手来说,这是很大的考验,所以怎样才能找到课堂所学与实际应用的最佳结合点,怎样才能让自己的程序更加直观简练,怎样才能让程序的运行更加人性化,这都是在课程设计中必须考虑的问题。很感谢学校和老师给了我们一个能够自主实践的机会,

27、让我们能够培养自己的自学能力以及实际操作能力。通过这次课程设计,我获益良多。从拿到题目直到完成整个课设的内容,实现了从理论到实际的转变。在设计程序的过程中可以说是问题重重,各种错误以及误区都被检验出来,而这次课程设计则使我及时的纠正从前的错误,养成了自主学习与参考书籍的好习惯。致 谢忙碌了半个月,课程设计终于接近了尾声,作为一个新手,第一次课程设计使我感到知识与经验严重的缺乏,在这里衷心感谢老师的悉心指导,以及同学的支持帮助。经过了十几个忙碌的日子,课程设计终于顺利的完成。在设计时遇到了很多编程的问题,最后在李瑛老师的帮助下不断完善,同时也在同学的编程中学到了一些新思路,这对我启发很大,尤其是小组之间的交流,组员们提出了许多宝贵的意见和建议,让我拓宽了视野。最后,感谢本次课程设计,给了我一次动手实践,将理论与实践相结合的机会,这是我一次宝贵的实践经历。 参考文献:【1】C+程序设计,谭浩强,清华大学出版社,2004【2】C+程序设计实践指导,谭浩强,清华大学出版社,2005

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁