《c++程序设计车辆管理系统实验报告附源代码.pdf》由会员分享,可在线阅读,更多相关《c++程序设计车辆管理系统实验报告附源代码.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一寸光阴一寸金,寸金难买寸光阴。增广贤文人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。顾炎武 C+程序设计车辆管理系统实验报告 附源代码 1.实习题目 车辆管理系统 2.原理概述 某运输公司,需要对其下所有的各种车辆进行管理,拟建立一个车辆管理系统进行管理,该系统能够实现以下功能:(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少 5 种车型,各种车型的相关数据,根据需要自行设定(1)能够统计出该公司,所有车辆的累积行驶里程(2)能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等相关信息(3)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息(
2、4)能够统计出该公司车辆的总数额以及每类车辆的数量(5)能够实现某个类型车辆的添加和删除(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!3设计方案 编程语言 C+语言 数据结构 Manager num;/车辆编号 pnum;/车牌号 made;/生产厂家 name;/名字 Car Manager carN;百学须先立志。朱熹好学近乎知,力行近乎仁,知耻近乎勇。中庸 .系统结构图 技术方案 先定义结构体类,再将其继承,分别记录车辆信息和车辆编号函数;类的定义和使用;While 函数 for 循环 if 判断语句 switch 循环;文件的打开与关闭,输入和输出。add();/增加
3、 search();/查询 show();/显示 delet();/删除 sum();/统计 jiemian();/界面 车辆管理系统 车辆信息添车辆信息查车辆信息显车辆信息删车辆信息统车辆信息打车辆信息界车辆信息保车辆信息读谋事在人,成事在天!增广贤文云路鹏程九万里,雪窗萤火二十年。王实甫 流程图 车辆信息添加 开始 判断数据库是否满 是 返回主界面 输入车判断编号是否重复 是 返回主界面 输入车辆信息 车辆总数+1 继续添加 否 返回主界面 是 人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。顾炎武百学须先立志。朱熹 车辆信息查询 结束 开始 根据编号 根据驾驶员
4、信息 是 显示车辆信息 否 返回主界面 海纳百川,有容乃大;壁立千仞,无欲则刚。林则徐一寸光阴一寸金,寸金难买寸光阴。增广贤文 车辆信息显示 结束 开始 判断车库是否有车 是 显示车库内所有车辆 返回主界面 否 百川东到海,何时复西归?少壮不尽力,老大徒伤悲。汉乐府长歌行谋事在人,成事在天!增广贤文 车辆信息删除 结束 开始 判断车库是否为空 否 是 输入车辆编号 判断删除信息是否正确 否 删除成功 返回主界面 吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语天行健,君子以自强不息。地势坤,君子以厚德载物。易经 车辆信息统计 车辆信息保存 结束 开始 统计里统计资统计驾统计车辆
5、输出统计结果 返回主界面 结束 开始 忍一句,息一怒,饶一着,退一步。增广贤文勿以恶小而为之,勿以善小而不为。刘备 车辆信息读取 车辆信息打印 保存成功 返回主界面 结束 开始 读取成功 返回主界结束 开始 打印成功 返回主界结束 勿以恶小而为之,勿以善小而不为。刘备我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。白居易 4.程序编写#include#include#include using namespace std;#define N 25执行界面、运行结果分析 车辆信息添加 输入编号添加车辆依次输入车辆信息。车辆信息查询 丹青不知老将至,贫贱于我如浮云。杜甫忍一句
6、,息一怒,饶一着,退一步。增广贤文 输入车辆编号查询车辆信息。车辆信息显示 显示车库内所有车辆。车辆信息删除 百川东到海,何时复西归?少壮不尽力,老大徒伤悲。汉乐府长歌行非淡泊无以明志,非宁静无以致远。诸葛亮 选择编号显示车辆信息,完成删除。车辆信息统计 选择要统计的内容,显示统计的内容。车辆信息保存 将车辆信息保存在文件中。车辆信息读取 天行健,君子以自强不息。地势坤,君子以厚德载物。易经吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语将保存的车辆信息读取出来。车辆信息打印 将车辆信息打印下来。6.总结与体会 经过了几个星期的学习与实践,汽车管理系统已基本完成,基本功能已全部
7、实现,顽强可以在汽车公司投入使用。系统功能有:添加车辆信息,删除车辆信息,查询车辆信息,显示车辆信息,统计车辆信息,保存车辆信息,读取车辆信息,打印车辆信息等。通过这次实践学习,我不仅加深了课堂知识还学到了许多课上学不到的技能。既提高了我的基础知识,又增强了我的动手操作能力。比如在做一个大项目时,一开始不急于动手写代码,应该先对这个项目做整体的分析,明确此项目的数据结构和基本实现功能,然后收集资料,设计算法,在这些工作完成后再开始编写代码。在本次实践过程中我也发现了许多的不足。比如,在这次系统设计中,只考虑到问题的一般情况,而忽略特殊情况;考虑问题不全面,只会单一的在某一方面或某一类方面考虑问
8、题,视野没有得以开阔等。我相信经过本次实践,我会在以后的学习工作中变得更加小心和自信,系统也会学做越熟练。在不断的错误和失败中逐渐弥补和提高,是自己变得更加完美,设计以更加完美。#include 忍一句,息一怒,饶一着,退一步。增广贤文宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明#include#include using namespace std;#define N 25um=i)cout 车辆编号重复,系统返回.endl;a+;break;if(a=1)cartop.num=i;cout cartop.pnum;cout cartop.name;cout cartop.ti
9、me;cout cartop.made;cout cartop.distance;cout cartop.price;cout cartop.driver;cout cartop.cellphone;吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语大丈夫处世,不能立功建业,几与草木同腐乎?罗贯中 cout 摩托车,2-汽车,3-客车,4-面包车,5-货车);cin cartop.type;top+;cout yes or 2-no)b;if(b=2)cout 系统返回中,请稍后!endl;break;elseum=n)cout 车辆编号:carj.num endl;cout 车
10、名:carj.name endl;cout 购买日期:carj.time endl;cout 生产厂家:carj.made endl;cout 行驶里程:carj.distance endl;cout 车辆价格:carj.price endl;cout 驾驶员的名字:carj.driver endl;cout 驾驶员的手机号:carj.cellphone endl;cout 车型:carj.type endl;cout 摩托车,2-汽车,3-客车,4-面包车,5-货车)endl;a+;穷则独善其身,达则兼善天下。孟子以家为家,以乡为乡,以国为国,以天下为天下。管子牧民 if(a=0)cout
11、编号不存在!endl;break;case 2:int m;string l;cout 输入驾驶员的名字 l;cout 输入驾驶员的手机号 m;for(k=0;k top;k+)if(cark.driver=l)if(cark.cellphone=m)cout 车辆编号:cark.num endl;cout 车名:cark.name endl;cout 购买日期:cark.time endl;cout 生产厂家:cark.made endl;cout 行驶里程:cark.distance endl;cout 车辆价格:cark.price endl;cout 驾驶员的名字:cark.drive
12、r endl;cout 驾驶员的手机号:cark.cellphone endl;cout 车型:cark.type endl;cout 摩托车,2-汽车,3-客车,4-面包车,5-货车)endl;b+;老当益壮,宁移白首之心;穷且益坚,不坠青云之志。唐王勃穷则独善其身,达则兼善天下。孟子 if(b=0)cout 信息错误或不存在!endl;break;default:cout 输入有误!endl;break;cout 按 1 返回主界面:c;if(c=1)jiemian();else jiemian();void Car:show()int i,j;if(top!=0)cout 车库中所有车的
13、基本信息:endl;老当益壮,宁移白首之心;穷且益坚,不坠青云之志。唐王勃人人好公,则天下太平;人人营私,则天下大乱。刘鹗 for(i=0;i top;i+)cout 车辆编号:cari.num endl;cout 车名:cari.name endl;cout 购买日期:cari.time endl;cout 生产厂家:cari.made endl;cout 行驶里程:cari.distance endl;cout 车辆价格:cari.price endl;cout 驾驶员的名字:cari.driver endl;cout 驾驶员的手机号:cari.cellphone endl;cout 车型
14、:cari.type endl;cout 摩托车,2-汽车,3-客车,4-面包车,5-货车)endl;else cout 车辆库为空!endl;cout 按 1 返回主界面:j;if(j=1)jiemian();else jiemian();宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明志不强者智不达,言不信者行不果。墨翟void Car:delet()int i,a=0;while(1)if(top=0)cout车辆库为空将退回功能界面!endl;break;else cout请输入要删除的车辆编号!i;for(int j=0;jtop;j+)if(carj.num=i)cout
15、 车辆编号:carj.num endl;cout 车名:carj.name endl;cout 购买日期:carj.time endl;cout 生产厂家:carj.made endl;cout 行驶里程:carj.distance endl;cout 车辆价格:carj.price endl;cout 驾驶员的名字:carj.driver endl;cout 驾驶员的手机号:carj.cellphone endl;cout 车型:carj.type endl;cout 摩托车,2-汽车,3-客车,4-面包车,5-货车)endl;cout是,2-否)n;if(n=1)carj.num=cart
16、op-1.num;云路鹏程九万里,雪窗萤火二十年。王实甫天行健,君子以自强不息。地势坤,君子以厚德载物。易经 carj.name=cartop-1.name;carj.time=cartop-1.time;carj.made=cartop-1.made;carj.distance=cartop-1.distance;carj.price=cartop-1.price;carj.driver=cartop-1.driver;carj.cellphone=cartop-1.cellphone;carj.type=cartop-1.type;top-;a+;else if(n=2)cout系统返回中
17、!endl;else cout输入错误系统返回中。endl;if(a=0)cout此编号不存在,不能进行删除,请重新输入!endl;else cout删除成功!系统将返回功能界面.endl;break;jiemian();好学近乎知,力行近乎仁,知耻近乎勇。中庸天行健,君子以自强不息。地势坤,君子以厚德载物。易经 void Car:sum()int i,j,l,m,a=0,b=0,c=0,d=0,f=0;cout 1-统计里程 endl;cout 2-统计资产 endl;cout 3-统计驾驶员 endl;cout 4-统计车辆数 endl;cout 输入统计的选项:i;if(i 0&i 5)
18、switch(i)case 1:cout 1-总里程 endl;cout 2-各类车的总里程 endl;cout 输入选项:j;if(j=1|j=2)switch(j)case 1:for(l=0;l top;l+)a=a+carl.distance;cout 总里程:a endl;cout 查询成功,系统将返回主页面。endl;勿以恶小而为之,勿以善小而不为。刘备人不知而不愠,不亦君子乎?论语 break;case 2:for(m=0;m top;m+)if(carm.type=1)a=a+carm.distance;else if(carm.type=2)b=b+carm.distance
19、;else if(carm.type=3)c=c+carm.distance;else if(carm.type=4)d=d+carm.distance;else f=f+carm.distance;cout 摩托车的总里程:a endl;cout 汽车的总里程:b endl;cout 客车的总里程:c endl;cout 面包车的总里程:d endl;cout 货车的总里程:f endl;cout 查询成功,系统将返回主页面。endl;endl;break;else 百川东到海,何时复西归?少壮不尽力,老大徒伤悲。汉乐府长歌行常将有日思无日,莫待无时思有时。增广贤文 cout 输入错误,系统
20、返回。endl;break;break;case 2:cout 1-总资产 endl;cout 2-各类车的总资产 endl;cout 输入选项:j;if(j=1|j=2)switch(j)case 1:for(l=0;l top;l+)a=a+carl.price;cout 总资产:a endl;cout 查询成功,系统将返回主页面。endl;break;case 2:for(m=0;m top;m+)if(carm.type=1)a=a+carm.price;else if(carm.type=2)b=b+carm.price;else if(carm.type=3)c=c+carm.pr
21、ice;else 忍一句,息一怒,饶一着,退一步。增广贤文天行健,君子以自强不息。地势坤,君子以厚德载物。易经 if(carm.type=4)d=d+carm.price;else f=f+carm.price;cout 摩托车的总资产:a endl;cout 汽车的总资产:b endl;cout 客车的总资产:c endl;cout 面包车的总资产:d endl;cout 货车的总资产:f endl;cout 查询成功,系统将返回主页面。endl;endl;break;else cout 输入错误,系统返回。endl;break;break;case 3:cout 1-总驾驶员数 endl;
22、cout 2-各类车的总驾驶员数 endl;cout 输入选项:j;if(j=1|j=2)switch(j)丹青不知老将至,贫贱于我如浮云。杜甫人不知而不愠,不亦君子乎?论语 case 1:a=top;cout 总驾驶员数:a endl;cout 查询成功,系统将返回主页面。endl;break;case 2:for(m=0;m top;m+)if(carm.type=1)a+;else if(carm.type=2)b+;else if(carm.type=3)c+;else if(carm.type=4)d+;else f+;cout 摩托车的驾驶员数:a endl;cout 汽车的总驾驶
23、员数:b endl;cout 客车的总驾驶员数:c endl;cout 面包车的总驾驶员数:d endl;cout 货车的总驾驶员数:f endl;cout 查询成功,系统将返回主页面。endl;endl;break;天行健,君子以自强不息。地势坤,君子以厚德载物。易经丹青不知老将至,贫贱于我如浮云。杜甫 else cout 输入错误,系统返回。endl;break;break;case 4:cout 1-总车数 endl;cout 2-各类车的车数 endl;cout 输入选项:j;if(j=1|j=2)switch(j)case 1:a=top;cout 总车辆数:a endl;cout
24、查询成功,系统将返回主页面。endl;break;case 2:for(m=0;m top;m+)if(carm.type=1)a+;else if(carm.type=2)b+;else if(carm.type=3)c+;else if(carm.type=4)d+;else 常将有日思无日,莫待无时思有时。增广贤文以家为家,以乡为乡,以国为国,以天下为天下。管子牧民 f+;cout 摩托车的车辆数:a endl;cout 汽车的总车辆数:b endl;cout 客车的总车辆数:c endl;cout 面包车的总车辆数:d endl;cout 货车的总车辆数:f endl;cout 查询成
25、功,系统将返回主页面。endl;endl;break;else cout 输入错误,系统返回。endl;break;break;default:cout 输入有误!系统将返回.endl;break;else cout 输入错误,系统返回主页面。endl;jiemian();我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。白居易志不强者智不达,言不信者行不果。墨翟 void Car:write()ofstream fileout(,ios:trunc);();ofstream write();for(int i=0;i top;i+)write 车辆编号:cari.num
26、;write 车牌号cari.pnum;write 车名:cari.name ;write 购买日期:cari.time ;write 生产厂家:cari.made ;write 行驶里程:cari.distance ;write 车辆价格:cari.price ;write 驾驶员的名字:cari.driver ;write 驾驶员的手机号:cari.cellphone ;write 车型:cari.type endl;();cout车辆信息已成功打印到同目录下文件中,系统间返回主界面!endl;jiemian();void Car:store()ofstream fileout(,ios:
27、trunc);();ofstream write();大丈夫处世,不能立功建业,几与草木同腐乎?罗贯中忍一句,息一怒,饶一着,退一步。增广贤文 for(int i=0;i top;i+)write cari.num ;write cari.pnum;write cari.name ;write cari.time ;write cari.made ;write cari.distance ;write cari.price ;write cari.driver ;write cari.cellphone ;write cari.type endl;();cout车辆信息保存,系统间返回主界面!
28、cartop.numcartop.pnumcartop.namecartop.timecartop.madecartop.distancecartop.pricecartop.drivercartop.cellphonecartop.cellphonecartop.type;top+;好学近乎知,力行近乎仁,知耻近乎勇。中庸志不强者智不达,言不信者行不果。墨翟 cout读取同目录下的文件成功!系统将返回主界面.endl;();jiemian();void Car:jiemian()int n;cout *endl;cout *欢迎进入车辆管理系统!*endl;cout *endl;cout *
29、1-添加车辆。*endl;cout *2-删除车辆。*endl;cout *3-查询车辆。*endl;cout *4-显示车辆。*endl;cout *5-统计车辆。*endl;cout *6-打印车辆。*endl;cout *7-读取车辆。*endl;cout *8-保存车辆。*endl;cout *0-退出系统。*endl;cout *endl;cout 请输入您的操作选项:n;switch(n)case 1:add();好学近乎知,力行近乎仁,知耻近乎勇。中庸志不强者智不达,言不信者行不果。墨翟 case 2:delet();case 3:search();case 4:show();case 5:sum();case 6:write();case 7:read();case 8:store();case 0:exit(0);default:cout 输入错误!系统将退出!endl;return;void main()Car a;();