C++汽车租赁管理系统.docx

上传人:b****1 文档编号:13675180 上传时间:2023-06-16 格式:DOCX 页数:39 大小:20.50KB
下载 相关 举报
C++汽车租赁管理系统.docx_第1页
第1页 / 共39页
C++汽车租赁管理系统.docx_第2页
第2页 / 共39页
C++汽车租赁管理系统.docx_第3页
第3页 / 共39页
C++汽车租赁管理系统.docx_第4页
第4页 / 共39页
C++汽车租赁管理系统.docx_第5页
第5页 / 共39页
C++汽车租赁管理系统.docx_第6页
第6页 / 共39页
C++汽车租赁管理系统.docx_第7页
第7页 / 共39页
C++汽车租赁管理系统.docx_第8页
第8页 / 共39页
C++汽车租赁管理系统.docx_第9页
第9页 / 共39页
C++汽车租赁管理系统.docx_第10页
第10页 / 共39页
C++汽车租赁管理系统.docx_第11页
第11页 / 共39页
C++汽车租赁管理系统.docx_第12页
第12页 / 共39页
C++汽车租赁管理系统.docx_第13页
第13页 / 共39页
C++汽车租赁管理系统.docx_第14页
第14页 / 共39页
C++汽车租赁管理系统.docx_第15页
第15页 / 共39页
C++汽车租赁管理系统.docx_第16页
第16页 / 共39页
C++汽车租赁管理系统.docx_第17页
第17页 / 共39页
C++汽车租赁管理系统.docx_第18页
第18页 / 共39页
C++汽车租赁管理系统.docx_第19页
第19页 / 共39页
C++汽车租赁管理系统.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++汽车租赁管理系统.docx

《C++汽车租赁管理系统.docx》由会员分享,可在线阅读,更多相关《C++汽车租赁管理系统.docx(39页珍藏版)》请在冰点文库上搜索。

C++汽车租赁管理系统.docx

C++汽车租赁管理系统

#include

#include

#include

#include

#include

//输入/输出文件流类

usingnamespacestd;

constintMaxr=100;

//最多的客户

constintMaxc=100;

//最多的汽车

constintMaxcar=5;

//每位客户最多租五辆汽车

 

classbiaozhi

{

public:

inttag;

//删除标记1:

已删0:

未删

intno;

//编号

};

//客户类,实现对客户的信息的描述

classCustomer:

publicbiaozhi

{

public:

charname[20];

//客户

intborcar[Maxcar];

//所租汽车

Customer(){}

//构造函数

char*getname()

{

returnname;

}

//获取

intgettag()

{

returntag;

}

//获取删除标记

intgetno()

{

returnno;

}

//获取客户编号

voidsetname(charna[])

{

strcpy(name,na);

}

//设置

voiddelcar()

{

tag=1;

}

//设置删除标记

voidaddcustomer(intn,char*na);

//增加客户

voidborrowcar(intcarid);

//出租操作

intretcar(intcarid);

//归还操作

voiddisp();

//输出客户信息

virtualvoidprint();

//输出原客户信息

};

 

voidCustomer:

:

addcustomer(intn,char*na)

