ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:1.24MB ,
资源ID:4892645      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4892645.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(C课程设计报告影碟出租管理系统.docx)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C课程设计报告影碟出租管理系统.docx

1、 C课程设计报告影碟出租管理系统 50 2020年4月19日 文档仅供参考 成绩 课程设计报告 题 目 影碟出租管理系统 课 程 名 称 面向对象程序设计课程设计 院 部 名 称 计算机工程学院 专 业 计算机科学与技术 班 级 学 生 姓 名 学 号

2、 课程设计地点 A101 课程设计学时 20学时 指 导 教 师 李尤丰 金陵科技学院教务处制 1.需求分析 1.1设计要求 1. 影碟信息:碟片名称、国家、类型、导演、主演影星、库存量等 2. 出租信息:顾客账号、碟片名称、借阅日期、归还日期、租金等 3.顾客信息:账号、姓名、资金余额、所租影碟列表 4.影碟维护:添加、删除、修改 5.顾客维护:添加、删除、修改 6.碟片

3、查询:按片名查询某片是否可借阅,结果有三种(可借阅、已借出、无此片)。 7.碟片借阅:输入顾客账号、碟片名称、借阅日期,修改资金余额(每片押金20元,以防止不归还) 8.碟片归还:输入顾客账号、碟片名称、归还日期,修改碟资金余额,先返该片还押金,计算每片租金(每三天的租金为1元,不满三天的按三天计算)。因为每个顾客一次可借阅多片,因此也可能一次归还多片。在该操作结束前,应输出该会员此次归还所需支付的总租金。 9.统计:某类型影碟的清单 1.2需达到的功能 1. 影碟信息的维护:在该功能中能够实现对影碟信息的增加、删除、更新。 2. 会员信息的维护:在该功能中能够实现对会员信息的增

4、加、删除、修改,同时另外新增一会员费充值功能。 3. 信息查询系统: ①碟片信息查询:当顾客查询某碟片时,能够被告知该碟片库存及租借信息、是否可借。 ②会员信息查询:查询某会员的信息,主要用来查看会员的余额。 ③查看所有碟片信息:查看库存中所有的碟片情况。 ④查看所有会员信息:查看已注册的所有会员信息情况。 4. 碟片租赁系统:实现会员的碟片租赁功能。 5. 碟片归还系统:实现会员的归还碟片功能。 6. 类型统计:统计某类型的碟片清单。 7. 存储功能:实现对程序内数据的存储功能。 2.概要设计 2.1功能图 该影碟出租管理系统共有七大功能,分别为信息存储、影碟租借

5、影碟归还、影碟维护、会员维护、信息查询、类型统计。信息存储功能主要就是在系统中,只要涉及到系统内数据的改变,就会自动把新数据保存到文件中,而且在下次打开程序时自动把文件上的数据读入系统内存中。影碟的租借和归还是该程序的主要功能,影碟和会员维护系统主要实现对影碟和会员的增删改。信息查询功能主要实现对指定信息的查找。统计功能主要实现对影碟类型的统计。 打开程序 读取文件信息 主菜单 类型统计 信息查询 会员维护 影碟维护 碟片归还 碟片借阅    全部会员信息 全部碟片信息 会员信息 会员费充值 会员删除 会员注册 会员更新

6、碟片信息 更新影碟 删除影碟 增加影碟 信息存储到文件中 主菜单 否 是否退出? 是 退出程序 2.2类 1.CD类:该类拥有私有数据成员CDID(碟片编号)、CDname(碟片名称)、mainstar(主演明星)、country(国家)、style(碟片类型)、director(导演)、company(制作公司)、lend(借出数量)、inventory(库存量)。成员函数包含有参构造函数、重载流插入提取运算符、拷贝复制构造函数以及获取私有成员函数和更改私有成员函数,具体类信息如下: class CD{ private:

7、 string CDID; //碟片编号 string CDname; //碟片名称 string mainstar; //主演明星 string country; //国家 string style; //碟片类型 string director; //导演 string company; //制作公司 int lend; //借出数量 int inventory; //库存量 public: CD(string ci="无",string cna="无",stri

8、ng mst="无",string cot="无",string sty="无",string dir="无",string com="无",int le=0,int inv=0); friend istream& operator>>(istream &is,CD &die); //重载输入运算符 friend ostream& operator<<(ostream &os,CD &die); //重载输出运算符 friend ofstream &operator<<(ofstream &ofs,CD&die); //重载文件插入运算符 CD(con

