版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计车辆治理系统实验报告附源代码1. 实习题目车辆治理系统2. 原理概述某运输公司,需要对其下所有的各种车辆进行治理,拟建立一个车辆管 理系统进行治理,该系统能够实现以下功能:(1) 利用类、继承的相关理论知识,建立合理的类,能够治理至少5种车型, 各种车型的相关数据,根据需要自行设定(1) 能够统计出该公司,所有车辆的累积行驶里程(2) 能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等 相关信息(3) 能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息(4) 能够统计出该公司车辆的总数额以及每类车辆的数量(5) 能够实现某个类型车辆的添加和删除(6) 其他功能可根据需要
2、自行扩充并请在课程设计报告中详细说明!3 .设计方案3. 1编程语言C+语言3. 2数据结构Managernum;/车辆编号 pnum;/车牌号 made;/生产厂家 name;/ 名字 time; 曰期 distance;/里程 price;/ 价格CarManager carN; top;/当前车的数量,:addO;/ 增加 searchO;/ 查询 showO;/ 显示 deletO;/删除 sum.; 统计 jiemian(); 界面 store.;/保存 readO;/ 读取 writeQ;/打印3. 3.系统结构图3. 4技术方案先定义结构体类,再将其继承,分别记录车辆信息和车辆编
3、号函数;类的定义和使用;While函数for循环if判断语句switch循环;文件的翻开与关闭,输入和输出.3. 4流程图车辆信息添加车辆信息查询返回主界面显示车辆结束车辆信息显示车辆信息删除否返回主界面结束车辆信息统计开始车辆信息保存车辆信息读取保存成功读取成功返回主界 面结束车辆信息打印结束4. 程序编写#include<iostream>#include<fstream>#include<string>using namespace std;ttdefine N 25车辆极限存储量struct Manager (int num;/车辆编号int pnu
4、m;/车牌号string made;/生产厂家string name;/名字int time;/日期double distance;/里程double price;/价格string driver;驾驶员long long cellphone;/ 号int type;/车型);class Car (private:Manager carNJ;int top;/当前车的数量.public:Car() top = 0; )void add();增加void search();查询void show();显示void delet () ;/删除void sum();统计void jiemian()
5、;/界面void store () ;/保存void read () ;/读取void write ();打印 ;void Car: :add() ()void Car: :search() (void Car: :show() (void Car: : delet () void Car: :sum () void Car: : jiemianO (void Car: :store () )void Car: :read() (void Car: :write() )5. 执行界面、运行结果分析车辆信息添加1-渗加':2*除军牺.4 显示4湖.5-统计车花6 打印车辆.3-於询车辑.
6、8TR存车辆.-退出系统.存偷入您的操作选攻: 请输入添加的乍柄信息:雨叫1怖入车牌号:12345所入乍名8晚帝入购置H!卯20210320所入生产厂家:山东背岛险入行入行朽!: 1234的入价格:120000怖入骂驶员的名字:妞妞怖入骂驶贝的亍机号:1234567800mA车入:1> 隙托乍. 2汽乍3->客4->.包乍,5-?货乍1困加成或!是否绿续添加乍辆?l-yes or 2>no 系统返回中,请桁后!输入编号添加车辆依次输入车辆信息.车辆信息查询请输入您的操作选项:O1- 根据编号查洵!2- 根据驾驶员信息查询!请输入你的否询方式! 1 or 21输入要查询的
7、车辆编号:!1车辆编号;1全农徭4出购置'日期:20210320牛产厂家:山东青岛行驶里程:1234车辆价格:120000驾驶员的名字:妞妞驾驶员的 号:1234567890车型:11-摩托车,2-汽乍,3-客车,4-面包车,5-货午 按1返回主界面:输入车辆编号查询车辆信息.车辆信息显示请输入您的操作选项:车库中所有车的根本信息:车统编号:1全万;-番如购置D期:20210320生产厂家:山东青岛行驶里程:1234乍辆价格:120000驾驶员的名字:妞妞驾驶员的 号:1234567890车型:11-摩托车.2-汽车,3-客车,4-面包车,5-货车 按1返回主界面:显示车库内所有车辆.
8、车辆信息删除请输入您的操作选项:请输入要删除的车辆编号!1车辆编号:1乍名:奔驰购置日期:20210320生产厂家:山东齐岛行驶里程:1234乍辆价格:120000驾驶员的名字:m驾驶员的 号:1234567890车型:11-摩托车.2-汽车,3-客车,4-面包伯5-货车是否确定信息并删除! 1-是,2-否1删除成功!系统将返网功能界而.选择编号显示车辆信息,完成删除.车辆信息统计辆俩辆辆辆辆辆辆统 车车车车车车车乍系 加除询.小U印取存出 添删查显统打读保退 1-2-3-4-5-6-7-8-0-选择要统计的内容,显示统计的内容.车辆信息保存访输入您的操作选项:8序辆信息保存.系统间返回主界面
9、!将车辆信息保存在文件中.车辆信息读取场输入您的操作选项:7读取同目录卜的b.txt义件成功!系统将返回主界面将保存的车辆信息读取出来.车辆信息打印请输入您的操作选项;6车辆信息己成功打印到同目录下& txt文件中,系统问返回主界面!将车辆信息打印下来.6. 总结与体会经过了几个星期的学习与实践,汽车治理系统己根本完成,根本功能己全部实现,顽强 可以在汽车公司投入使用.系统功能有:添加车辆信息,删除车辆信息,查询车辆信息,显 示车辆信息,统计车辆信息,保存车辆信息,读取车辆信息,打印车辆信息等.通过这次实践学习,我不仅加深了课堂知识还学到了许多课上学不到的技能.既提升了 我的根底知识,
10、又增强了我的动手操作水平.比方在做一个大工程时,一开始不急于动手写 代码,应该先对这个工程做整体的分析,明确此工程的数据结构和根本实现功能,然后收集 资料,设计算法,在这些工作完成后再开始编写代码.在本次实践过程中我也发现了许多的缺乏.比方,在这次系统设计中,只考虑到问题的 一般情况,而忽略特殊情况:考虑问题不全面,只会单一的在某一方面或某一类方面考虑问 题,视野没有得以开阔等.我相信经过本次实践,我会在以后的学习工作中变得更加小心和自信,系统也会学 做越熟练.在不断的错误和失败中逐渐弥补和提升,是自己变得更加完美,设计以更加 心¥#include<iostream>#i
11、nclude<fstream>#include<string>using namespace std;define N 25车辆极限存储量struct Manager int num;/车辆编号int pnum; 车牌号string made;/生产厂家string name;/名字int time;/日期double distance;/里程double price;/价格string driver;/驾驶员long long cellphone;/ 号int type; /车型;class Car (private:Manager carN;int top;/当前车
12、的数量.public:Car0 top = 0; void add() ;/增加void search0 ;/查询void show() ;/显刁<void delet 0 ;/删除void sum() ;/统计void jiemianO ;/界面void store 0 ;/保存void readO ;/读取void write0 ;/打印;void Car: :add() (int a = 1, b;while (1) if (top<N) int i; cout « 请输入添加的车辆信息:"« endl; cout « "车辆
13、编号:"; cin >> i;for (int j = 0; j<top; j+) ( if (carCj. num = i) cout « 车辆编号重复,系统返回« endl;a+; break;if (a = 1) car top, num = i;cout «输入车牌号:"; cin >> cartop, pnum;cout « 输入车名:"; cin >> cartop, name;cout « 输入购置日期:"; cin >> cartop,
14、 time;cout « 输入生产厂家:; cin >> cartop, made;cout « 输入行驶里程:; cin >> cartop, distance;cout « 输入价格:"; cin >> cartop, price;cout « 输入驾驶员的名字:; cin >> cartop, driver;cout « 输入驾驶员的 号:"; cin >> cartop, cellphone;cout « 输入车型:(1-摩托车,2-汽车,3-&g
15、t;客车,4->面包车,5-货车cin >> cartop, type;top+;cout « 添加成功!是否继续添加车辆?(l>yes or 2>no),z «endl;cin >> b;if (b = 2) (cout « 系统返回中,请稍后! « endl; break;else/编号重复break;)else cout « "车库己满无法添加"« endl;cout « 系统返回"« endl;break;)jiemianO ;void
16、 Car::search0 (int i, j, k, a = 0, b=0, c;cout «根据编号查询! «endl;cout « "2-根据驾驶员信息查询! ?endl;cout « 请输入你的查询方式!(1 or 2) ,«endl; cin » i; switch (i) ( case 1: int n;cout « 输入要查询的车辆编号:"« endl; cin >> n;for (j = 0; j < top; J+) ( if (carEj. num = n)
17、 cout « "车辆编号:"? car j. num « endl; cout « "车名:"? car j. name « endl; cout « "购置 口期: << carj. time « endl; cout « "生产厂家:? car j. made « endl; cout « "行驶里程:"? car j. distance « endl; cout « "车辆价格
18、:? car j. price << endl; cout « 驾驶员的名字: « car j. driver « endl; cout « 驾驶员的 号:"? carj. cellphone « endl; cout « "车型:"« carj. type<< endl;cout « (1>摩托车,2->汽车,3-客车,4-面包车,5-货车)"« endl;a+;)if (a = 0) cout « 编号不存在! &l
19、t;< endl;)break;case 2: int m;string 1;cout « 输入驾驶员的名字"« endl;cin >> 1;cout « 输入驾驶员的 号"« endl;cin >> m;for (k = 0; k < top; k+) (if (cark. driver = 1) if (carEk, cellphone = m) (cout « "车辆编号:"? car k. num << endl;cout « "
20、车名:"« cark. name « endl;cout « 购置日期:"? car k. time « endl;cout « "生产厂家:? car k. made << endl;cout « "行驶里程: « car kJ. distance « endl;cout « "车辆价格:"« car k. price « endl;cout « 驾驶员的名字:"<< cark.
21、driver << endl;cout << 驾驶员的 号:"« car k. cellphone « endl;cout « "车型:"« car k. type « endl;cout « "(1->摩托车,2-汽车,3-客车,4->面包车,5- 货车)"<< endl;b+;)if (b = 0) cout信息错误或不存在! « endl;)break;default:cout « 输入有误!"
22、71; endl;break;cout « "按1返回主界面:"? endl;cin >> c;if (c = 1) jiemianO ;else jiemianO ;void Car: : show() int i, j; if (top != 0) cout « "车库中所有车的根本信息: « endl; for (i = 0; i < top; i+) (cout « "车辆编号:"? car i. num << endl;cout « "车名:&q
23、uot;« car i. name « endl;cout « 购置 口 期:"« car i. time << endl;cout « "生产厂家:"? car i. made « endl;cout « 行驶里程:"« car i. distance « endl;cout « "车辆价格:"« car i. price « endl;cout « 驾驶员的名字: « car i.
24、 driver « endl;cout « 驾驶员的 号: « cari. cellphone << endl;cout « "车型:"« cari. type « endl;cout « (1-摩托车,2-汽车,3-客车,4-面包车,5-货车) « endl;)elsecout « "车辆库为空!? endl;cout « 按1返回主界面:"« endl;cin » j;if (j = 1) jiemianO ; ) el
25、se jiemianO ;void Car::delet 0 int i,a=0; while (1) ( if(top=0) cout«,车辆库为空将退回功能界面! ?endl; break; else cout«,请输入要删除的车辆编号! ?endl; cin»i; for(int j=0;j<top;j+)( if (car j. num =i) cout « "车辆编号:"? car j. num << endl; cout « 车名:? carj. name « endl; cout &
26、#171; 购置日期:? car j. time « endl; cout « "生产厂家:"? car j. made << endl; cout « "行驶里程: « car j. distance « endl; cout « "车辆价格:"« carj. price « endl; cout « "驾驶员的名字:"« car j. driver « endl; cout << &quo
27、t;驾驶员的 号:"<< carj. cellphone « endl; cout << "车型:"<< car j. type « endl;cout « "(1-摩托车,2-汽车,3-客车,4->面包车,5-> 货车)"« endl;cout.是否确定信息并删除!(1-是,2-否)?endl; int n;cin»n; if(n=l)carj. num=carLtop-1. num; carj. name=cartop一1 name; carj
28、. time=cartop一1 time; carjj. made=cartop一1 made; carj. distance=cartopl. distance; carjj. price=cartop一1 price;carj. driver=cartopl. driver;carEjJ. cellphone=cartop一1 cellphone; carj. type=cartop一1 type;top; a+; else if (n=2) cout«,z系统返回中! "«endl; else(cout«输入错误系统返回中.,z«endl
29、;if (a=0) cout«,此编号不存在,不能进行删除,请重新输入! ?endl;elsecout«,删除成功!系统将返回功能界面."«endl;break;jiemianO ;void Car: : sum() int i, j, 1, m, a=0, b=0, c二0, d二0, f=0;cout « "1-统计里程"? endl;cout « "2-统计资产« endl;cout « "3-统计驾驶员"<< endl;cout « &
30、quot;4-统计车辆数"<< endl;cout « 输入统计的选项:"« endl;cin » i;if (i > 0 && i < 5) switch (i) case 1:cout « "1-总里程« endl;cout « 2-各类车的总里程"<< endl;cout « 输入选项:"? endl;cin » j;if (j = 1 | j = 2) ( switch (j) ( case 1:for (
31、1 = 0; 1 < top; 1+) a = a + car1. distance;cout « 总里程:"? a « endl;cout « "查询成功,系统将返回主页面."« endl; break;case 2:for (m = 0; m < top; m+) if (carm. type = 1) a=a+carm. distance; ) elsecarLm. distance; carLm. distance; ( d=d+carm. distance; if (carm. type = 2) b=
32、b +elseif (carm. type = 3) ( c=c +elseif (carmJ. type = 4)elsef=f + carLm. distance;cout « 摩托车的总里程:« b « endl;« c « endl;cout « 汽车的总里程:cout «客车的总里程: cout 面包车的总里程:"« d « endl;cout "货车的总里程:« f « endl;cout « 查询成功,系统将返回主页面. « end
33、l;1-摩托车,2-汽车,3-客车,4-面包车,5-货车break;default:cout « 输入有误!系统将返回."« endl; break;else cout « 输入错误,系统返回." « endl;break; break;case 2:cout « 1-总资产<< endl;cout « "2-各类车的总资产"« endl;cout « "输入选项:"? endl;cin » j;if (j = 1 | j = 2)
34、( switch (j) ( case 1:for (1 = 0; 1 < top; 1+) a = a + car1. price;cout « 总资产:? a « endl;cout « "查询成功,系统将返回主页面."« endl; break;case 2: for (m = 0; m top; m+) if (carm. type = 1) a = a + carm. price; elseif (car m. type = 2) b = b + car m price; elseif (carm. type = 3)
35、 ( c = c +car Em, price; elseif (carmJ. type = 4) ( d = d +car Em, price; elsef = f + car Em, price;cout « 摩托车的总资产:* « a « endl;cout « "汽车的总资产:* « b « endl;cout « 客车的总资产:* « c « endl;cout « "面包车的总资产:* « d « endl;cout « 货车的总资产
36、:* « f « endl;cout « "查询成功,系统将返回主页面."« endl;/(1-摩托车,2-汽车,3-客车,4-面包车,5-货车) break;default:cout « 输入有误!系统将返回."« endl;break;else cout.输入错误,系统返回. « endl;break; break;case 3:cout «,zl-总驾驶员数"« endl;cout « 2-各类车的总驾驶员数 « endl; cout
37、171; "输入选项:"? endl;cin » 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+; elseif (carm. type = 2) b+; elseif (carm. type
38、= 3) c+; elseif (carmJ. type = 4) ( d+; elsecout.摩托车的驾驶员数:cout « 汽车的总驾驶员数:cout « 客车的总驾驶员数:cout 面包车的总驾驶员数:« d « endl;cout 货车的总驾驶员数:« f « endl;cout « 查询成功,系统将返回主页面. « endl;1-摩托车,2-汽车,3-客车,4-面包车,5-货车break;default:cout « 输入有误!系统将返回."« endl; break;el
39、se cout « 输入错误,系统返回." « endl;break; break;case 4:cout « 1-总车数"? endl;cout « "2-各类车的车数 « endl; cout « "输入选项:"« endl;cin » j;if (j = 1 | j = 2) ( switch (j) ( case 1:a = top;cout « 总车辆数:"? a « endl;cout « "查询成功,系
40、统将返回主页面."« endl; 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 (carmJ. type = 4) ( d+; elsef+;cout « 摩托车的车辆数:"« a « end;cout « "汽车的总车辆数:* « b « end;cout « "客车
41、的总车辆数:* « c « end;cout « 面包车的总车辆数:"« d « endl;cout « "货车的总车辆数:* « f « endl;cout « "查询成功,系统将返回主页面."« endl;/(1-摩托车,2-汽车,3-客车,4-面包车,5-货车) break;default:cout « 输入有误!系统将返回."« endl; break;else cout « 输入错误,系统返回."
42、 « endl;break;break;default:cout « 输入有误!系统将返回."« endl;break;)else cout « 输入错误,系统返回主页面. « endl;jiemianO ;void Car::write0 ofstream fileout(a. txt, ios:trunc);fileout. close 0 ;ofstream write Ca. txt");for(int i = 0; i top; i+) write << 车辆编号:? car Li, num «
43、; "write <X"车牌号?cari. pnum«"write << 车名:"<< cari. name « "write << 购置口期:? cari. time « "write << 生产厂家:"« cari. made « "write << 行驶里程:? cari. distance « "write << 车辆价格:"« cari.
44、price « "write << 驾驶员的名字: « cari. driver « ";write << "驾驶员的 号: « car Li, cellphone « " write << 车型:"« cari. type « ?endl;write, close 0;cout«车辆信息己成功打印到同目录下a. txt文件中,系统间返回主界面! ,«endl;jiemianO ;void Car::store0 ofstream fileout(b. txt, ios:trunc);fileout. close 0;ofstream write (,zb. txt); for(int i = 0; i < top; i+) write « cari. num <X " write «cari. pnum« "; write <&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规章制度检查
- 营业员的实习报告
- 市场营销毕业实习报告15篇
- 从事家政服务公司劳动合同书(3篇)
- 读书分享会发言稿
- DB11T 1499-2017 节水型苗圃建设规范
- 新疆阿勒泰地区(2024年-2025年小学五年级语文)人教版阶段练习(下学期)试卷及答案
- 反比例函数教案文档
- 煤矿人工智能算法评估规范征求意见稿
- 上海市市辖区(2024年-2025年小学五年级语文)统编版开学考试(上学期)试卷及答案
- 创新实践(理论)学习通超星期末考试答案章节答案2024年
- 2024世界精神卫生日共建共治共享同心健心安心宣传课件
- 二十届三中全会知识点试题及答案【200题】
- 市三级公立综合医院绩效考核指标评分细则
- 大模型应用开发极简入门基于GPT-4和ChatGPT
- 四年级教材《劳动》课件
- 2023《中华人民共和国合同法》
- (通桥【2018】8370)《铁路桥梁快速更换型伸缩缝安装图》
- 超星尔雅学习通《当代大学生国家安全教育》章节测试答案
- 小学一年级上册 综合实践教学课件
- 一年级期中家长会ppt课件(PPT 23页)
评论
0/150
提交评论