#include<iostream>
#include<fstream>
#include<cstdlib>
#include<cstring>
using namespace std;
class che //车基类
{
public:
int bianhao;// 编号
int chexing;//车型 (1代表客车2卡车3小轿车)
int zaikeliang;//载客量
int xiangshu;//厢数
char chepaihao[50];//车牌号
char zhizaogongsi[50];//制造公司
char goucheshijian[50];//购车时间
float zaizhong;//载重
float zonggonglishu;//总公里数
float haoyouliang;//每公里耗油量
float weihufei;//基本维护费
float yanglufei;//养路费
float zongfeiyong;//总费用
class che *next;
};
class qichelei:public che//汽车类
{
public://公用的
qichelei()//构造函数
{
head=NULL;
rongliang=100;//信息库容量
s_dangqian=0;//当前数量
}
void f_add();//添加车辆函数
void f_output();//打印函数
void f_input();//增加函数(插入)到指定位置
void f_del();//输入编号删除函数
void f_findNUM();//按编号查询
void f_findcompany();//按公司查询
void f_findchexing();//按车型查询
void f_findcaidan();//查询菜单
void f_modify();//输入编号查询修改
void f_tongji();//统计函数(统计数据库中有多少车及各种车辆的数量)
void f_save();//保存函数
void f_read();//读取函数
int f_duibibianhao(int x);//对比编号函数
private://私有的
che *head;//定义一个指针
int rongliang;//车辆信息库的容量(储存汽车数量) ,
int s_dangqian;//当前链表中存储的汽车数量
}A;
void qichelei::f_add()//录入车辆函数
{
che *p1,*p2;
int k,j;//k判断编号是否重复时用,j选择车型时使用,
int n=1;//n的作用是记录当前输入的是第几个车辆的信息
float a;//a代表油价
p1=p2=new che;
head=p1;
p1=new che;
p1->next=NULL;//以上是创建头结点头结点为空
if(s_dangqian<rongliang)
{
cout<<"开始录入车辆信息,请根据提示输入信息"<<endl;
cout<<"请输入第1辆车的信息"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);//输入1,2,3时进行下面
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间:"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
system ("pause"); system("cls");
while(p1->bianhao!=0)
{
p2->next=p1;
p2=p1;//信息存入链表
s_dangqian++;//车辆信息库中的车辆数增加1
p1=new che;
p1->next=NULL;
n++;
if(s_dangqian<rongliang)
{
cout<<"请输入第"<<n<<"辆汽车的信息(编号为0时停止录入)"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
k=f_duibibianhao(p1->bianhao);
while(k!=0)
{
cout<<"输入的车辆编号已存在,请重新输入!"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
k=f_duibibianhao(p1->bianhao);
}
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
system ("pause");//就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。
system("cls");
}
else
{
cout<<"车辆信息库已满,不能再添加新的车辆数据!"<<endl;
break;//跳出循环
system ("pause"); system("cls");
}
}
}
else
{
cout<<"车辆信息库已满,不能再添加新的车辆数据!"<<endl;
}
}
void qichelei::f_output()//打印函数
{
class che *p1;
p1=head->next;
if(p1==NULL)
{
cout<<endl;
cout<<"车辆链表为空!车辆数据库中无数据\n";
cout<<endl;
}
cout<<"****************************************此时所有车辆信息如下****************************************"<<endl;
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
while(p1!=NULL)
{
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;
p1=p1->next;
}
}
void qichelei::f_input()//增加函数(插入)插入到指定位置
{
class che *p1;
class che *q;
int n=0;
float a;
int k,j,charu_bianhao;//k判断编号是否重复,j选择车型 charu_bianhao记录插入点之前车辆的编号
p1=head;
if(s_dangqian<rongliang)
{
cout<<"请输入要插入的位置(输入插入点前一辆车的编号)(若要插入第1辆车之前请输入0)"<<endl;
cin>>charu_bianhao;
q=new che;
q->next=NULL;
cout<<"请输入车辆的信息"<<endl;
cout<<"编号:"; cin>>q->bianhao; getchar();
k=f_duibibianhao(q->bianhao);
while(k!=0)
{
cout<<"输入的车辆编号已存在,请重新输入!"<<endl;
cout<<"编号:"; cin>>q->bianhao; getchar();
k=f_duibibianhao(q->bianhao);
}
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:q->chexing=j;break;
case 2:q->chexing=j;break;
case 3:q->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(q->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>q->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>q->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>q->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>q->chepaihao; getchar();
cout<<"制造公司:"; cin>>q->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>q->goucheshijian; getchar();
cout<<"总公里数:"; cin>>q->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>q->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>q->yanglufei; getchar();
if(charu_bianhao==0)
{
q->next=head->next;
head->next=q;//插入第一位
cout<<"成功插入"<<endl;
s_dangqian++;
}
else
{
p1=head->next;
for(p1;p1!=NULL;p1=p1->next)
{
if(p1->bianhao==charu_bianhao)
{
n++;
q->next=p1->next;
p1->next=q;
break;
}
}
if(n==0)
{
cout<<"未找到输入的编号"<<endl;
}
else
{
cout<<"成功插入"<<endl;
s_dangqian++;
}
}
}
else
{
cout<<"车辆信息库已满,不能再增加新的车辆数据!"<<endl;
}
}
void qichelei::f_del()//输入编号删除函数
{
int b;//输入的编号
int n=0;
char ch;
class che *p1,*p2;
p2=head;
p1=head->next;
cout<<"请输入要删除车辆的编号"<<endl;
cin>>b;
if(head->next!=NULL)
{
while(p1!=NULL)
{
n++;
if(p1->bianhao==b)
{
do
{
cout<<"您确定要从数据库中删除该车的信息吗?(y/n):" ;
cin>>ch;
switch(ch)
{
case 'y':p2->next=p1->next;delete p1;s_dangqian--;cout<<"删除成功!"<<endl;break;//删除
case 'n':break;//不删除
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(ch!='n'&&ch!='y');
}
p2=p1;
p1=p1->next;
}
if(n==0)
{
cout<<"该编号的车辆不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!"<<endl;
}
}
void qichelei::f_findcaidan()//查询菜单函数
{
int n;
do
{
cout<<"__________________________________________"<<endl;
cout<<" 查询菜单 "<<endl;
cout<<"1.按编号查询**********************"<<endl;
cout<<"2.按制造公司查询******************"<<endl;
cout<<"3.按类(车型类)查询****************"<<endl;
cout<<"0.返回上级菜单********************"<<endl;
cout<<"__________________________________________"<<endl;
cout<<"请选择:";
cin>>n;
switch(n)
{
case 1:A.f_findNUM();system("pause"); system("cls");break;//按编号查询
case 2:A.f_findcompany();system("pause"); system("cls");break;//按制造公司查询
case 3:A.f_findchexing();system ("pause"); system("cls");break;//按类(车型类)查询
case 0:cout<<"即将返回上级菜单!"<<endl;break;
default :cout<<"输入有误!将要返回查询菜单"<<endl;system ("pause");system("cls");
}
}while(n!=0);
}
void qichelei::f_findNUM()//按编号查询
{
int b;//记录输入的编号
int n=0;
class che *p1;
p1=head->next;
cout<<"请输入要查找车辆的编号:";
cin>>b;
cout<<"**************************************************查询结果如下**************************************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(p1->bianhao==b)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!"<<endl;
}
}
void qichelei::f_findcompany()//按公司查询
{
char b[50];//记录输入的公司名称
int n=0;
class che *p1;
p1=head->next;
cout<<"请输入要查找车辆的制造公司的名称"<<endl;
cin>>b;
cout<<"**************************************************查询结果如下**************************************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(strcmp(p1->zhizaogongsi,b)==0)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<""<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!";
}
}
void qichelei::f_findchexing()//按车型查询
{
int b;//记录输入的车型
int n=0,n1;
class che *p1;
p1=head->next;
do
{
cout<<"____________________"<<endl;
cout<<" 车型菜单 "<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"____________________"<<endl;
cout<<"请输入要查找车辆的车型:";
cin>>n1;
switch(n1)
{
case 1:b=n1;break;//按编号查询
case 2:b=n1;break;//按制造公司查询
case 3:b=n1;break;//按类(车型类)查询
default :cout<<"输入有误!将要返回查询菜单"<<endl;system ("pause");system("cls");
}
}while(n1<1||n1>3);
cout<<"*****************************查询结果如下******************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(p1->chexing==b)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!";
}
}
void qichelei::f_modify()//输入编号修改
{
int b,k,j;//b记录输入的编号 ,k(输入修改编号时)判断编号是否重复 j选择车型
int n=0;
float a;
class che *p1;
char ch;
p1=head->next;
cout<<"请输入要修改车辆的编号:"<<endl;
cin>>b;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
if(p1->bianhao==b)
{
n++;
}
if(n!=0)
{
break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据"<<endl;
}
if(n!=0)//若找到所要找的车则进入修改代码。
{
do
{
cout<<"您确定要修改该车的信息吗?(y/n):" ;
cin>>ch;
switch(ch)
{
case 'y':
cout<<"编号:"; cin>>p1->bianhao; getchar();
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
break;//修改
case 'n':break;//不修改
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(ch=='y');
}
}
void qichelei::f_tongji()//统计函数
{
int i=0,j=0,k=0,s=0;//i,j,k分别代表客车,卡车,小轿车的数量 s代表3种车数量的总和
class che *p;
p=head->next;
for(p;p!=NULL;p=p->next)
{
s++;
switch(p->chexing)
{
case 1:i++;break;
case 2:j++;break;
case 3:k++;break;
default :break;
}
}
cout<<"__________统计结果如下__________"<<endl;
cout<<" 客 车:"<<i<<"辆"<<endl;
cout<<" 卡 车:"<<j<<"辆"<<endl;
cout<<" 小轿车:"<<k<<"辆"<<endl;
cout<<" 总 计:"<<s<<"辆"<<endl;
cout<<"________________________________"<<endl;
}
void qichelei::f_save()//保存函数
{
ofstream outfile("车辆信息.txt");
class che *p;
p=head;
if(!outfile)
{
cout<<"open error!"<<endl;
exit(0);
}
while(p!=NULL)
{
outfile.write((char *)p,sizeof(che));
p=p->next;
}
if(p==NULL)
{
cout<<"保存成功!"<<endl;
}
else
{
cout<<"保存失败!"<<endl;
}
outfile.close();
}
void qichelei::f_read()//读取函数
{
ifstream infile("车辆信息.txt");
if(!infile)
{
cout<<"open error!"<<endl;
exit(0);
}
class che *p1,*p2,*head1;
p1=head1=new che;
head1->next=NULL;
while(!infile.eof())
{
p2=new che;
infile.read((char *)p2,sizeof(che));
p1->next=p2;
p1=p2;
}
p1->next=NULL;//信息全部读取
infile.close();
head=head1;
}
int qichelei::f_duibibianhao(int x)//对比编号函数
{
int b=0;
class che *p1;
p1=head->next;
for(p1;p1!=NULL;p1=p1->next)//判断输入的编号是否和客车链表中已有的车的编号一样
{
if(x==p1->bianhao)
{
b++;
}
}
return(b);
}
int main()//主菜单函数
{
int n;
do
{
cout<<"\t\t************欢迎使用车辆管理系统**********"<<endl;
cout<<"\t\t__________________________________________"<<endl;
cout<<"\t\t 主菜单 "<<endl;
cout<<"\t\t1.录入车辆信息(以前的数据被覆盖掉)"<<endl;
cout<<"\t\t2.显示车辆信息库中所有车辆的信息"<<endl;
cout<<"\t\t3.插入车辆信息"<<endl;
cout<<"\t\t4.删除车辆信息"<<endl;
cout<<"\t\t5.查询车辆信息"<<endl;
cout<<"\t\t6.修改车辆信息"<<endl;
cout<<"\t\t7.统计信息"<<endl;
cout<<"\t\t8.保存车辆信息"<<endl;
cout<<"\t\t9.读取车辆信息"<<endl;
cout<<"\t\t0.退出车辆管理系统"<<endl;
cout<<"\t\t__________________________________________"<<endl;
cout<<"请选择:";
cin>>n;
switch(n)
{
case 1:A.f_add();break;// 选择添加车辆界面函数
case 2:A.f_output();break;//调用打印函数打印出数据库中所用信息
case 3:A.f_input();break;// 调用插入菜单函数
case 4:A.f_del();break;// 删除菜单函数
case 5:A.f_findcaidan();break;//查询菜单
case 6:A.f_modify();break;//修改函数
case 7:A.f_tongji();break;//统计函数(统计数据库中有多少车及各种车辆的数量)
case 8:A.f_save();break;//保存函数
case 9:A.f_read();A.f_output();break;//读取函数
case 0:cout<<"正在退出车辆管理系统"<<endl;return 0;break;
default :cout<<"输入有误!"<<endl;system ("pause");system("cls");
}
}while(1);
}
#include<fstream>
#include<cstdlib>
#include<cstring>
using namespace std;
class che //车基类
{
public:
int bianhao;// 编号
int chexing;//车型 (1代表客车2卡车3小轿车)
int zaikeliang;//载客量
int xiangshu;//厢数
char chepaihao[50];//车牌号
char zhizaogongsi[50];//制造公司
char goucheshijian[50];//购车时间
float zaizhong;//载重
float zonggonglishu;//总公里数
float haoyouliang;//每公里耗油量
float weihufei;//基本维护费
float yanglufei;//养路费
float zongfeiyong;//总费用
class che *next;
};
class qichelei:public che//汽车类
{
public://公用的
qichelei()//构造函数
{
head=NULL;
rongliang=100;//信息库容量
s_dangqian=0;//当前数量
}
void f_add();//添加车辆函数
void f_output();//打印函数
void f_input();//增加函数(插入)到指定位置
void f_del();//输入编号删除函数
void f_findNUM();//按编号查询
void f_findcompany();//按公司查询
void f_findchexing();//按车型查询
void f_findcaidan();//查询菜单
void f_modify();//输入编号查询修改
void f_tongji();//统计函数(统计数据库中有多少车及各种车辆的数量)
void f_save();//保存函数
void f_read();//读取函数
int f_duibibianhao(int x);//对比编号函数
private://私有的
che *head;//定义一个指针
int rongliang;//车辆信息库的容量(储存汽车数量) ,
int s_dangqian;//当前链表中存储的汽车数量
}A;
void qichelei::f_add()//录入车辆函数
{
che *p1,*p2;
int k,j;//k判断编号是否重复时用,j选择车型时使用,
int n=1;//n的作用是记录当前输入的是第几个车辆的信息
float a;//a代表油价
p1=p2=new che;
head=p1;
p1=new che;
p1->next=NULL;//以上是创建头结点头结点为空
if(s_dangqian<rongliang)
{
cout<<"开始录入车辆信息,请根据提示输入信息"<<endl;
cout<<"请输入第1辆车的信息"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);//输入1,2,3时进行下面
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间:"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
system ("pause"); system("cls");
while(p1->bianhao!=0)
{
p2->next=p1;
p2=p1;//信息存入链表
s_dangqian++;//车辆信息库中的车辆数增加1
p1=new che;
p1->next=NULL;
n++;
if(s_dangqian<rongliang)
{
cout<<"请输入第"<<n<<"辆汽车的信息(编号为0时停止录入)"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
k=f_duibibianhao(p1->bianhao);
while(k!=0)
{
cout<<"输入的车辆编号已存在,请重新输入!"<<endl;
cout<<"编号:"; cin>>p1->bianhao; getchar();
k=f_duibibianhao(p1->bianhao);
}
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
system ("pause");//就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。
system("cls");
}
else
{
cout<<"车辆信息库已满,不能再添加新的车辆数据!"<<endl;
break;//跳出循环
system ("pause"); system("cls");
}
}
}
else
{
cout<<"车辆信息库已满,不能再添加新的车辆数据!"<<endl;
}
}
void qichelei::f_output()//打印函数
{
class che *p1;
p1=head->next;
if(p1==NULL)
{
cout<<endl;
cout<<"车辆链表为空!车辆数据库中无数据\n";
cout<<endl;
}
cout<<"****************************************此时所有车辆信息如下****************************************"<<endl;
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
while(p1!=NULL)
{
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;
p1=p1->next;
}
}
void qichelei::f_input()//增加函数(插入)插入到指定位置
{
class che *p1;
class che *q;
int n=0;
float a;
int k,j,charu_bianhao;//k判断编号是否重复,j选择车型 charu_bianhao记录插入点之前车辆的编号
p1=head;
if(s_dangqian<rongliang)
{
cout<<"请输入要插入的位置(输入插入点前一辆车的编号)(若要插入第1辆车之前请输入0)"<<endl;
cin>>charu_bianhao;
q=new che;
q->next=NULL;
cout<<"请输入车辆的信息"<<endl;
cout<<"编号:"; cin>>q->bianhao; getchar();
k=f_duibibianhao(q->bianhao);
while(k!=0)
{
cout<<"输入的车辆编号已存在,请重新输入!"<<endl;
cout<<"编号:"; cin>>q->bianhao; getchar();
k=f_duibibianhao(q->bianhao);
}
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:q->chexing=j;break;
case 2:q->chexing=j;break;
case 3:q->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(q->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>q->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>q->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>q->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>q->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
q->zongfeiyong=a*q->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>q->chepaihao; getchar();
cout<<"制造公司:"; cin>>q->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>q->goucheshijian; getchar();
cout<<"总公里数:"; cin>>q->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>q->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>q->yanglufei; getchar();
if(charu_bianhao==0)
{
q->next=head->next;
head->next=q;//插入第一位
cout<<"成功插入"<<endl;
s_dangqian++;
}
else
{
p1=head->next;
for(p1;p1!=NULL;p1=p1->next)
{
if(p1->bianhao==charu_bianhao)
{
n++;
q->next=p1->next;
p1->next=q;
break;
}
}
if(n==0)
{
cout<<"未找到输入的编号"<<endl;
}
else
{
cout<<"成功插入"<<endl;
s_dangqian++;
}
}
}
else
{
cout<<"车辆信息库已满,不能再增加新的车辆数据!"<<endl;
}
}
void qichelei::f_del()//输入编号删除函数
{
int b;//输入的编号
int n=0;
char ch;
class che *p1,*p2;
p2=head;
p1=head->next;
cout<<"请输入要删除车辆的编号"<<endl;
cin>>b;
if(head->next!=NULL)
{
while(p1!=NULL)
{
n++;
if(p1->bianhao==b)
{
do
{
cout<<"您确定要从数据库中删除该车的信息吗?(y/n):" ;
cin>>ch;
switch(ch)
{
case 'y':p2->next=p1->next;delete p1;s_dangqian--;cout<<"删除成功!"<<endl;break;//删除
case 'n':break;//不删除
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(ch!='n'&&ch!='y');
}
p2=p1;
p1=p1->next;
}
if(n==0)
{
cout<<"该编号的车辆不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!"<<endl;
}
}
void qichelei::f_findcaidan()//查询菜单函数
{
int n;
do
{
cout<<"__________________________________________"<<endl;
cout<<" 查询菜单 "<<endl;
cout<<"1.按编号查询**********************"<<endl;
cout<<"2.按制造公司查询******************"<<endl;
cout<<"3.按类(车型类)查询****************"<<endl;
cout<<"0.返回上级菜单********************"<<endl;
cout<<"__________________________________________"<<endl;
cout<<"请选择:";
cin>>n;
switch(n)
{
case 1:A.f_findNUM();system("pause"); system("cls");break;//按编号查询
case 2:A.f_findcompany();system("pause"); system("cls");break;//按制造公司查询
case 3:A.f_findchexing();system ("pause"); system("cls");break;//按类(车型类)查询
case 0:cout<<"即将返回上级菜单!"<<endl;break;
default :cout<<"输入有误!将要返回查询菜单"<<endl;system ("pause");system("cls");
}
}while(n!=0);
}
void qichelei::f_findNUM()//按编号查询
{
int b;//记录输入的编号
int n=0;
class che *p1;
p1=head->next;
cout<<"请输入要查找车辆的编号:";
cin>>b;
cout<<"**************************************************查询结果如下**************************************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(p1->bianhao==b)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!"<<endl;
}
}
void qichelei::f_findcompany()//按公司查询
{
char b[50];//记录输入的公司名称
int n=0;
class che *p1;
p1=head->next;
cout<<"请输入要查找车辆的制造公司的名称"<<endl;
cin>>b;
cout<<"**************************************************查询结果如下**************************************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(strcmp(p1->zhizaogongsi,b)==0)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<""<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!";
}
}
void qichelei::f_findchexing()//按车型查询
{
int b;//记录输入的车型
int n=0,n1;
class che *p1;
p1=head->next;
do
{
cout<<"____________________"<<endl;
cout<<" 车型菜单 "<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"____________________"<<endl;
cout<<"请输入要查找车辆的车型:";
cin>>n1;
switch(n1)
{
case 1:b=n1;break;//按编号查询
case 2:b=n1;break;//按制造公司查询
case 3:b=n1;break;//按类(车型类)查询
default :cout<<"输入有误!将要返回查询菜单"<<endl;system ("pause");system("cls");
}
}while(n1<1||n1>3);
cout<<"*****************************查询结果如下******************************"<<endl;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
n++;
if(p1->chexing==b)
{
cout<<"/车型 "<<"编号"<<"/车牌号"<<"/制造公司"<<"/购车时间"<<"/总公里数"<<"/每公里耗油量(升)"<<"/养路费(元/月)"
<<"/基本维护费(元/月)"<<"/总费用"<<"/载客量(人)"<<"/载重量(吨)"<<"/厢数"<<endl;
cout<<" "<<p1->chexing<<" "<<p1->bianhao<<" "<<p1->chepaihao<<" "<<p1->zhizaogongsi<<" "<<p1->goucheshijian
<<" "<<p1->zonggonglishu<<" "<<p1->haoyouliang<<" "<<p1->yanglufei<<" "<<p1->weihufei<<" "<<p1->zongfeiyong
<<" "<<p1->zaikeliang<<" "<<p1->zaizhong<<" "<<p1->xiangshu<<endl;break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据!";
}
}
void qichelei::f_modify()//输入编号修改
{
int b,k,j;//b记录输入的编号 ,k(输入修改编号时)判断编号是否重复 j选择车型
int n=0;
float a;
class che *p1;
char ch;
p1=head->next;
cout<<"请输入要修改车辆的编号:"<<endl;
cin>>b;
if(head->next!=NULL)
{
for(p1;p1!=NULL;p1=p1->next)
{
if(p1->bianhao==b)
{
n++;
}
if(n!=0)
{
break;
}
}
if(n==0)
{
cout<<"该编号不存在!"<<endl;
}
}
else
{
cout<<"链表为空!数据库中无数据"<<endl;
}
if(n!=0)//若找到所要找的车则进入修改代码。
{
do
{
cout<<"您确定要修改该车的信息吗?(y/n):" ;
cin>>ch;
switch(ch)
{
case 'y':
cout<<"编号:"; cin>>p1->bianhao; getchar();
do
{
cout<<"___________________"<<endl;
cout<<"***输入车型***"<<endl;
cout<<"1.客车****"<<endl;
cout<<"2.卡车****"<<endl;
cout<<"3.小轿车**"<<endl;
cout<<"___________________"<<endl;
cout<<"请选择:";
cin>>j;
switch(j)
{
case 1:p1->chexing=j;break;
case 2:p1->chexing=j;break;
case 3:p1->chexing=j;break;
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(j<1||j>3);
switch(p1->chexing)
{
case 1:cout<<"载客量(单位:人):"; cin>>p1->zaikeliang; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+2000;
break;
case 2:cout<<"载重量(单位:吨):"; cin>>p1->zaizhong; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1500;
break;
case 3:cout<<"厢 数:"; cin>>p1->xiangshu; getchar();
cout<<"每公里耗油量(单位:升):"; cin>>p1->haoyouliang;getchar();
cout<<"此时油价:";
cin>>a;
p1->zongfeiyong=a*p1->haoyouliang+1000;
break;
default :break;
}
cout<<"车牌号:"; cin>>p1->chepaihao; getchar();
cout<<"制造公司:"; cin>>p1->zhizaogongsi; getchar();
cout<<"购车时间 :"; cin>>p1->goucheshijian; getchar();
cout<<"总公里数:"; cin>>p1->zonggonglishu; getchar();
cout<<"基本维护费(单位:元/月):"; cin>>p1->weihufei; getchar();
cout<<"养路费(单位:元/月):"; cin>>p1->yanglufei; getchar();
break;//修改
case 'n':break;//不修改
default :cout<<"输入有误!将要重新输入"<<endl;
}
}while(ch=='y');
}
}
void qichelei::f_tongji()//统计函数
{
int i=0,j=0,k=0,s=0;//i,j,k分别代表客车,卡车,小轿车的数量 s代表3种车数量的总和
class che *p;
p=head->next;
for(p;p!=NULL;p=p->next)
{
s++;
switch(p->chexing)
{
case 1:i++;break;
case 2:j++;break;
case 3:k++;break;
default :break;
}
}
cout<<"__________统计结果如下__________"<<endl;
cout<<" 客 车:"<<i<<"辆"<<endl;
cout<<" 卡 车:"<<j<<"辆"<<endl;
cout<<" 小轿车:"<<k<<"辆"<<endl;
cout<<" 总 计:"<<s<<"辆"<<endl;
cout<<"________________________________"<<endl;
}
void qichelei::f_save()//保存函数
{
ofstream outfile("车辆信息.txt");
class che *p;
p=head;
if(!outfile)
{
cout<<"open error!"<<endl;
exit(0);
}
while(p!=NULL)
{
outfile.write((char *)p,sizeof(che));
p=p->next;
}
if(p==NULL)
{
cout<<"保存成功!"<<endl;
}
else
{
cout<<"保存失败!"<<endl;
}
outfile.close();
}
void qichelei::f_read()//读取函数
{
ifstream infile("车辆信息.txt");
if(!infile)
{
cout<<"open error!"<<endl;
exit(0);
}
class che *p1,*p2,*head1;
p1=head1=new che;
head1->next=NULL;
while(!infile.eof())
{
p2=new che;
infile.read((char *)p2,sizeof(che));
p1->next=p2;
p1=p2;
}
p1->next=NULL;//信息全部读取
infile.close();
head=head1;
}
int qichelei::f_duibibianhao(int x)//对比编号函数
{
int b=0;
class che *p1;
p1=head->next;
for(p1;p1!=NULL;p1=p1->next)//判断输入的编号是否和客车链表中已有的车的编号一样
{
if(x==p1->bianhao)
{
b++;
}
}
return(b);
}
int main()//主菜单函数
{
int n;
do
{
cout<<"\t\t************欢迎使用车辆管理系统**********"<<endl;
cout<<"\t\t__________________________________________"<<endl;
cout<<"\t\t 主菜单 "<<endl;
cout<<"\t\t1.录入车辆信息(以前的数据被覆盖掉)"<<endl;
cout<<"\t\t2.显示车辆信息库中所有车辆的信息"<<endl;
cout<<"\t\t3.插入车辆信息"<<endl;
cout<<"\t\t4.删除车辆信息"<<endl;
cout<<"\t\t5.查询车辆信息"<<endl;
cout<<"\t\t6.修改车辆信息"<<endl;
cout<<"\t\t7.统计信息"<<endl;
cout<<"\t\t8.保存车辆信息"<<endl;
cout<<"\t\t9.读取车辆信息"<<endl;
cout<<"\t\t0.退出车辆管理系统"<<endl;
cout<<"\t\t__________________________________________"<<endl;
cout<<"请选择:";
cin>>n;
switch(n)
{
case 1:A.f_add();break;// 选择添加车辆界面函数
case 2:A.f_output();break;//调用打印函数打印出数据库中所用信息
case 3:A.f_input();break;// 调用插入菜单函数
case 4:A.f_del();break;// 删除菜单函数
case 5:A.f_findcaidan();break;//查询菜单
case 6:A.f_modify();break;//修改函数
case 7:A.f_tongji();break;//统计函数(统计数据库中有多少车及各种车辆的数量)
case 8:A.f_save();break;//保存函数
case 9:A.f_read();A.f_output();break;//读取函数
case 0:cout<<"正在退出车辆管理系统"<<endl;return 0;break;
default :cout<<"输入有误!"<<endl;system ("pause");system("cls");
}
}while(1);
}