9、st CD &c); //复制构造函数 CD(CD &c,const CD &d); //复制构造函数 string getCDID(){return CDID;} string getCDname(){return CDname;} 获取私有成员 string getmainstar(){return mainstar;} string getcountry(){return country;} string getstyle(){return style;} string getdirector(){return director;} string

10、 getcompany(){return company;} int getlend(){return lend;} int getinventory(){return inventory;} void setCDID(string ci){CDID=ci;} void setCDname(string cna){CDname=cna;} void setmainstar(string mst){mainstar=mst;} 更改私有成员 void setcountry(string cot){country=cot;} void setstyle(strin

11、g sty){style=sty;} void setdirector(string dir){director=dir;} void setcompany(string com){company=com;} void setlend(int le){lend=le;} void setinventory(int inv){inventory=inv;} }; 2.member类:该类拥有私有成员memberID(会员号)、membername(会员姓名)、sex(性别)、money(会费剩余)。成员函数包含有参构造函数、流重载插入运算符、拷贝构造函数以及获取私有成员函数和

12、更改私有成员函数,具体类信息如下: class member { friend istream& operator>>(istream& is,member &me);//重载插入运算符 friend ostream& operator<<(ostream& os,member &me);//重载提取运算符 friend ofstream& operator<<(ofstream& ofs,member &me);//重载文件插入运算符 private: string memberID; //会员号 string membername; //会员名字 str

13、ing sex; //会员性别 float money; //会费剩余 public: member(string mid="无",string mna="无",string se="无",float mon=0.0);//带参默认构造函数 member(const member &m); //拷贝构造函数 string getmemberID(){return memberID;} 获取私有成员 string getmembername(){return membername;} string getsex(){return sex;}

14、 float getmoney(){return money;} void setmemberID(string mid){memberID=mid;} 更改私有成员 void setmembername(string mna){membername=mna;} void setsex(string se){sex=se;} void setmoney(float mon){money=mon;} }; 3.caozuo类:该类私有成员分别为:member hy[100](能存100个会员信息)、CD zu_dip[100][10](每个会员租借的碟片信息,且规定每人

15、最多只能租借10种影碟)、CD dip[100](定义能存100种碟片信息)、int category(用来做影碟的下标)、int kind(用来做会员的下标)、int lendnumber[100](记录每个会员租借的碟片种类)、string time[100][10][20](用来记录每个会员租借的每一种碟片对应的租借时间信息)。成员函数主要有有参构造函数以及各种功能函数,详细信息如下所示: class caozuo { private: member hy[100]; //定义能存100个会员信息 CD zu_dip[100][10]; //每个会员对应租借的碟片信息

16、且规定最多只能租10种影碟 CD dip[100]; //定义能存100种碟片信息 int category; //用来做影碟的下标 int kind; //用来做会员的下标 int lendnumber[100]; //记录每个会员租借的碟片种类 string time[100][10][20]; //用来记录每个会员租借的每张碟片的租借时间信息 public: caozuo(int c=0,int k=0) //初始化category和kind { category=c; kind=k;

17、} void aiddp();//增加影碟信息 void gxdp();//更新影碟信息 void find_dp();//查询影碟信息 void delete_dp();//删除碟片信息 void put_all_dp();//输出全部影碟信息 void aidhy();//注册新会员 void gxhy();//更新会员信息 void find_hy();//查询会员信息 void aid_money();//会员费充值 void delete_hy();//删除会员信息 void put_all_hy();//输出全部会员信息 void r

18、ent_cd();//租赁影碟 void back_cd();//归还影碟 void dp_statistics();//统计影碟种类清单 void read_cd();//读取影碟文件上的信息 void read_hy();//读取会员文件上的信息 void read_lendcdcategory();//读取借碟片种类数据 void read_rent_cd();//读取已租出碟片的信息 void read_rent_time();//读取已租碟片的时间信息 }; 2.3类图 在CD类中,主要就是碟片的基本信息,包括碟片的编号、名称、导演等等。在membe

