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

下载本文档

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

文档简介

1、实用文档#include #include #include#include #include / 输入 / 输出文件流类using namespace std;const int Maxr=100;/ 最多的客户const int Maxc=100;/ 最多的汽车const int Maxcar=5;/ 每位客户最多租五辆汽车class biaozhipublic:int tag;/ 删除标记 1: 已删 0: 未删int no;/ 编号;/ 客户类 , 实现对客户的信息的描述class Customer :public biaozhipublic:char name20;/ 客户姓名int

2、 borcarMaxcar;/ 所租汽车Customer() / 构造函数char *getname()return name;/ 获取姓名int gettag()实用文档return tag;/ 获取删除标记int getno()return no;/ 获取客户编号void setname(char na)strcpy(name,na);/ 设置姓名void delcar()tag=1;/ 设置删除标记void addcustomer(int n,char *na);/ 增加客户void borrowcar(int carid);/ 出租操作int retcar(int carid);/ 归

3、还操作void disp();/ 输出客户信息virtual void print();/ 输出原客户信息;实用文档void Customer:addcustomer(int n,char *na)tag=0;no=n;strcpy(name,na);for (int i=0;iMaxcar;i+)borcari=0;/ 增加客户void Customer:borrowcar(int carid)for (int i=0;iMaxcar;i+)if (borcari=0)borcari=carid;return;/ 出租操作int Customer:retcar(int carid)for(i

4、nt i=0;iMaxcar;i+)if(borcari=carid)borcari=0;return 1;elsecontinue;实用文档return 0;/ 归还操作void Customer:disp()cout setw(5);cout no;cout setw(10) ;cout name ;cout 出租汽车编号 :;for (int i=0;iMaxcar;i+)if (borcari!=0)cout borcari |;coutendl;/ 输出客户信息void Customer:print()cout 原客户编号 :;coutsetw(5);cout no;coutt原客户

5、姓名 :;cout setw(10);cout name;cout t租租汽车编号 :;for (int i=0;iMaxcar;i+)if (borcari!=0)cout borcari |;实用文档coutendl;/ 输出原客户信息/ 客户类库,实现建立客户的个人资料class CDatabasepublic:int top;/ 客户记录指针Customer customMaxc;/ 客户记录CDatabase();/ 构造函数,将customer.txt读到 custom 中void clear()top=-1;/ 删除所有客户信息int addcustomer(int n,char

6、 *na);/ 增添客户信息Customer *query(int customerid)for (int i=0;i=top;i+)if(customi.getno()=customerid&customi.gettag()=0)return &customi;return NULL;/ 按编号查找实用文档void disp();/ 输出所有客户信息void print(int customerid)for (int i=0;i=top;i+)if(customi.getno()=customerid&customi.gettag()=0)customi.print();/ 输出客户原有信息

7、int customernum();/ 得到客户编号void customerdata();/ 客户库管理CDatabase();/析构函数,将custom 写入 customer.txt文件中;CDatabase:CDatabase()Customer s;top=-1;fstream file(customer.txt,ios:in);while (1)file.read(char *)&s,sizeof(s);实用文档if (!file) break;top+;customtop=s;file.close();/ 构造函数,将customer.txt读到 custom 中CDatabas

8、e:CDatabase()fstream file(customer.txt,ios:out);for (int i=0;i=top;i+)if(customi.gettag()=0)file.write(char *)&customi,sizeof(customi);elsefile.close();ofstream f(c:kehu.txt);for (int j=0;j=top;j+)if(customj.gettag()=0)f 编号 customj.no;fttt;f 姓名;;fttt;f 所租汽车编号(没有就写0);fcustomj.borcarj;fen

9、dl;/析构函数,将custom 写入 customer.txt文件中int CDatabase:addcustomer(int n,char *na)实用文档Customer *p=query(n);if (p=NULL)top+;customtop.addcustomer(n,na);cout 客户添加成功 endl;return 1;return 0;/ 增添客户信息void CDatabase:disp()for (int i=0;i=top;i+)customi.disp();/ 输出所有客户信息int CDatabase:customernum()return top;/ 客户库管

