C++程序设计车辆管理系统实验报告材料附源代码_第1页
C++程序设计车辆管理系统实验报告材料附源代码_第2页
C++程序设计车辆管理系统实验报告材料附源代码_第3页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、C+程序设计车辆管理系统实验报告 附源代码1. 实习题目车辆管理系统2. 原理概述某运输公司,需要对其下所有的各种车辆进行管理,拟建立一个车辆管 理系统进行管理,该系统能够实现以下功能:(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少5种车型, 各种车型的相关数据,根据需要自行设定(1)能够统计出该公司,所有车辆的累积行驶里程(2) 能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等 相关信息(3)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息(4)能够统计出该公司车辆的总数额以及每类车辆的数量(5)能够实现某个类型车辆的添加和删除(6)其他功能可根据需要自行扩充,

2、并请在课程设计报告中详细说明!3. 设计方案3.1编程语言C+语言Manager1M 1num;/车辆编号pnu m;车牌号made;/生产厂家name;/ 名字3.2数据结构CarMan ager carN;add(); 增加 search。;/ 查询 show(); 显示33系统结构图车辆管理系统I3.4技术方案先定义结构体类,再将其继承,分别记录车辆信息和车辆编号函数;类的定义和使用; While函数for循环if判断语句switch循环;文件的打开与关闭,输入和输出。3.4流程图车辆信息添加车辆信息查询开始L根据编号V根据驾驶员信息否I返回主I界面是一显示车辆信息结束车辆信息显示显示车

3、库内所有车辆返回主界面结束车辆信息删除车辆信息统计返回主界面结束车辆信息保存开始保存成功车辆信息读取车辆信息打印4. 程序编写#in clude<iostream>#in clude<fstream>#in clude<stri ng> using n amespace std;#defi ne N 25 车辆极限存储量 struct Man ager int num;/ 车辆编号 int pnum;/ 车牌号 stri ng made;/生产厂家stri ng n ame;/名字int time;/ 日期 double dista nce; 里程 doub

4、le price;/ 价格 stri ng driver;/ 驾驶员 long long cellpho ne;手机号int type;/ 车型;class Car private:Man ager carN;int top;/当前车的数量。public:Car() top = 0; void add();/ 增加 void search(); 查询 void show();/ 显示 void delet();/ 删除 void sum();/ 统计 void jiemia n();界面void store();/保存void read();/ 读取 void write();/打印;void

5、 Car:add()void Car:search() void Car:show() void Car:delet() void Car:sum () void Car:jiemia n() void Car:store () void Car:read() void Car:write()5. 执行界面、运行结果分析车辆信息添加:l-沾扣乍辆.L-3-ft SOT 辆::-:4-L塀胃兀卜5-诜:| %罡.p卜卅駅平艳 :8-怩悍乍牠.!:0-也;區城.'jVAJS的掾作点唤:佃雉人讪加怕丁捎慎息:丫樋編小】喻扎金驰人职斗目腳701320笛人业卢丿v |1;衆厅已谕扎们幡:1000

6、0输人料婕員忡电字:m:fiA,JNtUftrj 11L4: 12345670人乐耐:Jt牡2->m.r 3->常上-fit起忆5-庚贩)1 鮒n成功,足门涔爾Sin午输?口-丹整or 2->m)Hj4址返网中.团椚AN输入编号添加车辆依次输入车辆信息。车辆信息查询请输入您的操作透项:3L-根据編号杳询!A楡麻崛it S ;=、息杳询!请偷入你的住询方JV (1 or 2)1I输入要杳询的午辆綸氏1车辆編号:1车名*奔丸购买日期I 20180320虫产厂家:山东苕岛仃驶里fl: 1234 车轴价格,120000 嗚驶员的帘字:雄妞 皑驶协的F机叶;1231567890奉型:1

