版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计任务书题目影碟出租管理系统学院国际教育学院专业电气工程及其自动化班级国电132班学生姓名王世磊学号1313152176月16日至6月19日共1周指导教师(签字)院长(签字)2014年6月19日设计内容及要求影碟出租管理(★★★)(限最多3人选)
总体需求编写一个影碟出租管理程序
影碟信息的组成部分为:碟片名称、国家、类型、借阅标记等
出租信息的组成部分为:会员名、碟片名称、借阅日期、归还日期、租金等
功能需求1)新片上架:添加碟片信息
2)碟片查询:按片名查询某片是否可借阅,结果有三种(可借阅、已借出、无此片)。
3)碟片借阅:输入会员名、碟片名称、借阅日期,修改碟片的租借标记(每个会员一次可借阅多片)
4)碟片归还:输入会员名、碟片名称、归还日期,修改碟片的租借标记,计算每片租金(每三天的租金为1元,不满三天的按三天计算)。因为每个会员一次可借阅多片,所以也可能一次归还多片。在该操作结束前,应输出该会员此次归还所需支付的总租金。
5)用子函数实现各个子功能
用户界面输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等二、设计原始资料三、设计完成后提交的文件和图表1.计算说明书部分图纸部分:#include<iostream>#include<string>#include<stdio.h>#include<iomanip>usingnamespacestd;classyingdie{ charnum[20]; charname[20]; charcountry[20]; chartype[20]; inttag;public: yingdie*next; yingdie() { num[0]=0;name[0]=0;country[0]=0;type[0]=0;next=NULL;tag=1; } ~yingdie(){} char*getname(){returnname;} intgettag(){returntag;} voidInput() { cout<<"请输入影碟编号:";cin>>num;cout<<endl; cout<<"请输入影碟名称:";cin>>name;cout<<endl; cout<<"请输入影碟国家:";cin>>country;cout<<endl; cout<<"请输入影碟类型:";cin>>type;cout<<endl; } voidOutput() { cout<<setw(11)<<num; cout<<setw(12)<<name; cout<<"\t"<<setw(16)<<country; cout<<setw(15)<<type; } friendclasscangku;};classhuiyuan{ charhy_name[20];public: intrent_time[2]; intreturn_time[2]; doublemoney; huiyuan*next1; huiyuan() { hy_name[0]=0;money=0; for(inti=0;i<2;i++) { rent_time[i]=0; return_time[i]=0; } } ~huiyuan(){} char*gethyname(){returnhy_name;} voidsethyname(char*hyname) { strcpy(hy_name,hyname); } friendclasscangku;};classcangku{ yingdie*head,*tail; huiyuan*top,*end;public: cangku() { head=NULL; tail=NULL; top=NULL; end=NULL; } ~cangku() { yingdie*p; huiyuan*q; while(head) { p=head; head=head->next; deletep; } while(top) { q=top; top=top->next1; deleteq; } } voidaddyd(); voidaddhy(); voidDelete(); voidsearch(); voidprint(); voidchuzu(); voidguihuan();};voidcangku::addyd(){ cout<<"\n\t\t\t\t**增加影碟的相关信息**\t\t\n\n"; charch;A: yingdie*p=newyingdie; p->Input(); p->tag=1; p->next=NULL; if(tail) tail->next=p; else head=p; tail=p; while(1) { cout<<"是否继续输入?(Y/N)\n"; cin>>ch; if(ch=='Y'||ch=='y') gotoA; if(ch=='N'||ch=='n')break; }}voidcangku::addhy(){B: huiyuan*p=newhuiyuan; charhyname[20],ch; cout<<"\n\t\t\t\t**增加会员的相关信息**\t\t\n\n"; cout<<"请输入要添加的会员名称:\n"; cin>>hyname; p->sethyname(hyname); p->next1=NULL; if(end) end->next1=p; else top=p; end=p; while(1) { cout<<"是否继续输入?(Y/N)\n"; cin>>ch; if(ch=='Y'||ch=='y') gotoB; if(ch=='N'||ch=='n')break; }}voidcangku::Delete(){ cout<<"\n\t\t\t\t**删除影碟**\t\t\n\n"; yingdie*p1,*p2; charnam[20]; chara[20]; if(head==NULL) { cout<<"\t\t现无任何记录!\n"; } else { p2=head; cout<<"\n\n请输入要删除的影碟名称:\n"; cin>>nam; while(strcmp(p2->getname(),nam)!=0&&p2->next!=NULL) { p1=p2; p2=p2->next; } if(strcmp(p2->name,nam)==0) { if(p2==head) head=p2->next; else p1->next=p2->next; strcpy(a,p2->name); deletep2; cout<<"\t\t\t\t影碟《"<<a<<"》已被删除!\n\n"; } else { cout<<"\n无此影碟,请重输!\n\n"; } }}voidcangku::search(){ cout<<"\n\t\t\t\t**查找影碟**\t\t\n\n"; charnam[20]; yingdie*p; p=head; cout<<"请输入影碟名称:\n"; cin>>nam; while(strcmp(p->getname(),nam)!=0&&p->next!=NULL) p=p->next; if(strcmp(p->getname(),nam)==0) { cout<<"\n\t\t\t\t**查找结果**\t\t\n\n"; cout<<"\t编号"<<"\t影碟名称"<<"\t影碟国家"<<"\t影碟类别"<<"\t可否借阅\n"; p->Output(); if(p->tag==1) cout<<"\t\t"<<"可借阅"; else cout<<"\t\t"<<"已借出"; cout<<"\n查找完成!\n\n"; } else cout<<"此影碟没有找到!\n";}voidcangku::print(){ cout<<"\n\t\t\t\t**影碟信息列表**\t\t\n\n"; cout<<"\t编号"<<"\t影碟名称"<<"\t影碟国家"<<"\t影碟类别"<<"\t可否借阅\n"; yingdie*p=head; while(p) { p->Output(); if(p->tag==1) cout<<"\t\t"<<"可借阅"; else cout<<"\t\t"<<"已借出"; p=p->next; cout<<endl; } cout<<"\n\n";}voidcangku::chuzu(){ yingdie*p,*p1; huiyuan*q; p=head; p1=head; q=top; charhyname[20],ydname[20],ch; cout<<"\n\t\t\t\t**出租影碟**\t\t\n\n";C: cout<<"请输入会员名称:\n"; cin>>hyname; while(strcmp(q->gethyname(),hyname)!=0&&q->next1!=NULL) q=q->next1; if(strcmp(q->gethyname(),hyname)==0) { cout<<"请输入要借阅的影碟名称:\n"; cin>>ydname; while(strcmp(p->getname(),ydname)!=0&&p->next!=NULL) p=p->next; if(strcmp(p->getname(),ydname)==0) { if(p->tag==1) { cout<<"请输入借阅的时间(格式:月-日):\n"; scanf("%d-%d",&(q->rent_time[0]),&(q->rent_time[1])); p->tag=0; } else cout<<"此影碟已借出!"<<endl; } else cout<<"无此影碟!"<<endl; } else cout<<"无此会员!"<<endl; while(1) { cout<<"是否继续借阅?(Y/N)\n"; cin>>ch; if(ch=='Y'||ch=='y') gotoC; if(ch=='N'||ch=='n')break; } cout<<endl;}voidcangku::guihuan(){ yingdie*p,*p1; huiyuan*q; p=head; p1=head; q=top; charhyname[20],ydname[20],ch; cout<<"\n\t\t\t\t**归还影碟**\t\t\n\n";D: cout<<"请输入会员名称:\n"; cin>>hyname; while(strcmp(q->gethyname(),hyname)!=0&&q->next1!=NULL) q=q->next1; if(strcmp(q->gethyname(),hyname)==0) { cout<<"请输入要归还的影碟名称:\n"; cin>>ydname; while(strcmp(p->getname(),ydname)!=0&&p->next!=NULL) p=p->next; if(strcmp(p->getname(),ydname)==0) { if(p->tag==0) { cout<<"请输入归还的时间:(格式:月-日)\n"; scanf("%d-%d",&(q->return_time[0]),&(q->return_time[1])); if((q->return_time[0]-q->rent_time[0])!=0) { if(((q->return_time[0]-q->rent_time[0]-1)*30+q->return_time[1]+(30-q->rent_time[1]))%3==0) q->money=((q->return_time[0]-q->rent_time[0]-1)*30+q->return_time[1]+(30-q->rent_time[1]))/3; else q->money=((q->return_time[0]-q->rent_time[0]-1)*30+q->return_time[1]+(30-q->rent_time[1]))/3+1; } else { if((q->return_time[1]-q->rent_time[1])%3==0) q->money=(q->return_time[1]-q->rent_time[1])/3; else q->money=(q->return_time[1]-q->rent_time[1])/3+1; } cout<<"需要支付的金钱为:"<<q->money<<endl; cout<<endl; p->tag=1; cout<<"此影碟已归还!\n"<<endl; } } } else cout<<"无此会员!"<<endl; while(1) { cout<<"是否继续归还?(Y/N)\n"; cin>>ch; if(ch=='Y'||ch=='y') gotoD; if(ch=='N'||ch=='n')break; } cout<<endl;}voidmenu()//菜单{ cout<<"〓〓〓〓〓〓〓〓〓〓☆影碟出租管理系统☆〓〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆1.增加碟片信息☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆2.增加会员☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆3.显示碟片信息☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆4.删除碟片信息☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆5.查找碟片信息☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆6.出租碟片☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆7.归还碟片☆★〓〓〓〓〓〓〓〓〓"; cout<<"〓〓〓〓〓〓〓〓〓★☆0.安全退出系统☆★〓〓〓〓〓〓〓〓〓"; cout<<"\n\t\t\n\t\t请选择:\n";}intmain(){ system("color05f"); inti; intx; cangkuck; cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl; for(i=0;i<3;i++) cout<<"\t\t◎\t\t\t\t\t\t◎"<<endl; cout<<"\t\t◎★★★★【欢迎进入影碟出租管理系统】★★★★◎"<<endl; for(i=0;i<3;i++) cout<<"\t\t◎\t\t\t\t\t\t◎"<<endl; cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学2026教资面试必练考题
- 初中生物2026教资面试历年真题题库及答案
- 2026初中生物教资面试全真模拟题库及解析
- 下肢深静脉血栓护理措施
- 发电厂监控课件
- 房地产风险课件
- 饭店保安培训课件
- 方舱医院消防培训课件
- 房产销冠培训课件
- 2026秋小学人教版六年级上册数学《分数应用题》(连乘、连除多次转换单位1)易错题专项练习卷含答案(三套)
- 江苏无锡市2026-2027学年高三上学期期中考试语文试题
- 研学实践教育基地项目可行性研究报告
- 强化降胆固醇治疗全程化管理动脉粥样硬化斑块专家共识(中国胆固醇教育计划 2026)
- 医疗康复护理扩容提升工程实施方案解读
- 高压配电柜安全操作规程
- 老年人抗菌药物的使用与注意事项
- 2026年基层党支部书记考试题及答案
- 2026年广东省广州市中考数学试题(含解析)
- 2026秋统编版九年级上册道德与法治全册背诵提纲
- 2026年护士条例学习解读课件(含案例分析)
- 单元整体教学设计 目标设定技巧
评论
0/150
提交评论