{

tag=0;

no=n;

strcpy(name,na);

for(inti=0;i

{

borcar[i]=0;

}

}

//增加客户

 

voidCustomer:

:

borrowcar(intcarid)

{

for(inti=0;i

{

if(borcar[i]==0)

{

borcar[i]=carid;

return;

}

}

}

//出租操作

 

intCustomer:

:

retcar(intcarid)

{

for(inti=0;i

{

if(borcar[i]==carid)

{

borcar[i]=0;

return1;

}

else

continue;

}

return0;

}

//归还操作

 

voidCustomer:

:

disp()

{

cout<

cout<

cout<

cout<

cout<<"出租汽车编号:

[";

for(inti=0;i

{

if(borcar[i]!

=0)

{

cout<

}

}

cout<<"]"<

}

//输出客户信息

 

voidCustomer:

:

print()

{

cout<<"原客户编号:

";

cout<

cout<

cout<<"\t原客户:

";

cout<

cout<

cout<<"\t租租汽车编号:

[";

for(inti=0;i

{

if(borcar[i]!

=0)

{

cout<

}

}

cout<<"]"<

}

//输出原客户信息

 

//客户类库,实现建立客户的个人资料

classCDatabase

{

public:

inttop;

//客户记录指针

Customercustom[Maxc];

//客户记录

CDatabase();

//构造函数,将customer.txt读到custom[]中

voidclear()

{

top=-1;

}

//删除所有客户信息

intaddcustomer(intn,char*na);

//增添客户信息

 

Customer*query(intcustomerid)

{

for(inti=0;i<=top;i++)

{

if(custom[i].getno()==customerid&&

custom[i].gettag()==0)

{

return&custom[i];

}

}

returnNULL;

}

//按编号查找

 

voiddisp();

//输出所有客户信息

 

voidprint(intcustomerid)

{

for(inti=0;i<=top;i++)

{

if(custom[i].getno()==customerid&&

custom[i].gettag()==0)

{

custom[i].print();

}

}

}

//输出客户原有信息

intcustomernum();

//得到客户编号

voidcustomerdata();

//客户库管理

 

~CDatabase();

//析构函数,将custom[]写入customer.txt文件中

};

 

CDatabase:

:

CDatabase()

{

Customers;

top=-1;

fstreamfile("customer.txt",ios:

:

in);

while

(1)

{

file.read((char*)&s,sizeof(s));

if(!

file)break;

top++;

custom[top]=s;

}

file.close();

}

//构造函数,将customer.txt读到custom[]中

 

CDatabase:

:

~CDatabase()

{

fstreamfile("customer.txt",ios:

:

out);

for(inti=0;i<=top;i++)

if(custom[i].gettag()==0)

file.write((char*)&custom[i],sizeof(custom[i]));

else

file.close();

ofstreamf("c:

\\kehu.txt");

 

for(intj=0;j<=top;j++)

{

if(custom[j].gettag()==0)

f<<"编号"<

f<<"\t\t\t";

f<<"";

f<

f<<"\t\t\t";

f<<"所租汽车编号(没有就写0)";

f<

f<

}

}

//析构函数,将custom[]写入customer.txt文件中

 

intCDatabase:

:

addcustomer(intn,char*na)

{

Customer*p=query(n);

if(p==NULL)

{

top++;

custom[top].addcustomer(n,na);

cout<<"客户添加成功"<

return1;

}

return0;

}

//增添客户信息

 

voidCDatabase:

:

disp()

{

for(inti=0;i<=top;i++)

{

custom[i].disp();

}

}

//输出所有客户信息

 

intCDatabase:

:

customernum()

{

returntop;

}

 

//客户库管理

voidCDatabase:

:

customerdata()

{

charchoice;

charame[20];

//客户

intcustomerid;

Customer*r;

 

do

{

cout<<"\n\n\n\t\t\t欢迎进入汽车管理界面"<

cout<<"\t\t----------------------------"<

cout<<"\t\t|1增加客户|"<

cout<<"\t\t|2更改客户|"<

cout<<"\t\t|3删除客户|"<

cout<<"\t\t|4查找客户|"<

cout<<"\t\t|5查看全部|"<

cout<<"\t\t|6删除全部|"<

cout<<"\t\t|0返回上一层|"<

cout<<"\t\t----------------------------"<

cin>>choice;

switch(choice)

{

case'1':

cout<<"新增\n输入客户编号:

";

cin>>customerid;

try

{

if(customerid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

cout<<"输入客户:

";

cin>>ame;

addcustomer(customerid,ame);

break;

case'2':

cout<<"更改\n输入客户编号:

";

cin>>customerid;

 

try

{

if(customerid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

r=query(customerid);

if(r==NULL)

{

cout<<"该客户不存在"<

break;

}

print(customerid);

 

cout<<"输入新的客户编号:

";

cin>>customerid;

 

try

{

if(customerid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

cout<<"输入新的客户:

";

cin>>ame;

 

r->addcustomer(customerid,ame);

cout<<"修改成功!

"<

break;

case'3':

cout<<"删除\n输入客户编号:

";

cin>>customerid;

 

try

{

if(customerid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

r=query(customerid);

if(r==NULL)

{

cout<<"该客户不存在"<

break;

}

r->delcar();

break;

case'4':

cout<<"查找\n读入客户编号:

";

cin>>customerid;

 

try

{

if(customerid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

r=query(customerid);

if(r==NULL)

{

cout<<"该客户不存在"<

break;

}

r->disp();

break;

case'5':

cout<<"显示:

"<

disp();

break;

case'6':

clear();

cout<<"已删除!

"<

break;

default:

if(choice!

='0')cout<<"输入错误,请从新输入:

";

break;

}

}

while(choice!

='0');

}

 

//汽车类,实现对汽车的描述,汽车的编号,名称,租出,归还等

classCar:

publicbiaozhi

{

public:

 

charname[20];

//名称

intonshelf;

//是否在车库1:

在车库0:

已租

Car(){}

char*getname(){returnname;}

//获取

intgetno(){returnno;}

//获取汽车编号

intgettag(){returntag;}

//获取删除标记

voidsetname(charna[])

{

strcpy(name,na);

}

//设置名称

voiddelcar(){tag=1;}

//删除汽车

 

voidaddcar(intn,char*na)

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

//增加汽车

 

intborrowcar()

{

if(onshelf==1)

{

onshelf=0;

return1;

}

return0;

}

//出租操作

 

voidretcar()

{

onshelf=1;

}

//归还操作

 

voidprint()

{

cout<<"汽车原编号:

"<

"<

<<(onshelf==1?

"在车库":

"已租")<

}

//输出汽车

 

voiddisp()

{

cout<

<<(onshelf==1?

"在车库":

"已租")<

}

//显示

 

voiddisp(intk)

{

cout<<"编号为"<

}

};

 

template

classbiaozhiq

{

public:

Tabaso;

};

 

//汽车库类,实现对汽车的管理,查找,删除等

classCarDatabase

{

public:

inttop;

//汽车记录指针

Carche[Maxc];

//汽车记录

 

CarDatabase()

{

Carb;

top=-1;

fstreamfile("che.txt",ios:

:

in);

while

(1)

{

file.read((char*)&b,sizeof(b));

if(!

file)

break;

top++;

che[top]=b;

}

file.close();

}

//构造函数,将che.txt读到che[]中

 

voidclear()//全删

{

top=-1;

}

 

intaddcar(intn,char*na);

//增加汽车

 

Car*query(intcarid)

{

for(inti=0;i<=top;i++)

if(che[i].getno()==carid&&che[i].gettag()==0)

{

return&che[i];

}

returnNULL;

}

//查找汽车

 

voidcardata();

//汽车库管理

 

virtualvoidprint(intn)

{

for(inti=0;i<=top;i++)

if(che[i].getno()==n)

che[i].print();

}

//输出原汽车

 

voiddisp()

{

for(inti=0;i<=top;i++)

if(che[i].gettag()==0)

che[i].disp();

}

//显示

 

~CarDatabase();

//析构函数,将che[]写到che.txt文件中

};

intCarDatabase:

:

addcar(intn,char*na)

{

Car*p=query(n);

if(NULL==p)

{

top++;

che[top].addcar(n,na);

return1;

}

return0;

}

//增加汽车

 

CarDatabase:

:

~CarDatabase()

{

fstreamfile("che.txt",ios:

:

out);

for(inti=0;i<=top;i++)

if(che[i].gettag()==0)

file.write((char*)&che[i],sizeof(che[i]));

file.close();

ofstreamf("c:

\\qiche.txt");

 

for(intj=0;j<=top;j++)

{

if(che[j].gettag()==0)

f<<"编号";

f<

f<<"\t\t\t";

f<<"汽车";

f<

f<<"\t\t\t";

if(che[j].onshelf==1)

f<<"在车库"<

else

f<<"已出租"<

}

}

//析构函数,将che[]写到che.txt文件中

 

//汽车管理

voidCarDatabase:

:

cardata()

{

charchoice;

charame[20];

intcarid;

Car*b;

 

do

{

cout<<"\n\n\n\t\t\t欢迎进入汽车管理界面"<

cout<<"\t\t----------------------------"<

cout<<"\t\t|1增加汽车|"<

cout<<"\t\t|2更改汽车|"<

cout<<"\t\t|3删除汽车|"<

cout<<"\t\t|4查找汽车|"<

cout<<"\t\t|5查看全部|"<

cout<<"\t\t|6删除全部|"<

cout<<"\t\t|0返回上一层|"<

cout<<"\t\t----------------------------"<

cin>>choice;

 

switch(choice)

{

case'1':

cout<<"新增\n输入汽车编号:

"<

cin>>carid;

 

try

{

if(carid<=0)throw1;

}

 

catch(...)

{

cout<<"输入有误,请重新输入";

break;

}

 

cout<<"输入汽车名称:

"<

cin>>ame;

addcar(carid,ame);

break;

case'2':

cout<<"更改\n输入汽车编号:

"<

cin>>carid;

 

try

{

if(carid<=0)throw1;

}

 

catch(...)

{

cout<

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2