C汽车租赁管理系统_第1页
C汽车租赁管理系统_第2页
C汽车租赁管理系统_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<iostream>#include<iomanip>#include<conio.h>#include<string>#include<fstream>/输入/输出文件流类usingnamespacestd;constintMaxr=100;/最多的客户constintMaxc=100;/最多的汽车constintMaxcar=5;/每位客户最多租五辆汽车classbiaozhipublic:inttag;/删除标记1:已删0:未删intno;/编号;/客户类,实现对客户的信息的描述classCustomer:pub

2、licbiaozhipublic:charname20;/客户姓名intborcarMaxcar;/所租汽车Customer()构造函数char*getname()returnname;/获取姓名intgettag()returntag;/获取删除标记intgetno()returnno;/获取客户编号voidsetname(charna)(strcpy(name,na);/设置姓名voiddelcar()(tag=1;/设置删除标记voidaddcustomer(intn,char*na);增加客户voidborrowcar(intcarid);/出租操作intretcar(intcarid

3、);/归还操作voiddisp();/输出客户信息virtualvoidprint();/输出原客户信息;voidCustomer:addcustomer(intn,char*na)(tag=0;no=n;strcpy(name,na);for(inti=0;i<Maxcar;i+)(borcari=0;/增加客户voidCustomer:borrowcar(intcarid)(for(inti=0;i<Maxcar;i+)(if(borcari=0)(borcari=carid;return;/出租操作intCustomer:retcar(intcarid)(for(inti=0

4、;i<Maxcar;i+)(if(borcari=carid)(borcari=0;return1;elsecontinue;return0;/归还操作voidCustomer:disp()(cout<<setw(5);cout<<no;cout<<setw(10);cout<<name;cout<<"出租汽车编号:"for(inti=0;i<Maxcar;i+)(if(borcari!=0)(cout<<borcari<<"|"cout<<&qu

5、ot;"<<endl;/输出客户信息voidCustomer:print()(cout<<"原客户编号:"cout<<setw(5);cout<<no;cout<<"t原客户姓名:"cout<<setw(10);cout<<name;cout<<"t租租汽车编号:”;for(inti=0;i<Maxcar;i+)(if(borcari!=0)(cout<<borcari<<"|"cout&l

6、t;<""<<endl;/输出原客户信息/客户类库,实现建立客户的个人资料classCDatabase(public:inttop;/客户记录指针CustomercustomMaxc;/客户记录CDatabase();/构造函数,将customer.txt读到custom中voidclear()(top=-1;/删除所有客户信息intaddcustomer(intn,char*na);/增添客户信息Customer*query(intcustomerid)(for(inti=0;i<=top;i+)(if(customi.getno()=custom

7、erid&&customi.gettag()=0)(return&customi;returnNULL;/按编号查找voiddisp();/输出所有客户信息for(inti=0;i<=top;i+)(if(customi.getno()=customerid&&customi.gettag()=0)(customi.print();/输出客户原有信息intcustomernum();/得到客户编号voidcustomerdata();/客户库管理CDatabase();/析构函数,将custom写入customer.txt文件中;CDatabase

8、:CDatabase()(Customers;top=-1;fstreamfile("customer.txt",ios:in);while(1)(file.read(char*)&s,sizeof(s);if(!file)break;top+;customtop=s;file.close();/构造函数,将customer.txt读到custom中CDatabase:CDatabase()(fstreamfile("customer.txt",ios:out);for(inti=0;i<=top;i+)if(customi.gettag(

9、)=0)file.write(char*)&customi,sizeof(customi);elsefile.close();ofstreamf("c:kehu.txt");for(intj=0;j<=top;j+)if(customj.gettag()=0)f<<"编号"<<customj.no;f<<"ttt"f<<"姓名"f<<;f<<"ttt"f<<"所租汽

10、车编号(没有就写0)"f<<customj.borcarj;f<<endl;/析构函数,将custom写入customer.txt文件中intCDatabase:addcustomer(intn,char*na)Customer*p=query(n);if(p=NULL)top+;customtop.addcustomer(n,na);cout<<"客户添加成功"<<endl;return1;return0;/增添客户信息voidCDatabase:disp()for(inti=0;i<=top;i+)cust

11、omi.disp();/输出所有客户信息intCDatabase:customernum()returntop;/客户库管理voidCDatabase:customerdata()charchoice;charcname20;/客户姓名intcustomerid;Customer*r;do(cout<<"nnnttt欢迎进入汽车管理界面"<<endl<<endl;cout<<"tt"<<endl;cout<<"tt|1增加客户|"<<endl;cout

12、<<"tt|2更改客户|"<<endl;cout<<"tt|3删除客户|"<<endl;cout<<"tt|4查找客户|"<<endl;cout<<"tt|5查看全部|"<<endl;cout<<"tt|6删除全部|"<<endl;cout<<"tt|0返回上一层|"<<endl;cout<<"tt-"

13、<<endl;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<

14、;<"更改n输入客户编号:"cin>>customerid;try(if(customerid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入break;r=query(customerid);if(r=NULL)(cout<<"该客户不存在"<<endl;break;print(customerid);cout<<"输入新的客户编号:";cin>>customerid;try(if(customerid<=0

15、)throw1;catch(.)(cout<<"输入有误,请重新输入"break;cout<<"输入新的客户姓名:"cin>>cname;r->addcustomer(customerid,cname);cout<<"修改成功!"<<endl;break;case'3':cout<<"删除n输入客户编号:";cin>>customerid;try(if(customerid<=0)throw1;catch

16、(.)(cout<<"输入有误,请重新输入"break;r=query(customerid);if(r=NULL)(cout<<"该客户不存在"<<endl;break;r->delcar();break;case'4':cout<<"查找n读入客户编号cin>>customerid;try(if(customerid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入"break;r=query(cu

17、stomerid);if(r=NULL)(cout<<"该客户不存在"<<endl;break;r->disp();break;case'5':cout<<"显示:"<<endl;disp();break;case'6':clear();cout<<"已删除!"<<endl;break;default:if(choice!='0')cout<<"输入错误,请从新输入:break;while

18、(choice!='0');汽车类,实现对汽车的描述,汽车的编号,名称,租出,归还等classCar:publicbiaozhi(public:charname20;/名称intonshelf;/是否在车库1:在车库0:已租Car()(char*getname()(returnname;/获取姓名intgetno()(returnno;/获取汽车编号intgettag()(returntag;/获取删除标记voidsetname(charna)(strcpy(name,na);/设置名称voiddelcar()(tag=1;/删除汽车voidaddcar(intn,char*n

19、a)(tag=0;no=n;strcpy(name,na);onshelf=1;/增加汽车intborrowcar()(if(onshelf=1)(onshelf=0;return1;return0;/出租操作voidretcar()(onshelf=1;/归还操作voidprint()(cout<<"汽车原编号:"<<setw(6)<<no<<”t汽车原名称:"<<setw(18)<<name<<"t"<<setw(10)<<(onsh

20、elf=1?"在车库”:"已租")<<endl;/输出汽车voiddisp()cout<<setw(6)<<no<<setw(18)<<name<<setw(10)<<(onshelf=1?"在车库":"已租")<<endl;/显示voiddisp(intk)(cout<<"编号为"<<no<<endl;template<classT>classbiaozhiq(

21、public:Tabaso;/汽车库类,实现对汽车的管理,查找,删除等classCarDatabase(public:inttop;/汽车记录指针CarcheMaxc;/汽车记录CarDatabase()(Carb;top=-1;fstreamfile("che.txt",ios:in);while(1)(file.read(char*)&b,sizeof(b);if(!file)break;top+;chetop=b;file.close();/构造函数,将che.txt读到che中voidclear()/全删(top=-1;intaddcar(intn,char

22、*na);增加汽车Car*query(intcarid)(for(inti=0;i<=top;i+)if(chei.getno()=carid&&chei.gettag()=0)(return&chei;returnNULL;/查找汽车voidcardata();/汽车库管理virtualvoidprint(intn)(for(inti=0;i<=top;i+)if(chei.getno()=n)chei.print();/输出原汽车voiddisp()(for(inti=0;i<=top;i+)if(chei.gettag()=0)chei.disp

23、();/显示CarDatabase();/析构函数,将che写到che.txt文件中;intCarDatabase:addcar(intn,char*na)(Car*p=query(n);if(NULL=p)(top+;chetop.addcar(n,na);return1;return0;/增加汽车CarDatabase:CarDatabase()fstreamfile("che.txt",ios:out);for(inti=0;i<=top;i+)if(chei.gettag()=0)file.write(char*)&chei,sizeof(chei);

24、file.close();ofstreamf("c:qiche.txt");for(intj=0;j<=top;j+)if(chej.gettag()=0)f<<"编号"f<<chej.no;f<<"ttt"f<<"汽车"f<<;f<<"ttt"if(chej.onshelf=1)f<<"在车库"<<endl;elsef<<"已出租&q

25、uot;<<endl;/析构函数,将che写到che.txt文件中/汽车管理voidCarDatabase:cardata()charchoice;charcname20;intcarid;Car*b;docout<<"nnnttt欢迎进入汽车管理界面"<<endl<<endl;cout<<"tt"<<endl;cout<<"tt|1增加汽车|"<<endl;cout<<"tt|2更改汽车|"<<

26、endl;cout<<"tt|3删除汽车|"<<endl;cout<<"tt|4查找汽车|"<<endl;cout<<"tt|5查看全部|"<<endl;cout<<"tt|6删除全部|"<<endl;cout<<"tt|0返回上一层|"<<endl;cout<<"tt-"<<endl;cin>>choice;switch

27、(choice)case'1':cout<<"新增n输入汽车编号:"<<endl;cin>>carid;try(if(carid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入"break;cout<<"输入汽车名称:"<<endl;cin>>cname;addcar(carid,cname);break;case'2':cout<<"更改n输入汽车编号:"

28、<<endl;cin>>carid;try(if(carid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入"break;b=query(carid);if(b=NULL)(cout<<"该汽车不存在"cout<<endl;break;print(carid);cout<<"输入新的汽车编号:"cout<<endl;cin>>carid;try(if(carid<=0)throw1;catch(.)br

29、eak;cout<<"输入新的汽车名称:"<<endl;cin>>cname;b->addcar(carid,cname);cout<<"修改成功!"<<endl;break;case'3':cout<<"删除n读入汽车编号:"<<endl;cin>>carid;tryif(carid<=0)throw1;catch(.)cout<<"输入有误,请重新输入"break;b=quer

30、y(carid);if(b=NULL)cout<<"该汽车不存在"cout<<endl;break;b->delcar();break;case'4':cout<<"查找n读入汽车编号:"cout<<endl;cin>>carid;tryif(carid<=0)throw1;catch(.)cout<<"输入有误,请重新输入"break;b=query(carid);if(b=NULL)(cout<<"该汽车不存在

31、"cout<<endl;break;b->disp();break;case'5':cout<<"显示:"<<endl;disp();break;case'6':clear();cout<<"已删除!"<<endl;break;default:if(choice!='0')cout<<"输入错误,请从新输入while(choice!='0');voidshowmenu()(cout<<

32、;"*-"<<endl;cout<<"1*出租汽车*"<<endl;cout<<"*-"<<endl;cout<<"2*归还汽车*"<<endl;cout<<"*-"<<endl;cout<<"3*汽车管理*"<<endl;cout<<"*-"<<endl;cout<<"4*客户管

33、理*"<<endl;cout<<"*-"<<endl;cout<<"0*退出并保存*"<<endl;cout<<"*-"<<endl;voidshowtip()(cout<<"ntt-操作完成!-"<<endl;cout<<"tt选择0-5继续-"<<endl;cout<<"*-"<<endl;cout<&

34、lt;"1.*出租汽车*"<<endl;cout<<"*-"<<endl;cout<<"2*归还汽车*"<<endl;cout<<"*"<<endl;cout<<"3,*汽车管理*"<<endl;cout<<"*"<<endl;cout<<"4.*客户管理*"<<endl;cout<<&qu

35、ot;*"<<endl;cout<<"0.*退出并保存*"<<endl;cout<<"*"<<endl;/main()函数的实现,intmain()程序的主界面的引导(cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<&

36、quot;"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*欢迎使用*"<<endl;cout<<"*汽车租赁*"<<endl;

37、cout<<"*管理系统*"<<endl;cout<<"*"<<endl;cout<<"welcometotheCarrentalmanagementsystem"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<en

38、dl;cout<<""<<endl;cout<<""<<endl;getch();/为了停顿一下,按任意键才继续往下运行system("cls");/系统清屏chark20;intt=3;p3:cout<<"欢迎使用汽车租赁管理系统,请输入登陆密码(只可输入3次)cout<<endl;cin>>k;/输入密码if(strcmp("111",k)=0)cout<<"密码正确"<<e

39、ndl;else(cout<<"密码错误!剩余"<<-t<<"次。"<<endl;if(t=0)return0;gotop3;charchoice;intcarid,customerid;/汽车编号,客户编号CDatabaseCustomerDB;/客户库Customer*r;/客户CarDatabaseCarDB;/汽车库Car*b;/汽车cout<<"正在打开系统,请稍后.”<<endl;showmenu();/显示菜单cout<<"ttt请选择菜

40、单中的数字以便处理数据:"cin>>choice;while(choice!='0')(switch(choice)(case'1':/输入客户编号和要出租的汽车cout<<"出租n客户编号:";cin>>customerid;try(if(customerid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入break;cout<<"汽车编号:"cin>>carid;tryif(carid<=0)throw1;catch(.)(cout<<"输入有误,请重新输入break;r=CustomerDB.query(customerid);/按编号查找if(NULL=r)(cout<<"不存在该客户!"cout<<endl;break;b=CarDB.query(c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论