10、理void CDatabase:customerdata()char choice;char cname20;/ 客户姓名实用文档int customerid;Customer *r;docout nnnttt欢迎进入汽车管理界面 endlendl;couttt-endl;couttt|1增加客户|endl;couttt|2更改客户|endl;couttt|3删除客户|endl;couttt|4查找客户|endl;couttt|5查看全部|endl;couttt|6删除全部|endl;couttt|0返回上一层|endl;couttt- choice;switch (choice)case 1

11、:cout customerid;tryif(customerid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;cout cname;addcustomer (customerid,cname);实用文档break;case 2:cout customerid;tryif(customerid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;r=query(customerid);if (r=NULL)cout 该客户不存在endl;break;print(customerid);coutcustomerid;tryif(cu

12、stomerid=0)throw 1;实用文档catch(.)cout 输入有误,请重新输入;break;cout cname;r-addcustomer(customerid,cname);cout 修改成功 !endl;break;case 3:cout customerid;tryif(customerid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;r=query(customerid);if (r=NULL)实用文档cout 该客户不存在 delcar();break;case 4:cout customerid;tryif(customerid=

13、0)throw 1;catch(.)cout 输入有误,请重新输入;break;r=query(customerid);if (r=NULL)cout 该客户不存在 disp();break;case 5:cout 显示 :endl;disp();实用文档break;case 6:clear();cout 已删除 !endl;break;default:if (choice!=0) cout输入错误,请从新输入:;break;while (choice!=0);/ 汽车类,实现对汽车的描述,汽车的编号,名称,租出,归还等class Car:public biaozhipublic:char n

14、ame20;/ 名称int onshelf;/ 是否在车库 1: 在车库 0: 已租Car()char *getname() return name; / 获取姓名int getno() return no; / 获取汽车编号int gettag() return tag; / 获取删除标记实用文档void setname(char na)strcpy(name,na);/ 设置名称void delcar() tag=1;/ 删除汽车void addcar(int n,char *na)tag=0;no=n;strcpy(name,na);onshelf=1;/ 增加汽车int borrowc

15、ar()if (onshelf=1)onshelf=0;return 1;return 0;/ 出租操作void retcar()onshelf=1;/ 归还操作void print()cout 汽车原编号: setw(6) no t汽车原名称 : setw(18) name t setw(10)实用文档(onshelf=1? 在车库 : 已租 ) endl;/ 输出汽车void disp()cout setw(6) no setw(18) name setw(10)(onshelf=1? 在车库 : 已租 ) endl;/ 显示void disp(int k)cout 编号为 noendl;

16、templateclass biaozhiqpublic:T abaso;/ 汽车库类,实现对汽车的管理,查找,删除等class CarDatabasepublic:int top;/ 汽车记录指针Car cheMaxc;/ 汽车记录实用文档CarDatabase()Car b;top=-1;fstream file(che.txt,ios:in);while (1)file.read(char *)&b,sizeof(b);if (!file)break;top+;chetop=b;file.close();/ 构造函数,将che.txt读到 che 中void clear()/全删top=

17、-1;int addcar(int n,char *na);/ 增加汽车Car *query(int carid)for (int i=0;i=top;i+)if (chei.getno()=carid &chei.gettag()=0)return &chei;return NULL;/ 查找汽车实用文档void cardata();/ 汽车库管理virtual void print(int n)for(int i=0;i=top;i+)if(chei.getno()=n)chei.print();/ 输出原汽车void disp()for (int i=0;i=top;i+)if (che

18、i.gettag()=0)chei.disp();/ 显示CarDatabase();/ 析构函数,将che 写到 che.txt文件中;int CarDatabase:addcar(int n,char *na)Car *p=query(n);if (NULL=p)top+;chetop.addcar(n,na);return 1;return 0;实用文档/ 增加汽车CarDatabase:CarDatabase()fstream file(che.txt,ios:out);for (int i=0;i=top;i+)if (chei.gettag()=0)file.write(char

19、*)&chei,sizeof(chei);file.close();ofstream f(c:qiche.txt);for (int j=0;j=top;j+)if(chej.gettag()=0)f 编号 ;fchej.no;fttt;f 汽车;;fttt;if(chej.onshelf=1)f 在车库 endl;elsef 已出租 endl;/ 析构函数,将che 写到 che.txt文件中/ 汽车管理void CarDatabase:cardata()char choice;实用文档char cname20;int carid;Car *b;docout nnnttt

20、欢迎进入汽车管理界面 endlendl;couttt-endl;couttt|1增加汽车|endl;couttt|2更改汽车|endl;couttt|3删除汽车|endl;couttt|4查找汽车|endl;couttt|5查看全部|endl;couttt|6删除全部|endl;couttt|0返回上一层|endl;couttt- choice;switch (choice)case 1:cout 新增 n 输入汽车编号 : carid;tryif(carid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;实用文档cout 输入汽车名称 : cname;add

21、car(carid,cname);break;case 2:cout 更改 n 输入汽车编号 : carid;tryif(carid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;b=query(carid);if (b=NULL)cout 该汽车不存在;coutendl;break;print(carid);cout 输入新的汽车编号:;coutcarid;实用文档tryif(carid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;cout 输入新的汽车名称: cname;b-addcar(carid,cname);cou

22、t 修改成功 !endl;break;case 3:cout 删除 n 读入汽车编号 : carid;tryif(carid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;b=query(carid);if (b=NULL)cout 该汽车不存在 ;实用文档coutdelcar();break;case 4:cout 查找 n 读入汽车编号 :;cout carid;tryif(carid=0)throw 1;catch(.)cout 输入有误,请重新输入;break;b=query(carid);if (b=NULL)cout 该汽车不存在 ;coutdis

23、p();break;case 5:cout 显示 :endl;disp();break;实用文档case 6:clear();cout 已删除 !endl;break;default:if(choice!=0)cout 输入错误,请从新输入:;while (choice!=0);void showmenu()cout -*-*-endl;cout1.*出租汽车*endl;cout -*-*-endl;cout2.*归还汽车*endl;cout -*-*-endl;cout3.*汽车管理*endl;cout -*-*-endl;cout4.*客户管理*endl;cout -*-*-endl;co

24、ut0.*退出并保存*endl;cout -*-*-endl;void showtip()coutntt-操作完成!-endl;couttt-选择 0-5继续 -endl;实用文档cout-*-*-endl;cout1.*出租汽车*endl;cout-*-*-endl;cout2.*归还汽车*endl;cout-*-*-endl;cout3.*汽车管理*endl;cout-*-*-endl;cout4.*客户管理*endl;cout-*-*-endl;cout0.*退出并保存*endl;cout-*-*-endl;/main()函数的实现,程序的主界面的引导int main()coutendl

25、;coutendl;coutendl;coutendl;coutendl;cout*endl;cout*endl;cout*endl;cout*endl;cout*endl;cout*欢迎使用*endl;cout*汽车租赁*endl;cout*管理系统*endl;cout*endl;coutwelcome to the Car rental management systemendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;getch();/ 为了停顿一下,按任意键才继续往下运行实用文档system(cls);/ 系统清屏ch

26、ar k20;int t=3;p3:cout 欢迎使用汽车租赁管理系统,请输入登陆密码(只可输入3 次) :;coutk;/输入密码if(strcmp(111,k)=0)cout 密码正确 endl;elsecout 密码错误 ! 剩余 -t次。endl;if(t=0)return 0;goto p3;char choice;int carid,customerid;/ 汽车编号,客户编号CDatabase CustomerDB;/ 客户库Customer *r;/ 客户CarDatabase CarDB;/ 汽车库Car *b;/ 汽车cout 正在打开系统,请稍后.endl;showmenu();/ 显示菜单cout choice;while (choice!=0)switch (choice)case 1:/ 输入客户编号和要出租的汽车cout customerid;tryif(cus

温馨提示

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

评论

0/150

提交评论