C++程序设计车辆管理系统实验报告 附源代码.docx
- 文档编号:4042467
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:31
- 大小:258.14KB
C++程序设计车辆管理系统实验报告 附源代码.docx
《C++程序设计车辆管理系统实验报告 附源代码.docx》由会员分享,可在线阅读,更多相关《C++程序设计车辆管理系统实验报告 附源代码.docx(31页珍藏版)》请在冰豆网上搜索。
C++程序设计车辆管理系统实验报告附源代码
C++程序设计车辆管理系统实验报告附源代码
1.实习题目
车辆管理系统
2.原理概述
某运输公司,需要对其下所有的各种车辆进行管理,拟建立一个车辆管理系统进行管理,该系统能够实现以下功能:
(1)利用类、继承的相关理论知识,建立合理的类,能够管理至少5种车型,各种车型的相关数据,根据需要自行设定
(1)能够统计出该公司,所有车辆的累积行驶里程
(2)能够分类统计出每一类车辆的累积行驶里程、资产总额、驾驶员数量等相关信息
(3)能够根据驾驶员信息查找该驾驶员驾驶的车辆的详细信息
(4)能够统计出该公司车辆的总数额以及每类车辆的数量
(5)能够实现某个类型车辆的添加和删除
(6)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!
3.设计方案
3.1编程语言
C++语言
3.2数据结构
3.3.系统结构图
3.4技术方案
先定义结构体类,再将其继承,分别记录车辆信息和车辆编号函数;类的定义和使用;
While函数for循环if判断语句switch循环;文件的打开与关闭,输入和输出。
3.4流程图
车辆信息添加
车辆信息查询
车辆信息显示
车辆信息删除
车辆信息统计
车辆信息保存
车辆信息读取
车辆信息打印
4.程序编写
#include
#include
#include
usingnamespacestd;
#defineN25//车辆极限存储量
structManager{
intnum;//车辆编号
intpnum;//车牌号
stringmade;//生产厂家
stringname;//名字
inttime;//日期
doubledistance;//里程
doubleprice;//价格
stringdriver;//驾驶员
longlongcellphone;//手机号
inttype;//车型
};
classCar{
private:
Managercar[N];
inttop;//当前车的数量。
public:
Car(){top=0;}
voidadd();//增加
voidsearch();//查询
voidshow();//显示
voiddelet();//删除
voidsum();//统计
voidjiemian();//界面
voidstore();//保存
voidread();//读取
voidwrite();//打印
};
voidCar:
:
add(){}
voidCar:
:
search(){}
voidCar:
:
show(){}
voidCar:
:
delet(){}
voidCar:
:
sum(){}
voidCar:
:
jiemian(){}
voidCar:
:
store(){}
voidCar:
:
read(){}
voidCar:
:
write(){}
5.执行界面、运行结果分析
车辆信息添加
输入编号添加车辆依次输入车辆信息。
车辆信息查询
输入车辆编号查询车辆信息。
车辆信息显示
显示车库内所有车辆。
车辆信息删除
选择编号显示车辆信息,完成删除。
车辆信息统计
选择要统计的内容,显示统计的内容。
车辆信息保存
将车辆信息保存在文件中。
车辆信息读取
将保存的车辆信息读取出来。
车辆信息打印
将车辆信息打印下来。
6.总结与体会
经过了几个星期的学习与实践,汽车管理系统已基本完成,基本功能已全部实现,顽强可以在汽车公司投入使用。
系统功能有:
添加车辆信息,删除车辆信息,查询车辆信息,显示车辆信息,统计车辆信息,保存车辆信息,读取车辆信息,打印车辆信息等。
通过这次实践学习,我不仅加深了课堂知识还学到了许多课上学不到的技能。
既提高了我的基础知识,又增强了我的动手操作能力。
比如在做一个大项目时,一开始不急于动手写代码,应该先对这个项目做整体的分析,明确此项目的数据结构和基本实现功能,然后收集资料,设计算法,在这些工作完成后再开始编写代码。
在本次实践过程中我也发现了许多的不足。
比如,在这次系统设计中,只考虑到问题的一般情况,而忽略特殊情况;考虑问题不全面,只会单一的在某一方面或某一类方面考虑问题,视野没有得以开阔等。
我相信经过本次实践,我会在以后的学习工作中变得更加小心和自信,系统也会学做越熟练。
在不断的错误和失败中逐渐弥补和提高,是自己变得更加完美,设计以更加完美。
#include
#include
#include
usingnamespacestd;
#defineN25//车辆极限存储量
structManager{
intnum;//车辆编号
intpnum;//车牌号
stringmade;//生产厂家
stringname;//名字
inttime;//日期
doubledistance;//里程
doubleprice;//价格
stringdriver;//驾驶员
longlongcellphone;//手机号
inttype;//车型
};
classCar{
private:
Managercar[N];
inttop;//当前车的数量。
public:
Car(){top=0;}
voidadd();//增加
voidsearch();//查询
voidshow();//显示
voiddelet();//删除
voidsum();//统计
voidjiemian();//界面
voidstore();//保存
voidread();//读取
voidwrite();//打印
};
voidCar:
:
add(){
inta=1,b;
while
(1){
if(top inti; cout<<"请输入添加的车辆信息: "< cout<<"车辆编号: "; cin>>i; for(intj=0;j if(car[j].num==i){ cout<<"车辆编号重复,系统返回."< a++; break; } } if(a==1){ car[top].num=i; cout<<"输入车牌号: "; cin>>car[top].pnum; cout<<"输入车名: "; cin>>car[top].name; cout<<"输入购买日期: "; cin>>car[top].time; cout<<"输入生产厂家: "; cin>>car[top].made; cout<<"输入行驶里程: "; cin>>car[top].distance; cout<<"输入价格: "; cin>>car[top].price; cout<<"输入驾驶员的名字: "; cin>>car[top].driver; cout<<"输入驾驶员的手机号: "; cin>>car[top].cellphone; cout<<"输入车型: (1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"; cin>>car[top].type; top++; cout<<"添加成功! 是否继续添加车辆? (1->yesor2->no)"< cin>>b; if(b=2){ cout<<"系统返回中,请稍后! "< break; } } else//编号重复 break; } else{ cout<<"车库已满无法添加"< cout<<"系统返回"< break; } } jiemian(); } voidCar: : search(){ inti,j,k,a=0,b=0,c; cout<<"1-根据编号查询! "< cout<<"2-根据驾驶员信息查询! "< cout<<"请输入你的查询方式! (1or2)"< cin>>i; switch(i) { case1: {intn; cout<<"输入要查询的车辆编号: "< cin>>n; for(j=0;j if(car[j].num==n){ cout<<"车辆编号: "< cout<<"车名: "< cout<<"购买日期: "< cout<<"生产厂家: "< cout<<"行驶里程: "< cout<<"车辆价格: "< cout<<"驾驶员的名字: "< cout<<"驾驶员的手机号: "< cout<<"车型: "< cout<<"(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"< a++; } } if(a==0){ cout<<"编号不存在! "< } break; } case2: {intm; stringl; cout<<"输入驾驶员的名字"< cin>>l; cout<<"输入驾驶员的手机号"< cin>>m; for(k=0;k if(car[k].driver==l){ if(car[k].cellphone==m){ cout<<"车辆编号: "< cout<<"车名: "< cout<<"购买日期: "< cout<<"生产厂家: "< cout<<"行驶里程: "< cout<<"车辆价格: "< cout<<"驾驶员的名字: "< cout<<"驾驶员的手机号: "< cout<<"车型: "< cout<<"(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"< b++; } } } if(b=0){ cout<<"信息错误或不存在! "< } break; } default: cout<<"输入有误! "< break; } cout<<"按1返回主界面: "< cin>>c; if(c==1){ jiemian(); } else{ jiemian(); } } voidCar: : show(){ inti,j; if(top! =0){ cout<<"车库中所有车的基本信息: "< for(i=0;i cout<<"车辆编号: "< cout<<"车名: "< cout<<"购买日期: "< cout<<"生产厂家: "< cout<<"行驶里程: "< cout<<"车辆价格: "< cout<<"驾驶员的名字: "< cout<<"驾驶员的手机号: "< cout<<"车型: "< cout<<"(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"< } } else cout<<"车辆库为空! "< cout<<"按1返回主界面: "< cin>>j; if(j==1){ jiemian(); } else{ jiemian(); } } voidCar: : delet(){ inti,a=0; while (1){ if(top==0){ cout<<"车辆库为空将退回功能界面! "< break; }else{ cout<<"请输入要删除的车辆编号! "< cin>>i; for(intj=0;j if(car[j].num==i){ cout<<"车辆编号: "< cout<<"车名: "< cout<<"购买日期: "< cout<<"生产厂家: "< cout<<"行驶里程: "< cout<<"车辆价格: "< cout<<"驾驶员的名字: "< cout<<"驾驶员的手机号: "< cout<<"车型: "< cout<<"(1->摩托车,2->汽车,3->客车,4->面包车,5->货车)"< cout<<"是否确定信息并删除! (1->是,2->否)"< intn; cin>>n; if(n==1){ car[j].num=car[top-1].num; car[j].name=car[top-1].name; car[j].time=car[top-1].time; car[j].made=car[top-1].made; car[j].distance=car[top-1].distance; car[j].price=car[top-1].price; car[j].driver=car[top-1].driver; car[j].cellphone=car[top-1].cellphone; car[j].type=car[top-1].type; top--; a++; }else if(n==2){ cout<<"系统返回中! "< }else{ cout<<"输入错误系统返回中。 。 。 "< } } } if(a==0){ cout<<"此编号不存在,不能进行删除,请重新输入! "< }else{ cout<<"删除成功! 系统将返回功能界面...."< break; } } } jiemian(); } voidCar: : sum(){ inti,j,l,m,a=0,b=0,c=0,d=0,f=0; cout<<"1-统计里程"< cout<<"2-统计资产"< cout<<"3-统计驾驶员"< cout<<"4-统计车辆数"< cout<<"输入统计的选项: "< cin>>i; if(i>0&&i<5){ switch(i){ case1: cout<<"1-总里程"< cout<<"2-各类车的总里程"< cout<<"输入选项: "< cin>>j; if(j==1||j==2){ switch(j){ case1: for(l=0;l a=a+car[l].distance; } cout<<"总里程: "< cout<<"查询成功,系统将返回主页面。 "< break; case2: for(m=0;m if(car[m].type==1){a=a+car[m].distance;} else if(car[m].type==2){b=b+car[m].distance;} else if(car[m].type==3){c=c+car[m].distance;} else if(car[m].type==4){d=d+car[m].distance;} else f=f+car[m].distance; } cout<<"摩托车的总里程: "< cout<<"汽车的总里程: "< cout<<"客车的总里程: "< cout<<"面包车的总里程: "< cout<<"货车的总里程: "< cout<<"查询成功,系统将返回主页面。 "< //(1->摩托车,2->汽车,3->客车,4->面包车,5->货车) break; default: cout<<"输入有误! 系统将返回."< break; } } else{ cout<<"输入错误,系统返回。 "< break; } break; case2: cout<<"1-总资产"< cout<<"2-各类车的总资产"< cout<<"输入选项: "< cin>>j; if(j==1||j==2){ switch(j){ case1: for(l=0;l a=a+car[l].price; } cout<<"总资产:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计车辆管理系统实验报告 附源代码 C+ 程序设计 车辆 管理 系统 实验 报告 源代码