C 汽车租赁管理系统.docx

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

C 汽车租赁管理系统.docx

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

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;

charcname[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>>cname;

addcustomer(customerid,cname);

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>>cname;

r->addcustomer(customerid,cname);

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;

charcname[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>>cname;

addcar(carid,cname);

break;

case'2':

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

"<

cin>>carid;

try

{

if(carid<=0)throw1;

}

catch(...)

{

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

break;

}

b=query(carid);

if(b==NULL)

{

cout<<"该汽车不存在";

cout<

break;

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

当前位置:首页 > 工程科技 > 能源化工

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

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