免费预览已结束,剩余21页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校代码: 10128学 号:201320201049课程设计说明书题 目:车辆管理系统设计 学生姓名:丁陆飞 学 院: 信息工程学院班 级:计13-1指导教师: 李文静 讲师 吕 岩 讲师 2014 年 1 月 6 日3内蒙古工业大学课程设计(论文)任务书课程名称: 面向对象程序设计课程设计 学院: 信息工程学院 班级: 计13-1 学生姓名: 丁陆飞 学号:201320201049 指导教师: 李文静 吕岩 一、题目 车辆管理系统设计二、目的与意义面向对象程序设计课程设计课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练可以使学生进一步理解和掌握面向对象程序设计课程的基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及 C+的编程思想来完成系统设计的能力。三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等) 1. 要求利用面向对象的方法以及C+的编程思想来完成系统的设计;2. 要求在设计的过程中,建立清晰的类层次;3. 在系统中至少要定义一个类,类中要有各自的属性和方法;4. 在系统的设计中,至少要用到面向对象的一种机制。四、工作内容、进度安排 1. 根据课程设计的要求,确定设计题目;(0.5天)2. 查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)3. 进行应用程序的界面设计和源程序代码的编写;(2.5天)4. 设计说明书的撰写、答辩(1.5天)五、主要参考文献1C+语言程序设计(第四版),郑莉,清华大学出版社,2010.72C+程序设计教程,钱能主编,清华大学出版社,1999.43C+程序设计课程设计,刘振安,机械工业出版社,2004.8审核意见系(教研室)主任(签字) 指导教师下达时间 2014年12月25日指导教师签字:_ _ _3摘 要在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品,同时也要有好的管理方式,所以必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。本文利用Visual C+6.0 编写程序,实现了用户对公司车辆的编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息的管理。本系统主要实现了对车辆的添加,查询,显示,编辑,删除,统计,存盘,读出。主要运用了类的继承等编程方法来实现对这些车辆的管理。已经过全面的系统测试,能够很好的运行,达到了预期的效果。关键词:系统设计 车辆管理 类的继承3目 录摘要第1章 绪 论11.1 课程设计的目的11.2 课程设计的背景及意义11.2.1课程设计的背景11.2.2课程设计的意义11.3 课程设计环境1第2章 系统需求分析22.1问题描述22.2功能分析22.3问题的解决方案3第3章 系统流程图4第4章 系统实现541 类实现542 函数实现7第5章 系统测试1651 模块测试1652 课程设计过程中遇到的问题17总结18致谢193 第一章 绪论11 课程设计的目的(1) 要求学生能够熟练掌握C+语言的基本知识和技能。(2) 加班掌握面向对象程序设计的基本思路和方法。(3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。12 课程设计的背景和意义121 课程设计的背景1. 理论研究基础(1)C+在C的基础上增加了面向对象的机制。(2)充分运用面向对象机制中的继承性与多态性实现函数的设计。2. 技术层面的支持运用系统为C+面向对象程序设计提供的各种设计方法和VC+系统提供的库函数实现项目的开发。122 课程设计的意义通过设计此系统,熟练掌握C+语言的基本知识和技能,基本掌握面向对象程序开发的基本思路和方法,培养学生的动手操作能力,提高自主学习能力,能够利用所学的基本知识和技能,进行简单应用程序设计。13 课程设计环境Visual C+6.03 第二章 需求分析2.1、问题描述车辆管理系统主要负责各种车辆的常规信息管理工作。系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。每台车辆当月总费用=油价*耗油量/公里+基本维护费用。基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月2.2、功能要求(1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。(6)统计信息输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。(8)读出车辆信息:从文件中将车辆信息读入程序。2.3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告。第三章 系统流程图公有继承 Base(数据类)主函数 main.cpp管理子菜单 Bus_manage car_manage 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; /基本维修费用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;/箱数(两厢或三厢)*成员函数 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 save(); /保存 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 函数实现(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: 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 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.kilometer=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.总公里数: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.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.carriage0)system(pause);if(m=0)cout无此轿车数据!endl; system(pause);程序调试:1. 按车牌号查询2.按品牌查询按车辆制造公司void search(char company140)/按车辆制造公司查询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 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(); 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.brandcarcount_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 carcount_car.monthcarcount_car.daycarcount_car.kilometercarcount_car.oil_price carcount_car.oilcarcount_car.roadcarcount_car.feecarcount_car.carriage; carfile.close();数据保存文件:5.2 课程设计过程中遇到的问题 在程序的设计过程中我一共遇到过三个比较严重的问题:(1)程序分块设计.在程序设计中,需要建立一个工程,需要对程序进行合理化分快,由于,好久都不写这么大的程序了,所以一开始比较生疏,忘记了程序是如何分快的了。通过阅读C+书籍,复习了一下C+知识,独立解决了问题。 ( 2 )全局变量定义.一开始,我在类的执行文件中定义了全局变量count_car,count_truck,count_bus,在类的执行文件中能用,但在主函数中不能用,原因是无定义;后来又在主函数中从新定义了一下全局变量count_car,count_truck,count_bus;但又出现了别的问题,说重复定义,不给运行;最后通过查阅相关资料,才知道了解决问题的办法,在主函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公务员面试门外面试题及答案
- 公务员面试量变面试题及答案
- 恒力集团校招面试题及答案
- 公务员面试经济面试题及答案
- 国家能源集团校招笔试题及答案
- 贵州茅台校招题库及答案
- 公务员考试税收试题及答案
- 公务员考试实情试题及答案
- 2025年樟树市特聘动物防疫专员招募17人参考题库及答案详解1套
- 2026年阿坝职业学院单招职业适应性测试必刷测试卷汇编
- 公证财产协议书范本
- 2024年锦州辅警招聘考试真题附答案详解(综合卷)
- 2025年高校教师资格证之高等教育学测试卷附答案
- 2025-2026学年高二上学期《如何引导高中生“碳索绿色未来”培养环保意识》主题班会课件
- 北师大版数学七年级上册期中综合能力测评卷(含解析)
- 农业经理人考试题库四级及答案
- 椭圆的第三定义
- 土地-基准地价修正法测算表
- (完整版)医疗器械分类目录2002年版
- 厦门劳动合同范本(三篇)
- 27中成药陈列注意事项
评论
0/150
提交评论