7、(1 '摩托车.2 >汽乩3,客车,4、面包车,5货车) 按1返凹土界面:输入车辆编号查询车辆信息。车辆信息显示请输入您的操作堆顼:华库中所右4的睾本信息:库辆编号:1 幣各奔驰 购先日朋¥ 20100320 生产I ”家:山东青岛 行駛里桎:1234 个調价120000 驾驶负的苗宁:姙姒 列驶员的乎机号:L23+S67SLH) tS:l(1-«托车* 2-汽车.3-客车,4-面包车| 5-货车 按1返冋主界面:显示车库内所有车辆。车辆信息删除幘谕h您的撵作上碘C刖输入吐剧除的车賊门亍带编弘117荷:禅救购买日期 20180320卞产莖:山东青島衬驰里算t

8、1234WW: 120000Kn的躬勒吗駛员的护机1234567890(1-障托 2-汽乍*客车,4ri8itl伞,5-货吗;J星否爾1皇信息并剧除【(1, 2-)1刚除成功烯统将返冋功诡界闻选择编号显示车辆信息,完成删除。车辆信息统计占输人您抽操作it喷:a 甲77 土 1234,列戒血 嘉统称匹回主页聞._总I1理话览丫|勺思讪和-欧:-轨计资产-统i:-血I驾舰员y譎牝ti入站I前选顼:选择要统计的内容,显示统计的内容。车辆信息保存百输入您的礫作选呗g险辆信息保存*系统间返冋主界面!将车辆信息保存在文件中。车辆信息读取谧输入您的操作选项:读取同目录卜的b, txt件成功!系统将返冋主界面

9、将保存的车辆信息读取出来。车辆信息打印慣齡入您的操作选项:岸辆信息已成功打印到同目录 阻tit文件中.系统间返回主界面! _ r” . r_ . 、一 .q I 、 m 一 _ 、一 一 _ I 一- _将车辆信息打印下来。6. 总结与体会经过了几个星期的学习与实践,汽车管理系统已基本完成,基本功能已全部实现,顽强可以在汽车公司投入使用。系统功能有:添加车辆信息,删除车辆信息,查询车辆信息,显 示车辆信息,统计车辆信息,保存车辆信息,读取车辆信息,打印车辆信息等。通过这次实践学习,我不仅加深了课堂知识还学到了许多课上学不到的技能。既提高了我的基础知识,又增强了我的动手操作能力。比如在做一个大项

10、目时, 一开始不急于动手写代码,应该先对这个项目做整体的分析,明确此项目的数据结构和基本实现功能,然后收集资料,设计算法,在这些工作完成后再开始编写代码。在本次实践过程中我也发现了许多的不足。比如,在这次系统设计中, 只考虑到问题的一般情况,而忽略特殊情况;考虑问题不全面,只会单一的在某一方面或某一类方面考虑问 题,视野没有得以开阔等。我相信经过本次实践, 我会在以后的学习工作中变得更加小心和自信,系统也会学做越熟练。在不断的错误和失败中逐渐弥补和提高,是自己变得更加完美,设计以更加完¥ 美。#in clude<iostream>#in clude<fstream&

11、gt;#in clude<stri ng>using n amespace std;#defi ne N 25车辆极限存储量struct Man ager int num;/ 车辆编号 in t p num;/ 车牌号 stri ng made;/生产厂家stri ng n ame;/名字int time;/ 日期 double dista nce; 里程 double price;/ 价格 stri ng driver;/ 驾驶员 long long cellph one;/手机号int type;/ 车型;class Car private:Man ager carN;int

12、top;/ 当前车的数量。public:Car() top = 0; void add();/ 增加void search。;/ 查询 void show(); 显示void delet();删除void sum();统计void jiemia n();/界面void store();/保存void read();/ 读取 void write();/打印;void Car:add() int a = 1, b;while (1) if (top<N) int i;cout << " 请输入添加的车辆信息:"<< endl;cout <&

13、lt; " 车辆编号:"cin >> i;for (int j = 0; j<top; j+) if (carj. num = i) cout << "车辆编号重复,系统返回."<< endl;a+;break;if (a = 1) cartop. num = i;cout << "输入车牌号:"cin >> cartop.p num;cout << "输入车名:"cin >> cartop. name;cout <&l

14、t; "输入购买日期:"cin >> cartop.time;cout << "输入生产厂家:"cin >> cartop.made;cout << "输入行驶里程:"cin >> cartop.dista nee;cout << "输入价格:"cin >> cartop.price;cout << "输入驾驶员的名字:"cin >> cartop.driver;cout <<

15、 "输入驾驶员的手机号:"cin >> cartop.cellpho ne;cout << " 输入车型:(1->摩托车,2->汽车,3->客车,4->面包车,5-货车)"cin >> cartop.type;<<top+;cout << "添加成功!是否继续添加车辆?(1->yes or 2->no)"endl;cin >> b;if (b = 2) cout << "系统返回中,请稍后! "

16、<< endl;break;else/编号重复break;else cout << "车库已满无法添加"<< endl;cout << " 系统返回"<< endl;break;jiemia n(); void Car:search() int i, j, k,a = 0, b=0,c;cout << "1-根据编号查询!"<<e ndl;cout << "2-根据驾驶员信息查询!"<<e ndl;cout

17、<< " 请输入你的查询方式!( 1 or 2 )"<<endl;cin >> i;switch (i)case 1: int n;cout << " 输入要查询的车辆编号:"<< endl;cin >> n;for (j = 0; j < top; j+) if (carj. num = n) cout << " 车辆编号:"<< carj. num << en dl;cout << " 车名:”

18、<< << endl;cout << " 购买日期:"<< carj.time << endl;cout << " 生产厂家:"<< carj.made << endl;cout << " 行驶里程:"<< carj.distanee << endl;cout << " 车辆价格:"<< carj.price << endl;co

19、ut << "驾驶员的名字:"<< carj.driver << endl;cout << "驾驶员的手机号:"<< carj.cellph one << endl; cout << " 车型:"<< carj.type<< endl;cout << "(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)" << en dl;a+;if (a

20、 = 0) cout << " 编号不存在!" << endl;break;case 2: int m;stri ng l;cout << " 输入驾驶员的名字"<< endl;cin >> l;cout << "输入驾驶员的手机号"<< endl;cin >> m;for (k = 0; k < top; k+) if (cark.driver = l) if (cark.cellpho ne = m) cout <<

21、" 车辆编号:"<< cark .n um << en dl;cout << " 车名:"<< << endl;cout << " 购买日期:"<< cark.time << endl;cout << " 生产厂家:"<< cark.made << endl;cout << " 行驶里程:"<< cark.dista ne

22、e << endl;cout << " 车辆价格:"<< cark.price << endl;cout << " 驾驶员的名字:"<< cark.driver << endl;cout << "驾驶员的手机号:” << cark.cellphone<< endl;cout << " 车型:"<< cark.type << endl;cout << "

23、;(1-> 摩托车,2->汽车,3->客车,4->面包车,5-> 货车)"<< endl;b+;if (b = 0) cout << "信息错误或不存在!" << endl;break;default:cout << " 输入有误!" << endl;break;cout << " 按1返回主界面:"<< endl; cin >> c;if (c = 1) jiemia n();else jiemia

24、 n(); void Car:show() int i, j;if (top != 0) cout << "车库中所有车的基本信息:"<< endl;for (i = 0; i < top; i+) cout << " 车辆编号:"<< cari .num << en dl;cout << " 车名:” << << endl;cout << " 购买日期:"<< cari.time

25、 << endl;cout << " 生产厂家:"<< cari.made << endl;cout << " 行驶里程:"<< cari.dista nee << en dl;cout << " 车辆价格:"<< cari.price << endl;cout << " 驾驶员的名字:"<< cari.driver << endl;cout <<

26、" 驾驶员的手机号:"<< cari.cellpho ne << endl;cout << " 车型:"<< cari.type << endl;cout << "(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"<<endl;elsecout << " 车辆库为空!" << endl;cout << " 按1返回主界面:"<

27、;< endl;cin >> j;if (j = 1) jiemia n();else jiemia n();void Car:delet() int i,a=0;while(1)if(top=0)cout<<"车辆库为空将退回功能界面!"<<endl;break;elsecout<<"请输入要删除的车辆编号!"<<endl;cin >>i;for(i nt j=O;j<top;j+)if(carj. num =i)cout << " 车辆编号:&q

28、uot;<< carj. num << en dl;cout << " 车名:” << << endl;cout << " 购买日期:"<< carj.time << endl;cout << " 生产厂家:"<< carj.made << endl;cout << " 行驶里程:"<< carj.dista nee << en dl;co

29、ut << " 车辆价格:"<< carj.price << endl;cout << " 驾驶员的名字:"<< carj.driver << endl;cout << "驾驶员的手机号:” << carj.cellphone<< endl;cout << " 车型:"<< carj.type << endl;cout << "(1->摩托车,2->

30、汽车,3->客车,4->面包车,5->货车)"<< endl;cout<<"是否确定信息并删除!( 1->是,2->否)"<<endl;int n; cin»n;if(n=1)carj. num=cartop-1. num;carj. name=cartop-1. name;carj.time=cartop-1.time; carj.made=cartop-1.made;carj.dista nce=cartop-1.dista nee;carj.price=cartop-1.price;

31、 carj.driver=cartop-1.driver;carj.cellph on e=cartop-1.cellpho ne;carj.type=cartop-1.type;top-;a+;elseif(n=2)cout<<"系统返回中! "<<endl;elsecout<<"输入错误系统返回中。"<<endl;if(a=O)cout<<"此编号不存在,不能进行删除,请重新输入! "<<endl;elsecout<<"删除成功!系统将返

32、回功能界面."vvendl;break;jiemia n(); 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 << " 输入统计的选

33、项:"<< endl;cin >> i;if (i > 0 && i v 5) switch (i) case 1:cout << "1- 总里程"<< endl;cout << "2- 各类车的总里程"<< endl;cout << " 输入选项:"<< endl;cin >> j;if (j = 1 II j = 2) switch (j) case 1:for (l = 0; l <

34、top; l+) a = a + carl.dista nee;cout << " 总里程:"<< a << endl;cout << "查询成功,系统将返回主页面。 "<< en dl; break;case 2:for (m = 0; m < top; m+) if (carm.type = 1) a=a+carm.dista nee; elseif (carm.type = 2) b=b + carm.dista nee; elseif (carm.type = 3) c=c + c

35、arm.dista nee; elseif (carm.type = 4) d=d+carm.dista nee; elsef=f + carm.dista nee;cout << "摩托车的总里程:"<< a << en dl;cout << "汽车的总里程:"<< b << en dl;cout << "客车的总里程:"<< c << en dl;cout << "面包车的总里程:"<&

36、lt; d << en dl;cout << "货车的总里程:"<< f << en dl;cout << "查询成功,系统将返回主页面。"<< en dl;(1-> 摩托车,2->汽车,3->客车,4->面包车,5->货车)break;default:cout << "输入有误!系统将返回."<< endl;break;else cout << "输入错误,系统返回。"<

37、< endl;break;break;case 2:cout << "1- 总资产"<< endl;cout << "2- 各类车的总资产"<< endl;cout << " 输入选项:"<< endl;cin >> j;if (j = 1 II j = 2) switch (j) case 1:for (l = 0; l < top; l+) a = a + carl.price;cout << " 总资产:&quo

38、t;<< a << endl;cout << "查询成功,系统将返回主页面。"<< en dl;break;case 2: for (m = 0; m < top; m+) if (carm.type = 1) a = a + carm.price; elseif (carm.type = 2) b = b + carm.price; elseif (carm.type = 3) c = c +carm.price; elseif (carm.type = 4) d = d +carm.price; elsef = f

39、+ carm.price;cout << " 摩托车的总资产:"<< a << en dl;cout << " 汽车的总资产:"<< b << en dl;cout << " 客车的总资产:"<< c << en dl;cout << " 面包车的总资产:"<< d << en dl;cout << " 货车的总资产:"<< f

40、<< en dl;cout << "查询成功,系统将返回主页面。"<< en dl;(1-> 摩托车,2->汽车,3->客车,4->面包车,5->货车)break;default:cout << "输入有误!系统将返回."<< endl;break;else cout << "输入错误,系统返回。"<< endl;break;break;case 3:cout << "1- 总驾驶员数"&l

41、t;< endl;cout << "2-各类车的总驾驶员数"<< endl;cout << " 输入选项:"<< endl;cin >> j;if (j = 1 II j = 2) switch (j) case 1:a = top;cout << " 总驾驶员数:"<< a << endl;cout << "查询成功,系统将返回主页面。 "<< en dl;break;case 2: fo

42、r (m = 0; m < top; m+) if (carm.type = 1) a+; elseif (carm.type = 2) b+; elseif (carm.type = 3) c+; elseif (carm.type = 4) d+; elsef+;cout << "摩托车的驾驶员数:"<< a << en dl;cout << "汽车的总驾驶员数:"<< b << en dl;cout << "客车的总驾驶员数:"<&l

43、t; c << en dl;cout << "面包车的总驾驶员数:"<< d << en dl;cout << "货车的总驾驶员数:"<< f << en dl;cout << "查询成功,系统将返回主页面。"<< en dl;(1-> 摩托车,2->汽车,3->客车,4->面包车,5->货车)break;default:cout << "输入有误!系统将返回."&l

44、t;< endl;break;else cout << "输入错误,系统返回。"<< endl;break;break;case 4:cout << "1- 总车数"<< endl;cout << "2- 各类车的车数"<< endl;cout << " 输入选项:"<< endl;cin >> j;if (j = 1 II j = 2) switch (j) case 1:a = top;cout &

45、lt;< " 总车辆数:"<< a << endl;cout << "查询成功,系统将返回主页面。"<< en dl;break;case 2:for (m = 0; m < top; m+) if (carm.type = 1) a+; elseif (carm.type = 2) b+; elseif (carm.type = 3) c+; elseif (carm.type = 4) d+; elsef+;cout << "摩托车的车辆数:"<<

46、 a << en dl;cout << "汽车的总车辆数:"<< b << en dl;cout << "客车的总车辆数:"<< c << en dl;cout << " 面包车的总车辆数:"<< d << en dl;cout << "货车的总车辆数:"<< f << en dl;cout << "查询成功,系统将返回主页面。"

47、<< en dl;(1-> 摩托车,2->汽车,3->客车,4->面包车,5->货车)break;default:cout << "输入有误!系统将返回."<< endl; break;else cout << "输入错误,系统返回。"<< endl; break;break;default:cout << "输入有误!系统将返回."<< endl; break;else cout << "输入错误,

48、系统返回主页面。"<< endl;jiemia n(); void Car:write()ofstream fileout("a.txt",ios:tr unc); fileout.close();ofstream write("a.txt");for(int i = 0; i < top; i+)write << " 车辆编号:"<< cari. num << ” ”;write <<" 车牌号"<<cari.pnum<

49、<""write << " 车名:"<< << ""write << " 购买日期:"<< cari.time << ""write << "生产厂家:"<< cari.made << ""write << " 行驶里程:"<< cari.dista nee << &q

50、uot;"write << "车辆价格:"<< cari.price << ""write << "驾驶员的名字:"<< cari.driver << ""write << "驾驶员的手机号:"<< cari.cellpho ne << ""write << " 车型:"<< cari.type << &

51、quot; "<<endl;write.close();cout<<"车辆信息已成功打印到同目录下a.txt文件中,系统间返回主界面!"<<e ndl;jiemia n(); void Car:store()ofstream fileout("b.txt",ios:tr unc); fileout.close();ofstream write("b.txt");for(int i = 0; i < top; i+)write << cari .num << "'write <<cari.p num<<&qu

温馨提示

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

评论

0/150

提交评论