19、r类中就是会员的基本信息,主要就是会员的ID、姓名、性别和账户余额这些信息。在caozuo类中就是把CD类和member类作为它的私语成员然后集中处理她们之间的关系,主菜单里的各种功能也全部在该类中定义实现。在caozuo类中,定义了类数组member hy[100],其功能作用是能够存储100个会员信息。CD类数组 CD dip[100],其功能作用是能够存储100种碟片信息。另一个CD类二维数组CD zu_dip[100][10];其是与会员类数组绑定在一起的。例如hy[5]对应着zu_dip[5][i],i代表会员hy[5]借的第几种碟片,且其上线是10张。Member类中的私有成员ca

20、tegory是用来标记当前共入库的碟片的种类,用来做影碟CD类数组的下标。私有成员函数kind是用来标记当前已注册的会员数量,即用来做会员类数组的下标。类中定义的整形数组int lendnumber[100],是用来记录每个会员租借的碟片种类,例如lendnumber[5]=4,就是会员hy[5]租借了4种碟片。而且lendnumber[10]也就是用来标记zu_dip[100][10]中的列数的,即做列的下标。在caozuo类数组中还定义了一个string字符型二维数组string time[100][10][20],其中100是和会员hy[100]中的100是一一对应的,10是和zu_di

21、p[100][10]中的10是一一对应的,20是字符长度。该string字符型二维数组主要是用来记录每个会员租借的每种碟片的租借时间信息。caozuo类组合了CD类和member类,使程序能够灵活地处理会员和碟片之间的关系。而该类中的成员函数也主要都是在处理CD类和member之间的关系,最具有体现性的就 是租赁函数和碟片归还函数。 3详细设计 1.类型统计功能:进入该功能,程序使用者能够查看某种类型的碟片信息。 信息存储功能:凡在执行程序中涉及到系统内存改变的地方都要把改变的信息写入文件保存起来,以达到存储功能。 例如碟片的写入文件操作 ofstream o

22、file; ofile.open("碟片信息.txt"); for(int j=0;j

23、left); ofile<

24、 **"<

25、out<<"** (5)信息查询系统 **"<

26、"<

27、 (2)删除影碟信息 **"<

28、"<

29、 **"<

30、 cout<<"********************************************************"<

31、"<

32、"<

33、到系统内存中 a.read_rent_cd(); //系统自动读取文件中的已租出碟片信息,并放到系统内存中 a.read_rent_time(); //系统自动读取文件中的已租出的每张碟片对应租借的时间信息,并放到系统内存中 menu(); cout<<"请选择主菜单功能:"<>ch; if(ch=='1') { a.rent_cd(); cout<<"按任意键继续!"; system("pause>nul"); system("cls"

34、); menu(); cout<<"请选择主菜单功能:"<nul"); system("cls"); menu(); cout<<"请选择主菜单功能:"<

