版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#ifndefVIDEO_H#defineVIDEO_H#include<iostream>#include<string>usingnamespacestd;//classvideostringvidname;classvideo{//影碟类 friendostream&operator<<(ostream&os,video&vi); friendclassapplication;public: video(string="",string="",int=0,string="",string="",string="",int=0); video(video&vi); voidinput();//private: stringVname;//碟片名称 stringCountry;//国家 intType;//类型 stringProducer;//制片人 stringDirector;//导演 stringStar;//主演明星 intNumber;//库存量 video*next;};video::video(stringvname,stringcountry,inttype,stringproducer,stringdirector,stringstar,intnumber){ Vname=vname; Country=country; Type=type; Producer=producer; Director=director; Star=star; Number=number;}video::video(video&vi){ Vname=vi.Vname; Country=vi.Country; Type=vi.Type; Producer=vi.Producer; Director=vi.Director; Star=vi.Star; Number=vi.Number;}ostream&operator<<(ostream&os,video*vi){ os<<"****************************************************************"<<endl; os<<"该影碟信息为:"<<endl; os<<"名称:"<<vi->Vname<<"国家:"<<vi->Country<<"类型:"; if(vi->Type==1)os<<"喜剧"; else{ if(vi->Type==2)os<<"悲剧"; else{ if(vi->Type==3)os<<"科幻片"; else{ if(vi->Type==4)os<<"悬疑剧"; else{ if(vi->Type==5)os<<"惊悚片"; else{ if(vi->Type==6)os<<"其她"; } } } } } os<<endl; os<<"制片人:"<<vi->Producer<<"导演:"<<vi->Director<<"主演:"<<vi->Star<<"库存量:"<<vi->Number<<endl; returnos;}#endif#ifndefCUSTOMER_H#defineCUSTOMER_H#include<iostream>#include<string>#include"video.h"usingnamespacestd;//classCustomerstructVideoInfo{ //碟片信息 stringVideoName; //影片名称 intBeginTime; //影片借阅日期 intEndTime; //影片归还日期};stringCname;classCustomer{//顾客类 friendostream&operator<<(ostream&os,constCustomer&cu); friendclassapplication; friendclassvideo;public: Customer(string="",string="",int=0,int=0,string="",int=0,int=0); //构造函数 intDeclineMoney(int); //扣取消费额 boolRentVideo(string); //出租影碟 boolReturnVideo(string); //归还影片//private: stringidPerson; //会员账号 stringName; //会员姓名 intLeftMoney; //会员剩余金额 intnCount; //所借碟片数量 VideoInfoVideo[10]; //每个会员最多借10张影碟 Customer*next1;};Customer::Customer(stringidperson,stringname,intleftmoney,intncount,stringvideoname,intbegintime,intendtime){ idPerson=idperson; Name=name; LeftMoney=leftmoney; nCount=ncount; for(inti=0;i<nCount;i++){ Video[i].VideoName=videoname; Video[i].BeginTime=begintime; Video[i].EndTime=endtime; }}ostream&operator<<(ostream&os,constCustomer*cu){ os<<"会员编号为:\t"<<cu->idPerson<<"会员姓名为:\t"<<cu->Name<<"会员剩余会费余额为:\t"<<cu->LeftMoney<<endl; for(inti=0;i<cu->nCount;i++){ os<<"所借影片名为:\t"<<cu->Video[i].VideoName<<endl; os<<"影片借阅日期为:\t"<<cu->Video[i].BeginTime<<endl; os<<"影片归还日期为:\t"<<cu->Video[i].EndTime<<endl; os<<"--------------------------------------------\n"; } returnos;}#endif#ifndefMENU_H#defineMENU_H#include<iostream>usingnamespacestd;//classmenuclassmenu{//菜单类public: intshowMainMenu();private:};intmenu::showMainMenu(){ system("cls"); cout<<"————————————————————————"<<endl; cout<<"|欢迎使用影碟出租系统|"<<endl; cout<<"|************************************************|"<<endl; cout<<"|1.影碟租赁|"<<endl; cout<<"|2.影碟归还|"<<endl; cout<<"|3.查看各类型影碟信息|"<<endl; cout<<"|4.查询碟片信息|"<<endl; cout<<"|5.添加新影碟|"<<endl;cout<<"|6.删除碟片信息|"<<endl;cout<<"|7.修改碟片信息|"<<endl; cout<<"|8.查看会员信息|"<<endl; cout<<"|9.注册会员|"<<endl;cout<<"|10.注销会员|"<<endl; cout<<"|11.更新会员信息与充值|"<<endl; cout<<"|12.退出系统|"<<endl; cout<<"————————————————————————"<<endl; cout<<"请选择1-12:"<<endl; intselect; cin>>select; while(select<1||select>12){ cout<<"选择错误,请重新选择1-12"<<endl; cin.clear();//当输入字符,清空流错误状态 cin.sync();//清空数据流 cin>>select; } returnselect;}#endif#ifndefAPPLICATION_H#defineAPPLICATION_H#include<iostream>#include<string>#include<fstream>#include"video.h"#include"Customer.h"#include"menu.h"usingnamespacestd;classapplication{//数据应用类public: application(); ~application(); voidload();//数据输出 voidsave();//数据保存到文献 voidRent();//1.影碟租赁 voidReturn();//2.影碟归还 voidCheckall();//3.查看各类型影碟信息 voidsearch(intType);//根据类型查找 voidCheck(stringvidname);//4.查看影碟信息:根据碟片名称查找 voidAddvideo();//5.添加影碟 voidDeletevideo();//6.删除影碟 voidModifyvideo(stringVname);//7.修改影碟信息 voidCustomerinfo(stringCname);//8.会员信息:根据姓名查找 voidAdd();//9.注册会员 voidDelete();//10.注销会员 voidModify(stringName);//11.更新会员信息与充值 voidrun();private: stringtitle; menumyMenu; videomyvideo; Customermycustomer; video*vid; Customer*cus;};application::application(){ vid=0; cus=0; load();}application::~application(){ video*v; v=vid; Customer*c; c=cus; while(v){ v=v->next; deletevid; vid=v; } vid=0; while(c){ c=c->next1; deletecus; cus=c; } vid=0;}voidapplication::load(){ ifstreamfile;//碟片信息 video*v=vid; stringVname;//碟片名称 stringCountry;//国家 intType;//类型 stringProducer;//制片人 stringDirector;//导演 stringStar;//主演明星 intNumber=0;//库存量 file.open("video.txt",ios::in); file>>Vname>>Country>>Type>>Producer>>Director>>Star>>Number; while(file.good()){ v=newvideo(Vname,Country,Type,Producer,Director,Star,Number); v->next=0; //碟片结点加入链表 if(vid)//若已经存在结点 { video*v2; v2=vid; while(v2->next)//查找尾结点 { v2=v2->next; } v2->next=v;//连接 } else//若不存在结点(表空) vid=v;//连接 file>>Vname>>Country>>Type>>Producer>>Director>>Star>>Number; } file.close(); ifstreamfile1;//会员信息 Customer*c=cus; stringidPerson; //会员账号 stringName; //会员姓名 intLeftMoney; //会员剩余金额 intnCount; //所借碟片数量 VideoInfoVideo[10]; //每个会员最多借10张影碟 file1.open("Customer.txt",ios::in); file1>>idPerson>>Name>>LeftMoney>>nCount; for(inti=0;i<nCount;i++){ file1>>Video[i].BeginTime>>Video[i].EndTime>>Video[i].VideoName; } while(file1.good()){ for(inti=0;i<nCount;i++){ c=newCustomer(idPerson,Name,LeftMoney,nCount,Video[i].VideoName,Video[i].BeginTime,Video[i].EndTime); c->next1=0; //顾客结点加入链表 if(cus)//若已经存在结点 { Customer*c2; c2=cus; while(c2->next1)//查找尾结点 { c2=c2->next1; } c2->next1=c;//连接 } else//若不存在结点(表空) cus=c;//连接 file1>>Video[i].BeginTime>>Video[i].EndTime>>Video[i].VideoName; } } file1.close();}voidapplication::save(){ ofstreamfile("video.txt",ios::out); ofstreamfile1("Customer.txt",ios::out); charc; cout<<"\n与否保存数据?[Y/N]:"; cin>>c; if(toupper(c)!='Y') return; video*v=vid; while(v){ file<<v->Vname<<v->Country<<v->Type<<v->Producer<<v->Director<<v->Star<<v->Number<<endl; v=v->next; } file.close(); Customer*cu=cus; while(cu){ file1<<cu->idPerson<<cu->Name<<cu->LeftMoney<<cu->nCount<<cu->Video<<endl; cu=cu->next1; } file1.close(); cout<<"\n保存成功...\n";}voidapplication::Rent(){ intnumber; Customer*c1; c1=cus; cout<<"请输入会员姓名:"<<endl; cin>>Cname; while(c1){ if(c1->Name==Cname) break; else{ c1=c1->next1; } } if(c1!=NULL){ cout<<c1;cout<<"请输入租赁碟片数目:"; cin>>number; if(number>10-c1->nCount) cout<<"租赁数目超过限定值!"<<endl; else if(number*20>c1->LeftMoney) cout<<"余额局限性,请充值或减少影碟数!"<<endl; if(number<=10-c1->nCount&&number*20<=c1->LeftMoney){ c1->nCount=number; for(inti=0;i<number;i++){ cout<<"请输入租赁日期(例:08月08日写为0808):"; cin>>c1->Video[i].BeginTime; cout<<"请输入碟片名:"; cin>>c1->Video[i].VideoName; } c1->LeftMoney-=number*20; cout<<"\t\t租赁成功!"<<endl; } } else cout<<"未找到该会员,请先注册!"<<endl;}voidapplication::Return(){ intnumber,time; Customer*c1; c1=cus; cout<<"请输入会员姓名:"<<endl; cin>>Cname; while(c1){ if(c1->Name==Cname) break; else{ c1=c1->next1; } } if(c1!=NULL){ cout<<c1; Customerinfo(Cname);cout<<"请输入归还碟片数目:"; cin>>number; c1->nCount=c1->nCount-number; for(inti=0;i<number;i++){ cout<<"请输入碟片名称:"; cin>>c1->Video[i].VideoName; cout<<"请输入归还日期:"; cin>>c1->Video[i].EndTime; cout<<"请输入该碟片租赁天数:"; cin>>time; if(time%3==0) c1->LeftMoney=c1->LeftMoney+20-time/3; else c1->LeftMoney=c1->LeftMoney+20-time/3-1; cout<<"\t\t扣费成功!"<<endl; } cout<<"\t\t***归还成功***\n"; } else cout<<"未找到该会员,请确认!"<<endl;}voidapplication::search(intType){//根据类型查找 video*v1; v1=vid; while(v1){ if(v1->Type==Type) break; else{ v1=v1->next; } } if(v1!=NULL){ cout<<v1; } else cout<<"未找到该类型旳碟片!"<<endl;}voidapplication::Checkall(){ intType;charc; cout<<"选择要查找旳碟片类型(1.喜剧2.悲剧3.科幻片4.悬疑剧5.历史剧6.惊悚片7.其她):"<<endl; cin>>Type; search(Type); cout<<"********以上为类型所有碟片*********"<<endl; cout<<"与否继续查找【Y/N】?"<<endl; cin>>c; if(toupper(c)=='Y'){ Checkall(); return; } else return; system("pause");}voidapplication::Check(stringvidname){ video*v1; v1=vid; while(v1){ if(v1->Vname==vidname) break; else{ v1=v1->next; } } if(v1!=NULL){ cout<<v1; } else cout<<"未找到该碟片!"<<endl;}voidapplication::Addvideo(){ system("cls"); video*v,*v2;//新结点指针 stringVname;//碟片名称 stringCountry;//国家 intType=7;//类型 stringProducer;//制片人 stringDirector;//导演 stringStar;//主演明星 intNumber=0;//库存量 charc; cout<<"\n**新增碟片信息**\n"; //输入碟片信息 cout<<"输入片名:\t"; cin>>Vname; cout<<endl; video*v1; v1=vid; while(v1){ if(v1->Vname==Vname){ break; } else{ v1=v1->next; } } if(v1!=NULL){ cout<<"该碟片已存在,与否修改该碟片信息(Y/N)"<<endl; cin>>c; if(toupper(c)=='Y'){ cout<<"该碟片信息为:"<<endl; Check(Vname); cout<<endl; Modifyvideo(Vname); return; } else return; } cout<<"国家:";cin>>Country; cout<<"类型(1.喜剧2.悲剧3.科幻片4.悬疑剧5.惊悚片6.其她):";cin>>Type; cout<<"制片人:";cin>>Producer; cout<<"导演:";cin>>Director; cout<<"主演:";cin>>Star; cout<<"库存量:";cin>>Number; v=newvideo(Vname,Country,Type,Producer,Director,Star,Number); v->next=0; //碟片结点加入链表 if(vid)//若已经存在结点 { v2=vid; while(v2->next)//查找尾结点 { v2=v2->next; } v2->next=v;//连接 } else//若不存在结点(表空) { vid=v;//连接 } save(); cout<<"\t\t\t***添加成功***\n"<<endl; cout<<"与否继续添加(Y/N)"<<endl; cin>>c; if(toupper(c)=='Y') { Addvideo(); return; } else return;}voidapplication::Deletevideo(){ system("cls"); charc; stringVname; cout<<"\n**删除信息**\n"; cout<<"输入要删除旳碟片名:\t"; cin>>Vname; cout<<endl; //查找要删除旳结点 video*v1,*v2; v1=vid; while(v1){ if(v1->Vname==Vname) break; else{ v2=v1; v1=v1->next; } } //删除结点 if(v1!=NULL)//若找到结点,则删除 { cout<<"所要删除旳碟片信息如下:\n"<<endl; cout<<v1; cout<<"拟定与否删除(Y/N):"; cin>>c; if(toupper(c)!='Y') return; if(v1==vid)//若要删除旳结点是第一种结点 { vid=v1->next; deletev1; } else//若要删除旳结点是后续结点 { v2->next=v1->next; deletev1; } save(); cout<<"\t\t***删除成功***\n"; cout<<"与否继续删除(Y/N)"<<endl; cin>>c; if(toupper(c)=='Y') { Deletevideo(); return; } else return; } else//未找到结点 cout<<"未找到该碟片!\n";}voidapplication::Modifyvideo(stringvidname){ video*v1; charc; v1=vid; while(v1){ if(v1->Vname==vidname) break; else{ v1=v1->next; } } if(v1!=NULL)//若找到结点 { system("cls"); cout<<"所要修改旳碟片信息如下:\n"<<endl; cout<<v1; do{ cout<<"1.修改碟片名称2.修改国家3.修改类型4.修改制片人"; cout<<" 5.修改导演6.修改主演7.修改库存量8.退出修改\n"<<endl; cout<<"请选择(1-8)要修改旳信息\n"<<endl; cin>>c; if(c!='8') cout<<"请输入新旳信息:"; switch(c){ case'1':cin>>v1->Vname;break; case'2':cin>>v1->Country;break; case'3':cin>>v1->Type;break; case'4':cin>>v1->Producer;break; case'5':cin>>v1->Director;break; case'6':cin>>v1->Star;break; case'7':cin>>v1->Number;break; default:break; } }while(c!='8'); cout<<"\t***修改成功***\n"<<endl; cout<<"与否继续修改(Y/N):"<<endl; cin>>c; if(toupper(c)=='Y'){ cout<<"请输入要修改碟片旳名称:"; cin>>vidname; cout<<endl; Modifyvideo(vidname); return; } else return; } else//未找到结点 cout<<"未找到!\n";}voidapplication::Customerinfo(stringCname){ Customer*c1; c1=cus; while(c1){ if(c1->Name==Cname) break; else{ c1=c1->next1; } } if(c1!=NULL){ cout<<c1; } else cout<<"未找到该会员!"<<endl;}voidapplication::Add(){ system("cls"); Customer*c,*c2;//新结点指针 stringidPerson; //会员账号 stringName; //会员姓名 intLeftMoney=0; //会员剩余金额 intnCount=0; //所借碟片数量 chara; cout<<"\n**新增会员信息**\n"; cout<<"输入会员名:\t"; cin>>Name; cout<<endl; Customer*c1; c1=cus; while(c1){ if(c1->Name==Name){ break; } else{ c1=c1->next1; } } cout<<"请输入会员编号:\n"; cin>>idPerson; cout<<"初始金额:"; cin>>LeftMoney; nCount=0; c=newCustomer(idPerson,Name,LeftMoney,nCount); c->next1=0; if(cus){ c2=cus; while(c2->next1){ c2=c2->next1; } c2->next1=c; } else{ cus=c; } save(); cout<<"\t\t\t***注册成功***\n"<<endl; cout<<"与否继续(Y/N)"<<endl; cin>>a; if(toupper(a)=='Y'){ Add(); return; } else return;}voidapplication::Delete(){ system("cls"); chara; stringName; cout<<"\n**删除信息**\n"; cout<<"输入要删除旳会员名:\t"; cin>>Name; cout<<endl; Customer*c1,*c2; c1=cus; while(c1){ if(c1->Name==Name) break; else{ c2=c1; c1=c1->next1; } } if(c1!=NULL){ cout<<"所要删除旳会员信息如下:\n"<<endl; cout<<c1; cout<<"拟定与否删除(Y/N):"; cin>>a; if(toupper(a)!='Y') return; if(c1==cus){ cus=c1->next1; deletec1; } else{ c2->next1=c1->next1; deletec1; } save(); cout<<"\t\t***删除成功***\n"; cout<<"与否继续删除(Y/N)"<<endl; cin>>a; if(toupper(a)=='Y'){ Delete(); return; } else return; } else//未找到结点 cout<<"未找到该会员!\n";}voidapplication::Modify(stringCname){ Customer*c1; chara; c1=cus; while(c1){ if(c1->Name==Cname) break; else{ c1=c1->next1; } } if(c1!=NULL)//若找到结点 { system("cls"); cout<<"所要修改旳会员信息如下:\n"<<endl; cout<<c1; do{ cout<<"1.修改姓名2.修改编号3.充值4.退出\n"<<endl; cout<<"请选择(1-4)要修改旳信息\n"<<endl; cin>>a; if(a!='4') cout<<"请输入新旳信息:"; switch(a){ case'1':cin>>c1->Name;break; case'2':cin>>c1->idPerson;break; case'3':cin>>c1->LeftMoney;break; default:break; } }while(a!='4'); cout<<"\t***修改成功***\n"<<endl; cout<<"与否继续修改(Y/N):"<<endl; cin>>a; if(toupper(a)=='Y'){ cout<<"请输入要修改会员旳姓名:"; cin>>Cname; cout<<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业管理用车:汽车租赁合同协议
- 公路绿化带改造工程合同范本
- 建筑设计加班图纸审核
- 美妆教师聘任合同范例
- 2024土地租赁合同协议书
- 美容美发展位租赁合同范本
- 企业员工保姆聘用协议样本
- 环保工程师聘用合同范例
- 个人简历求职自荐信(10篇)
- 教师个人考核总结8篇
- 幼儿园绘本故事:《袁隆平》 课件
- GB∕T 19492-2020 油气矿产资源储量分类
- 建设工程资料用表(全套)
- 中考物理之透镜作图(含解析)
- DB33∕T 1251-2021 燃气用户设施安全检查标准
- 车辆评估报告格式(共7页)
- 江都特校培智部八年级初二语文期终试卷(A)
- GB∕T 10544-2022 橡胶软管及软管组合件 油基或水基流体适用的钢丝缠绕增强外覆橡胶液压型 规范
- 分布式光伏电站视频监控系统典型配置方案
- (完整版)全身体格检查评分标准(表)
- 通信管道隐蔽工程检查记录
评论
0/150
提交评论