C++程序设计车辆管理系统实验报告附源代码.doc

上传人:jian****018 文档编号:8845142 上传时间:2020-04-01 格式:DOC 页数:26 大小:302.37KB
返回 下载 相关 举报
C++程序设计车辆管理系统实验报告附源代码.doc_第1页
第1页 / 共26页
C++程序设计车辆管理系统实验报告附源代码.doc_第2页
第2页 / 共26页
C++程序设计车辆管理系统实验报告附源代码.doc_第3页
第3页 / 共26页
点击查看更多>>
资源描述
C+程序设计车辆管理系统实验报告 附源代码1. 实习题目车辆管理系统2.原理概述某运输公司,需要对其下所有的各种车辆进行管理,拟建立一个车辆管理系统进行管理,该系统能够实现以下功能:(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少5种车型,各种车型的相关数据,根据需要自行设定(1)能够统计出该公司,所有车辆的累积行驶里程(2)能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等相关信息(3)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息(4)能够统计出该公司车辆的总数额以及每类车辆的数量(5)能够实现某个类型车辆的添加和删除(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!3设计方案3.1 编程语言C+语言3.2数据结构Carnum;/车辆编号pnum;/车牌号made;/生产厂家name;/名字time;/日期distance;/里程price;/价格driver;/驾驶员cellphone;/手机号type;/车型ManagerManager carN;top;/当前车的数量。add();/增加search();/查询show();/显示delet();/删除sum();/统计jiemian();/界面store();/保存read();/读取write();/打印3.3.系统结构图车辆管理系统车辆信息打印车辆信息读取车辆信息保存车辆信息界面车辆信息删除车辆信息统计车辆信息显示车辆信息查询车辆信息添加3.4技术方案先定义结构体类,再将其继承,分别记录车辆信息和车辆编号函数;类的定义和使用;While函数for循环if判断语句switch循环;文件的打开与关闭,输入和输出。3.4流程图车辆信息添加开始判断数据库是否满返回主界面是输入车辆编号是是返回主界面判断编号是否重复输入车辆信息车辆总数+1继续添加返回主界面否结束车辆信息查询开始根据驾驶员信息根据编号判断车辆是否存在返回主界面否是显示车辆信息结束车辆信息显示开始否判断车库是否有车是显示车库内所有车辆返回主界面结束车辆信息删除开始判断车库是否为空是否输入车辆编号判断删除信息是否正确否删除成功返回主界面结束车辆信息统计开始统计里程统计资产统计驾驶员统计车辆数输出统计结果返回主界面结束开始车辆信息保存保存成功结束返回主界面开始车辆信息读取读取成功返回主界面结束车辆信息打印开始打印成功返回主界面结束4.程序编写#include#include#includeusing 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;/当前车的数量。public: Car() top = 0; void add();/增加void search();/查询void show();/显示void delet();/删除void sum();/统计void jiemian();/界面void store();/保存void read();/读取void write();/打印;void Car:add()void Car:search()void Car:show()void Car:delet()void Car:sum ()void Car:jiemian()void Car:store ()void Car:read()void Car:write()5. 执行界面、运行结果分析车辆信息添加输入编号添加车辆依次输入车辆信息。车辆信息查询输入车辆编号查询车辆信息。车辆信息显示显示车库内所有车辆。车辆信息删除选择编号显示车辆信息,完成删除。车辆信息统计选择要统计的内容,显示统计的内容。车辆信息保存将车辆信息保存在文件中。车辆信息读取将保存的车辆信息读取出来。车辆信息打印将车辆信息打印下来。6.总结与体会经过了几个星期的学习与实践,汽车管理系统已基本完成,基本功能已全部实现,顽强可以在汽车公司投入使用。系统功能有:添加车辆信息,删除车辆信息,查询车辆信息,显示车辆信息,统计车辆信息,保存车辆信息,读取车辆信息,打印车辆信息等。通过这次实践学习,我不仅加深了课堂知识还学到了许多课上学不到的技能。既提高了我的基础知识,又增强了我的动手操作能力。比如在做一个大项目时,一开始不急于动手写代码,应该先对这个项目做整体的分析,明确此项目的数据结构和基本实现功能,然后收集资料,设计算法,在这些工作完成后再开始编写代码。在本次实践过程中我也发现了许多的不足。比如,在这次系统设计中,只考虑到问题的一般情况,而忽略特殊情况;考虑问题不全面,只会单一的在某一方面或某一类方面考虑问题,视野没有得以开阔等。我相信经过本次实践,我会在以后的学习工作中变得更加小心和自信,系统也会学做越熟练。在不断的错误和失败中逐渐弥补和提高,是自己变得更加完美,设计以更加完美。#include#include#includeusing 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;/当前车的数量。public: Car() top = 0; void add();/增加void search();/查询void show();/显示void delet();/删除void sum();/统计void jiemian();/界面void store();/保存void read();/读取void write();/打印;void Car:add() int a = 1, b;while (1) if (topN) int i;cout 请输入添加的车辆信息: endl;cout i;for (int j = 0; jtop; j+) if (carj.num = i) cout 车辆编号重复,系统返回. endl;a+;break;if (a = 1) cartop.num = i;cout cartop.pnum;cout cartop.name;cout cartop.time;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;else/编号重复break;else cout 车库已满无法添加 endl;cout 系统返回 endl;break;jiemian();void Car:search() int i, j, k,a = 0, b=0,c;cout 1-根据编号查询!endl;cout 2-根据驾驶员信息查询!endl;cout 请输入你的查询方式!(1 or 2) i;switch (i)case 1: int n;cout 输入要查询的车辆编号: n;for (j = 0; j top; j+) if (carj.num = n) cout 车辆编号: 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;a+;if (a = 0) cout 编号不存在! 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.driver 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 车库中所有车的基本信息: 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 车型: cari.type endl;cout 摩托车,2-汽车,3-客车,4-面包车,5-货车) endl;elsecout 车辆库为空! 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;elsecout请输入要删除的车辆编号!i;for(int j=0;jtop;j+)if(carj.num =i)cout 车辆编号: 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=cartop-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+;elseif(n=2)cout系统返回中!endl;elsecout输入错误系统返回中。endl;if(a=0)cout此编号不存在,不能进行删除,请重新输入!endl;elsecout删除成功!系统将返回功能界面.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) 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; elseif (carm.type = 2) b=b + carm.distance; elseif (carm.type = 3) c=c + carm.distance; elseif (carm.type = 4) d=d+carm.distance; elsef=f + carm.distance;cout 摩托车的总里程: a endl;cout 汽车的总里程: b endl;cout 客车的总里程: c endl;cout 面包车的总里程: d endl;cout 货车的总里程: f endl;cout 查询成功,系统将返回主页面。 摩托车,2-汽车,3-客车,4-面包车,5-货车)break;default:cout 输入有误!系统将返回. endl;break;else cout 输入错误,系统返回。 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; 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 + carm.price;cout 摩托车的总资产: a endl;cout 汽车的总资产: b endl;cout 客车的总资产: c endl;cout 面包车的总资产: d endl;cout 货车的总资产: f endl;cout 查询成功,系统将返回主页面。 摩托车,2-汽车,3-客车,4-面包车,5-货车)break;default:cout 输入有误!系统将返回. endl;break;else cout 输入错误,系统返回。 endl;break;break;case 3:cout 1-总驾驶员数 endl;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+; elseif (carm.type = 2) b+; elseif (carm.type = 3) c+; elseif (carm.type = 4) d+; elsef+;cout 摩托车的驾驶员数: a endl;cout 汽车的总驾驶员数: b endl;cout 客车的总驾驶员数: c endl;cout 面包车的总驾驶员数: d endl;cout 货车的总驾驶员数: f endl;cout 查询成功,系统将返回主页面。 摩托车,2-汽车,3-客车,4-面包车,5-货车)break;default:cout 输入有误!系统将返回. 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 查询成功,系统将返回主页面。 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 (carm.type = 4) d+; elsef+;cout 摩托车的车辆数: a endl;cout 汽车的总车辆数: b endl;cout 客车的总车辆数: c endl;cout 面包车的总车辆数: d endl;cout 货车的总车辆数: f endl;cout 查询成功,系统将返回主页面。 摩托车,2-汽车,3-客车,4-面包车,5-货车)break;default:cout 输入有误!系统将返回. endl;break;else cout 输入错误,系统返回。 endl;break;break;default:cout 输入有误!系统将返回. endl;break;else cout 输入错误,系统返回主页面。 endl;jiemian();void Car:write()ofstream fileout(a.txt,ios:trunc);fileout.close();ofstream write(a.txt);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;write.close();cout车辆信息已成功打印到同目录下a.txt文件中,系统间返回主界面!endl;jiemian();void Car:store()ofstream fileout(b.txt,ios:trunc);fileout.close();ofstream write(b.txt);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;write.close();cout车辆信息保存,系统间返回主界面!cartop.numcartop.pnumcartop.namecartop.timecartop.madecartop.distancecartop.pricecartop.drivercartop.cellphonecartop.cellphonecartop.type;top+;cout读取同目录下的b.txt文件成功!系统将返回主界面.endl;read.close();jiemian();void Car:jiemian() int n;cout * endl;cout * 欢迎进入车辆管理系统! * endl;cout * endl;cout * 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;a.jiemian();
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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