35、 cin>>ch1; if(ch1=='1') { a.aiddp(); cout<<"按任意键继续!"; system("pause>nul"); system("cls"); menu3(); cout<<"请选择菜单功能:"<nul"); system("cls"); menu3();

36、 cout<<"请选择菜单功能:"<nul"); system("cls"); menu3(); cout<<"请选择菜单功能:"<

37、rt; } else { cout<<" 输入错误,请重新输入!"<>ch2; if(ch2=='1') { a.aidhy(); cout<<

38、"按任意键继续!"; system("pause>nul"); system("cls"); menu4(); cout<<"请选择菜单功能:"<nul"); system("cls"); menu4(); cout<<"请选择菜单功能:"<

39、 a.gxhy(); cout<<"按任意键继续!"; system("pause>nul"); system("cls"); menu4(); cout<<"请选择菜单功能:"<nul"); system("cls"); menu4(); cout<<"请选择菜单功能:"<

40、else if(ch2=='5') { system("cls"); menu(); cout<<"请选择主菜单功能:"<

41、ndl; while(1) { char ch3; cin>>ch3; if(ch3=='1') { a.find_dp(); cout<<"按任意键继续!"; system("pause>nul"); system("cls"); menu5(); cout<<"请选择菜单功能:"<nul")

42、 system("cls"); menu5(); cout<<"请选择菜单功能:"<nul"); system("cls"); menu5(); cout<<"请选择菜单功能:"<

43、意键继续!"; system("pause>nul"); system("cls"); menu5(); cout<<"请选择菜单功能:"<

44、请选择菜单功能:"<nul"); system("cls"); menu(); cout<<"请选择主菜单功能:"<

45、l; break; } else { cout<<" error,请重新输入!"<

46、 问题2:注册一个新会员时,该会员没有租借碟片,归还碟片功能中输入该会员的ID,程序中应该提示“该会员无租借记录”,但在该处却要输出归还碟片信息。其显示窗口如下 问题分析解决:该漏洞主要是无法判断会员是否有租借记录造成的,问题解决的方法就是在caozuo类中添加私有成员int型lendnumber[100]并初始化为0来记录每个成员是否有租借记录。当会员hu[i]归还碟片时,首先判断lendnumber[i]是否为0,若为0,则显示“该会员无租借记录”,否则就能够进行归还碟片功能。 问题3:当库存数量只有20张时,会员输入租借数量180,却成功了!而在随后 输出全部碟片信息时,

47、库存数量也由原来的20变成了-160,其显示窗口如下 问题分析解决:该漏洞主要是在会员租借碟片时缺少对会员租借数量的判断,然后继续进行租借,改变系统内存,继而导致了输出的错误。问题的解决方法就是在会员输入租借数量时进行判断,如果该数量不在碟片库存范围之内,则输出“租借数量错误”,否则再继续进行租借操作。 问题4:当输出全部会员信息时,每输出一个会员,就会输出一行标题,标题行太多,其显示窗口如下 问题分析解决:该漏洞主要是因为把输出标题行放在了输出会员的循环了,因而每输出一个会员就会输出一行标题,解决该问题的方法就是把输出标题行的代码放到循环外面,只输出一次,这样标题行太多

48、的问题就得到了解决。 问题5:当会员去归还碟片时,只能一次性全部归还,无法实现部分归还的功能。其显示窗口如下 问题分析解决:该漏洞主要是没有从用户角度考虑问题,没能是功能完善。问题的解决方法就是在会员归还碟片时,提示会员是全部归还还是部分归还,然后分两种情况进行归还碟片的功能。 问题6:此处日期的输入格式出错,没有提示用户正确的日期输入格式,在日期输入过后,提示是否继续租赁,此处无法接受命令,一直提示输入有误!其显示窗口如下 问题分析解决:该漏洞主要是界面不友好和输入菜单选项接受数字出错所致。解决该漏洞的方法就是在请输入租赁日期后面友好提示用户“日期的格式为: 4月12日”,这

49、样就不会出现这样的错误了。 4.2经验和体会 在调试分析和测试结果这个过程中,首先就是要使用程序里的每一个功能,在涉及到输入时,要想到各种可能去输入,继而找出程序中的漏洞,找到漏洞以后,能够截屏保存下来留作更改代码的依据。在更改代码时,要能够根据漏洞找到出错的函数以及函数里的具体位置。找到后根据截屏上的漏洞来修改代码。若是在函数里找不到漏洞的地方,则能够经过调语句调过程,在监视窗口中一步一步查找漏洞,继而慢慢修改代码,完善程序功能。 5.用户使用说明 进入主菜单:顾客能够选择租赁影碟、归还影碟、影碟维护、顾客维护、信息查询和类型统计这几种功能。 碟片借阅:顾客输入会员ID,输入需租碟

50、片,输入数量及租借日期 碟片归还:输入会员ID,选择是全部归还还是部分归还,然后输入租借天数。 影碟维护:顾客能够选择增加、删除、更新三个功能 碟片增加:输入碟片编号、名称……等 碟片删除:输入要删除的碟片名称,然后删除该碟片 碟片更新:输入要更新的碟片名称,然后进行输入更新 顾客维护:顾客能够选择增加、删除、更新、会员费冲值四个功能 增加会员:输入注册的会员ID、性别……等 删除会员:输入要删除的会员ID,然后删除该会员 会员更新:输入要更新的会员ID,然后进行输入更新 会员费充值:输入会员ID,输入充值金额 信息查询:顾客能够选择查询碟片、会员、全部碟片和会员信息四个

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服