还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《C++程序设计》课程设计说明书题目个人信用卡管理系统学号姓名指导教师日期内蒙古科技大学课程设计任务书课程名称C++语言课程设计设计题目个人信用卡管理系统的设计指导教师时间2015-2016春学期第
17、18周
一、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数用C++设计一个系统,能提供下列服务录入信用卡信息,格式为卡号名称账单日还款日余额6542301100220605中行淘宝卡5号25-
126.5增加功能输入卡号或名称向信用卡使用记录中增加一条记录;格式为卡号名称日期金额类型6542301100220605中行淘宝卡11-
212.4消费(或还款)如果是消费则信用卡余额减去金额,如果是还款则信用卡余额加上金额查询功能查询某个信用卡详细的使用记录;可以查询已出账单,即本月账单日和上月账单日之间的消费记录和消费总额;查询未出账单,及本月账单日之后的消费记录和消费总额提醒功能在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额
三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述包括属性和力一法;
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告完成系统总结报告以及系统使用说明书目录TOC\o1-3\h\z\uHYPERLINK\l_Toc455144208第1章需求分析4HYPERLINK\l_Toc455144209第2章总体设计4HYPERLINK\l_Toc455144210第3章类的设计4HYPERLINK\l_Toc
4551442113.1×××类的设计4HYPERLINK\l_Toc
4551442123.2×××类的设计5HYPERLINK\l_Toc455144213第4章详细设计5HYPERLINK\l_Toc
4551442144.1工程视图5HYPERLINK\l_Toc
4551442154.2类图视图5HYPERLINK\l_Toc
4551442164.3函数的调用关系6HYPERLINK\l_Toc
4551442174.4主程序流程图6HYPERLINK\l_Toc
4551442184.5主要算法的流程图6HYPERLINK\l_Toc455144219第5章测试6HYPERLINK\l_Toc455144220第6章总结6HYPERLINK\l_Toc455144221附录程序代码7需求分析
1.1引言随着目前计算机技术的发展,越来越多的生活工具机械化、方便化、人们需要的东西也越来越人性化同时,为了巩固和加深学生对C++语言课程的基本知识的理解和掌握,掌握C++语言编程和程序调试的基本技能,利用C++语言进行基本的软件设计,掌握书写程序设计说明文档的能力提高运用C++语言解决实际问题的能力
1.2任务概述本程序是对个人信用卡的管理,对个人信用卡信息的录入,存储,查询消费记录,还款记录以及还款提醒
1.3数据描述个人信用卡管理系统中包括创建账号,查询已有账号的信息,提醒还款,显示全部用户,退出等试设计一个个人信用卡管理系统,使之能提供以下功能个人信用卡信息录入功能--输入;个人信用卡信息显示功能--输出;个人信用卡消费/还款功能;查找信用卡及信息按卡号查询,按消费金额区间查询,按消费日期查询;查看不良欠款记录超过消费日80天为不良记录;
1.4功能需求首先,需要创建一个主界面,包含“录入信息,消费/还款功能,账单记录,还款提醒,所有信用卡信息”其次开始对个人信息的录入,调用成员函数voidluru进行录入,个人信用卡信息用文件保存用户录入一条新记录信息后这些信息就存入到相应的文件中;其中包括录入个人信用卡的卡号、户名、日期等具体信息消费/还款功能调用成员函数voidzengjia记录消费或还款账单记录,对个人的消费,还款记录进行查询,用户可以输入卡号在录入的信用卡中进行查询这使我们更深入的了解对信用卡的管理,更熟练的掌握信用卡的录入,存储,记录
1.5任务计划
(1)以文字和数字形式输入信息
(2)程序包含录入功能,显示功能,查询功能,提醒功能,初始化功能等
(2)若输入结果有误,则重新输入,若输入正确,则继续按照程序顺序执行总体设计个人信用卡管理系统的操作以及总体框架的设计
1.框架
2.文字描述首先创建文件提前创建好txt文件,一个是基类Card的文件,另一个是派生类Recard的文件进入主界面选择要进行的操作录入信息(输入卡号如6542301100220605,名称如中行淘宝卡;账单日如5号还款日如25号余额如
123.5)消费/还款(卡号如6542301100220605;名称如中行淘宝卡;日期如11-2金额如
12.4元类型消费或还款)使用记录使用记录包括查看所有账单、查看已出账单、查看未出账提醒功能如果还有两天还款,则有提醒所有信用卡信息显示已录入的使用信用卡信息包括欠款,余额,初始信用额度等查找信用卡及信息通过
1.按卡号查找
2.消费金额区间查找
3.日期区间查找类的设计Card类的设计ClassCard{数据成员charcardnum
[20];charname
[20];intstartday;intbackday;doubleyu_e;doubleSum;//doubleYU_e;//函数成员Card//构造函数voidSetchar*cnumchar*cnameintcstartdayintcbackdaydoublecyu_edoubleCYU_e;//初始化,给信用卡对象数组中的数据成员赋值voidjie_huandoublemoneychar*type//这个函数用于在后边进行余额的计算和欠款的总额的计算,当为消费类型的时候,余额-消费额==新的余额、消费额Sum增加,当为消费类型的时候,余额+还债额==现有余额、消费额Sum减少voidluru;//输入信用卡的基本信息,如卡号、卡的名称、账单日、还款日、信用额等数据后,再调用Set函数给对象数组赋值voidtixing;//提醒函数,调用电脑当前时间,在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额voiddisplay;//显示所有信用卡的当前信息intsearchCard;//输入一个卡号在当前所有记录中查找,存在的话返回一个数值i};Record类的设计(Card的派生类)ClassCard{数据成员doublemoney;chartype
[20];intmonth;intday;函数成员Record//构造函数voidSetchar*cnumchar*cnameintMonthintDaydoubleMoneychar*Type;//初始化,给消费记录对象数组中的数据成员赋值voidzengjia;//通过查找函数对已录入的信用卡进行消费和还款工作voidshiyongjilu;//使用记录voidall_jilu;//消费还款的所有记录和消费还款总额voidyichu_jilu;//已出记录即本月账单日和上月账单日之间的消费记录和消费总额voidweichu_jilu;//未出记录及本月账单日之后的消费记录和消费总额voidchaozhaojiemian;//查找信用卡及信息voidjin_e;//消费金额区间查找voidkahao;//按卡号查找voidriqi;日期区间查找voidxinyong;//查看不良欠款记录voidloadData;//对文件进行读取voidsaveData;//对文件进行存储,建立card、record的txt文本文档};详细设计工程视图图4-1类图视图图4-2函数的调用关系如下图主程序流程图测试
1.欢迎界面图5-
12.功能界面图5-
23.录入功能图5-3图5-
44.消费还款功能图5-
55.使用记录界面图5-6所有账单图5-7已出账单图5-8未出账单:图5-9上季度账单
6.还款提醒图5-
107.所有信用卡信息图5-
118.查找界面图5-12按卡号查找图5-13图5-14图5-15按消费金额查找图5-16图5-17图5-18图5-19按消费日期查找图5-
209.不良欠款图5-2110.退出界面图5-22总结课程设计是培养学生综合运用所学知识发现提出分析和解决实际问题锻炼实践能力的重要环节是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的在这一周的程序设计练习当中并不是一帆风顺的刚开始到指导老师面前听了一大堆,我根本就不知道要做什么,用什么做我并没有被眼前的一点小困难所击倒,我相信困难总是有办法解决的于是开始的两天我就在图书馆找相关图书通过两天的原始知识积累后,我开始尝试着按照自己的想法做了一些小系统起初会出现很多问题,不是这儿少了就是那错了在这样那样的错误中我明白编程是一件很严谨的事,容不得半点错误,一步走错,全盘皆输!在出现错误读不懂时我通常是上网搜索错误原因,往往一个问题的解决方法是多种多样的,各自有其精妙之处有的解决方法浅显易懂,但是易出现漏洞;有的复杂难懂,但是逻辑紧密,无丝毫破绽编程是一门逻辑的游戏,一但了解其游戏规则,便发现乐趣无穷有时候自己有很多的想法,但由于自己的水平有限不能很好地实现,每到那时候我就有一种强烈的愿望想要把问题解决,做出自己想的东西一但解决了问题,那种快乐非亲身经历者不能感受!这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢附录程序代码#includeiostream#includealgorithm#includefstream#includecstdio#includestring#includectime//获取时间的文件的声明usingnamespacestd;//信用卡类classCard{public:charcardnum
[20];charname
[20];intstartday;intbackday;doubleyu_e;doubleSum;//欠款总额doubleYU_e;//初始额度Card{}voidSetchar*cnumchar*cnameintcstartdayintcbackdaydoublecyu_edoubleCYU_e;//初始化voidjie_huandoublemoneychar*type{ifstrcmptype消费==0{yu_e=yu_e-money;Sum=Sum+money;}elseifstrcmptype还款==0{yu_e=yu_e+money;Sum=Sum-money;}}voidluru;//录入voidtixing;//提醒函数voiddisplay;intsearchCard;};//消费记录类classRecord:publicCard{public:Record{}voidSetchar*cnumchar*cnameintMonthintDaydoubleMoneychar*Type;//初始化voidzengjia;voidshiyongjilu;//使用记录voidall_jilu;voidyichu_jilu;voidweichu_jilu;voidjidu_jilu;voidloadData;voidsaveData;voidjin_e;voidkahao;voidchaozhaojiemian;voidriqi;voidxinyong;private:doublemoney;chartype
[20];intmonth;intday;};constintCMAX=20;//信用卡存储数量constintRMAX=100;//消费记录存储数量Cardcard[CMAX];Recordrecord[RMAX];intc_num=0r_num=0;/*---------------------------------------------Card类实现------------------------------------------------*///初始化信用卡函数voidCard::Setchar*cnumchar*cnameintcstartdayintcbackdaydoublecyu_edoubleCYU_e{strcpycardnumcnum;strcpynamecname;startday=cstartday;backday=cbackday;yu_e=cyu_e;YU_e=CYU_e;}/*--------------------------------------录入模块------------------------------------*/voidCard::luru{charcardnum
[20];charname
[20];intstartday;intbackday;doubleyu_e;doubleYU_e;inta;systemcls;cout\t*************************************************\n;cout\t||个人信用卡管理系统||\n;cout\t||----录入信息||\n;cout\t*************************************************\n\n;jixu:cout请输入信用卡号\n;cincardnum;boolright=true;forintj=0;jc_num;j++{ifstrcmpcard[j].cardnumcardnum==0{right=false;break;}}while!right{cout已经保存有这个卡号\n;cout请输入新的卡号\n;cincardnum;right=true;forintj=0;jc_num;j++{ifstrcmpcard[j].cardnumcardnum==0{right=false;break;}}}cout请输入信用卡名称\n;cinname;start:cout请输入账单日(1-31)\n;cinstartday;if1startday||startday31{cout输入有误!请重新输入\n;gotostart;}back:cout请输入还款日(1-31)\n;cinbackday;if1backday||backday31{cout输入有误!请重新输入\n;gotoback;}cout请输入余额\n;cinyu_e;YU_e=yu_e;card[c_num].Setcardnumnamestartdaybackdayyu_eYU_e;c_num++;cout录入成功回车继续\n;cin.get;cin.get;ifstart:systemcls;cout\t*************************************************\n;cout\t||
1.继续录入
2.返回主菜单||\n;cout\t*************************************************\n\n;cout选择您要进行的操作;cina;ifa==1{gotojixu;}ifa==2{}ifa!=1a!=2{cout输入错误,请重新输入1/2\n;cin.get;cin.get;gotoifstart;}}/*--------------------------------------------------*///查找函数intCard::searchCard{inti=-1;boolright=false;charcardnum
[20];cout请输入信用卡号\n;cincardnum;forintj=0;jc_num;j++{ifstrcmpcard[j].cardnumcardnum==0{i=j;right=true;break;}}while!right{cout没有找到您刚刚输入的这个卡号\n;cout请重新输入卡号;cincardnum;forintj=0;jc_num;j++{ifstrcmpcard[j].cardnumcardnum==0{i=j;right=true;break;}}}returni;}/*--------------------------------------提醒模块--------------------------*/voidCard::tixing{longt=timeNULL;tm*pt=localtimet;intmonth=pt-tm_mon+1;intday=pt-tm_mday;systemcls;cout\t\t==================================================\n;cout\t\t||个人信用卡管理系统||\n;cout\t\t==================================================\n\n;cout\t\t还款提醒\n\n;forintj=0;jc_num;j++{if!card[j].backday-day0card[j].backday-day=2card[j].Sum0||31=day+backdayday+backday=32card[j].Sum0continue;cout卡号:card[j].cardnum||;cout名称:card[j].name||;cout应还款日期:month月;coutcard[j].backday日||;cout金额:card[j].Sum元\n\n\n;}}//显示所有卡voidCard::display{intj;cout\t\t========================================\n;cout\t\t||您的信用卡信息||\n;cout\t\t========================================\n\n\n;forj=0;jc_num;j++{cout卡号:card[j].cardnum||;cout名称:card[j].name||;cout账单日:card[j].startday||;cout还款日:card[j].backday||;cout初始额度:card[j].YU_e||;cout消费额:card[j].Sum||;cout余额:card[j].yu_eendl;}cout键入回车返回;}///*-------------------------------------------------------------------------------------------*//*----------------------Record类的实现---------------------------------------------------------------------*///初始化消费记录函数voidRecord::Setchar*cnumchar*cnameintMonthintDaydoubleMoneychar*Type{strcpycardnumcnum;strcpynamecname;month=Month;day=Day;money=Money;strcpytypeType;}/*-----------------------------------消费还款模块---------------------------------*/voidRecord::zengjia{intmonth;intday;doublemoney;chartype
[20];inti=-1;systemcls;cout\t*************************************************\n;cout\t||个人信用卡管理系统||\n;cout\t||------消费/还款||\n;cout\t*************************************************\n;i=searchCard;cout请输入类型还款/消费\n;cintype;whilestrcmptype消费!=0strcmptype还款!=0{cout您输入的类型有误\n;cout请重新输入类型还款/消费;cintype;}Month:cout请输入月份(1-12)\n;cinmonth;ifmonth1||month12{cout输入有误,请输入(1-12)\n;gotoMonth;}Day:cout请输入几号(1-31)\n;cinday;ifday1||day31{cout输入有误,请输入(1-31)\n;gotoDay;}Money:cout输入金额\n;cinmoney;ifstrcmptype消费==0{ifcard[i].yu_emoney{cout输入有误!您的现有信用额度为card[i].yu_e元endl;cout请重新输入!\n;cin.get;gotoMoney;}else{record[r_num].Setcard[i].cardnumcard[i].namemonthdaymoneytype;r_num++;card[i].jie_huanmoneytype;}}else{ifcard[i].YU_ecard[i].yu_e{record[r_num].Setcard[i].cardnumcard[i].namemonthdaymoneytype;r_num++;card[i].jie_huanmoneytype;}else{cout您的还款数额不对您的欠款为card[i].Sum元\n;cin.get;}}cin.get;cout操作成功!键入回车返回;cin.get;}/*-----------------------------------------------------------*//*--------------------------------------------------账单模块-----------------------------------------*/voidRecord::shiyongjilu{intchazhaoy=1;whiley{systemcls;cout\t\t==================================================\n;cout\t\t||个人信用卡管理系统||\n;cout\t\t==================================================\n\n;cout\t\t查询账单子菜单\n;cout\t\t
1.查看所有账单\n;cout\t\t
2.查看已出账单\n;cout\t\t
3.查看未出账单\n;cout\t\t
4.查看上季度账单\n;cout\t\t
0.返回主菜单\n;coutendl;cout请选择你所需要的功能:\n;cinchazhao;switchchazhao{case1:all_jilu;cin.get;cin.get;break;case2:yichu_jilu;cin.get;cin.get;break;case3:weichu_jilu;cin.get;cin.get;break;case4:jidu_jilu;cin.get;cin.get;break;case0:y=0;break;default:cout输入有误,请键入回车重新输入endl;cin.get;}}}//所有记录voidRecord::all_jilu{doublesum=0;systemcls;cout\t\t========================================\n;cout\t\t||您的所有账单||\n;cout\t\t========================================\n\n\n;forintj=0;jr_num;j++{cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;ifstrcmprecord[j].type还款==0{sum=sum-record[j].money;}elsesum=sum+record[j].money;}cout消费还款小计sum元\n\n;}//已出账单voidRecord::yichu_jilu{longt=timeNULL;tm*pt=localtimet;intmonth=pt-tm_mon+1;doublesum=0;inti=searchCard;systemcls;cout\t\t========================================\n;cout\t\t||您的已出账单||\n;cout\t\t========================================\n\n\n;forintj=0;jr_num;j++{ifstrcmprecord[j].type还款==0continue;ifstrcmpcard[i].cardnumrecord[j].cardnum!=0continue;if!record[j].month==month-1record[j].daycard[i].startday||record[j].month==monthrecord[j].daycard[i].startdaycontinue;cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;sum=sum+record[j].money;}cout消费总额sum元\n\n;}//未出账单voidRecord::weichu_jilu{longt=timeNULL;tm*pt=localtimet;intmonth=pt-tm_mon+1;doublesum=0;inti=searchCard;systemcls;cout\t\t========================================\n;cout\t\t||您的未出账单||\n;cout\t\t========================================\n\n\n;forintj=0;jr_num;j++{ifstrcmprecord[j].type还款==0continue;ifstrcmpcard[i].cardnumrecord[j].cardnum!=0continue;if!record[j].month==monthrecord[j].daycard[i].startdaycontinue;cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;sum=sum+record[j].money;}cout消费总额sum元\n\n;}//季度总账单voidRecord::jidu_jilu{longt=timeNULL;tm*pt=localtimet;intmonth=pt-tm_mon+1;doublesum=0;systemcls;cout\t\t========================================\n;cout\t\t||您的上季度度账单||\n;cout\t\t========================================\n\n\n;forintj=0;jr_num;j++{if!month-4=record[j].monthrecord[j].monthmonthcontinue;cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;ifstrcmprecord[j].type还款==0{sum=sum-record[j].money;}elsesum=sum+record[j].money;}cout季度消费还款小计sum元\n\n;}/*---------------------------------------------------------------------------------------*//*-------------------------------查找模块--------------------------------------------*///界面voidRecord::chaozhaojiemian{intchazhaoy=1;whiley{systemcls;cout\t\t==================================================\n;cout\t\t||个人信用卡管理系统||\n;cout\t\t==================================================\n\n;cout\t\t查找信用卡及信息子菜单\n;cout\t\t
1.按卡号查找\n;cout\t\t
2.按消费金额区间查找\n;cout\t\t
3.按日期区间查找\n;cout\t\t
0.返回主菜单\n;coutendl;cout请选择你所需要的功能:\n;cinchazhao;switchchazhao{case1:kahao;cin.get;cin.get;break;case2:jin_e;cin.get;cin.get;break;case3:riqi;cin.get;cin.get;break;case0:y=0;break;default:cout输入有误,请键入回车重新输入endl;cin.get;}}}//卡号查找voidRecord::kahao{systemcls;inti=searchCard;chary;systemcls;cout\t\t========================================\n;cout\t\t||此卡的所有信息||\n;cout\t\t========================================\n\n\n;cout卡号:card[i].cardnum||;cout名称:card[i].name||;cout账单日:card[i].startday||;cout还款日:card[i].backday||;cout初始额度:card[i].YU_e||;cout消费额:card[i].Sum||;cout余额:card[i].yu_eendl;coutendl是否查看详细记录y/nendl;start:ciny;ify==y||y==Y{systemcls;forintj=0;jr_num;j++{ifstrcmpcard[i].cardnumrecord[j].cardnum!=0continue;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;}cout此卡消费还款小计card[i].Sum元\n\n;}ify==n||y==N{}ify!=ny!=y{cout输入有误,请重新输入\n;gotostart;}}//按欠款金额阶段查找voidRecord::jin_e{intabij;doublemoney;charm;systemcls;cout输入你要查找的欠款范围endl;cinab;systemcls;cout\t====================================================endl;cout\t||欠款范围在a---b之间的欠款信息如下||\n;cout\t====================================================endl;forj=0;jc_num;j++{ifacard[j].Sumcard[j].Sumb{coutj:卡号:card[j].cardnum||;cout名称:card[j].name||;cout消费总额:card[j].Sumendl;}}cout是否查看详细消费信息y/n:endl;start:cinm;ifm==y||m==Y{cout输入以上序号查看此卡详细信息\n;cini;forj=0;jr_num;j++{ifstrcmpcard[i].cardnumrecord[j].cardnum!=0continue;cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;}cout消费还款总额card[i].Sum元\n\n;start1:cout是否进行还款操作(y/n)endl;cinm;systemcls;ifm==y||m==Y{cout请输入还款月份(1-12)\n;cinmonth;cout请输入还款号数(1-31)\n;cinday;Money:cout输入还款金额\n;cinmoney;ifmoneycard[i].Sum{cout还款失败,您的欠款为card[i].Sumendl;cout键入回车重新输入\n;cin.get;cin.get;gotoMoney;}record[r_num].Setcard[i].cardnumcard[i].namemonthdaymoney还款;card[i].jie_huanmoneytype;r_num++;cout操作成功!键入回车返回;}ifm==n||m==N{}ifm!=nm!=y{cout输入有误,请重新输入\n;gotostart1;}}ifm==n||m==N{}ifm!=nm!=y{cout输入有误,请重新输入\n;gotostart;}}//日期voidRecord::riqi{intmonthstartmonthend;doublesum=0;cout请输入起始月和终止月(1-12:\n;cinmonthstartmonthend;systemcls;cout\t====================================================endl;cout\t||日期在monthstart---monthend之间的欠款信息如下||\n;cout\t====================================================endl;forintj=0;jr_num;j++{if!monthstart=record[j].monthrecord[j].month=monthendcontinue;cout卡号:record[j].cardnum||;cout名称:record[j].name||;cout日期:record[j].month月;coutrecord[j].day日||;cout类型:record[j].type||;cout金额:record[j].money元\n\n\n;ifstrcmprecord[j].type还款==0{sum=sum-record[j].money;}elsesum=sum+record[j].money;}cout消费还款小计sum元\n\n;}/*---------------------------------------完------------------------------------*///不良记录voidRecord::xinyong{longt=timeNULL;tm*pt=localtimet;intmonth=pt-tm_mon+1;intday=pt-tm_mday;inti;systemcls;cout\t*************************************************\n;cout\t||不良记录||\n;cout\t*************************************************\n\n;cout\t超过消费日80天为不良记录\n;fori=0;ir_num;i++{if0=month-record[i].month*30+day-record[i].daymonth-record[i].month*30+day-record[i].day=80continue;cout卡号:record[i].cardnum||;cout名称:record[i].name||;cout日期:record[i].month月;coutrecord[i].day日||;cout类型:record[i].type||;cout金额:record[i].money元\n\n\n;}}/*----------------------------------------------------存储模块-----------------------------------*///读取数据voidRecord::loadData{ifstreamfilecard.txtios::in;if!file{ofstreamfile1card.txtios::out;file1卡号名称账单日还款日余额初始额度欠款总额endl;file
1.close;}else{c_num=0;filecard[c_num].cardnumcard[c_num].cardnumcard[c_num].cardnumcard[c_num].cardnumcard[c_num].cardnumcard[c_num].cardnumcard[c_num].cardnum;while!file.eof{filecard[c_num].cardnum;filecard[c_num].name;filecard[c_num].startday;filecard[c_num].backday;filecard[c_num].yu_e;filecard[c_num].YU_e;filecard[c_num].Sum;c_num++;}c_num--;file.close;}ifstreamloadFromFilerecord.txtios::in;if!loadFromFile{ofstreamfile1record.txtios::out;file1卡号名称月份几号金额类型endl;file
1.close;}else{r_num=0;loadFromFilerecord[r_num].cardnumrecord[r_num].cardnumrecord[r_num].cardnumrecord[r_num].cardnumrecord[r_num].cardnumrecord[r_num].cardnum;while!loadFromFile.eof{loadFromFilerecord[r_num].cardnum;loadFromFilerecord[r_num].name;loadFromFilerecord[r_num].month;loadFromFilerecord[r_num].type;loadFromFilerecord[r_num].day;loadFromFilerecord[r_num].money;loadFromFilerecord[r_num].type;r_num++;}r_num--;loadFromFile.close;}}//写入文本voidRecord::saveData{intj=0;ofstreamsavetoCardcard.txtios::out;savetoCard卡号\t\t名称\t\t账单日\t\t还款日\t\t余额\t\t初始额度\t\t欠款总额endl;forj=0;jc_num;j++{savetoCardcard[j].cardnum;savetoCardcard[j].name\t;savetoCardcard[j].startday\t\t;savetoCardcard[j].backday\t\t;savetoCardcard[j].yu_e\t\t;savetoCardcard[j].YU_e\t\t;savetoCardcard[j].Sumendl;}savetoCard.close;cout信用卡信息已存入文件endl;ofstreamfilerecord.txtios::out;file卡号\t\t名称\t\t日期\t金额\t类型endl;forj=0;jr_num;j++{filerecord[j].cardnum;filerecord[j].name\t;filerecord[j].month月;filerecord[j].day\t;filerecord[j].money\t;filerecord[j].typeendl;}file.close;cout消费记录信息已存入文件endl;}/*-------------------------------------------------------------*//*----------------------Record类的jieshu---------------------------------------------------------------------*///主函数部分voidwelcome;voidgongneng;voidtuichu;intmain{Recordr;welcome;r.loadData;gongneng;r.saveData;return0;}//欢迎界面voidwelcome{cout\n\n\n\n\n\n\n\n\n;systemcolor4F;cout\t------------------------------------------------------\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t*欢迎使用*\n;cout\t**\n;cout\t*个人信用卡管理系统*\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t**\n;cout\t*登录系统*\n;cout\t*---键入回车进入*\n;cout\t------------------------------------------------------\n;cin.get;}//功能函数voidgongneng{Cardc;Recordr;intny=1;whiley{systemcls;systemcolor1C;cout\t====================================================endl;cout\t个人信用卡管理系统endl;cout\t====================================================endl;cout\t*1-录入信息*endl;cout\t*2-消费/还款*endl;cout\t*3-账单记录*endl;cout\t*4-还款提醒*endl;cout\t*5-所有信用卡信息*endl;cout\t*6-查找信用卡及信息*endl;cout\t*7-不良欠款记录*endl;cout\t*0-退出系统*endl;cout\t====================================================\nendl;cout请选择你所需要的功能:;cinn;systemcls;switchn{case1:r.luru;break;case2:r.zengjia;break;case3:r.shiyongjilu;break;case4:r.tixing;cin.get;cin.get;break;case5:r.display;cin.get;cin.get;break;case6:r.chaozhaojiemian;cin.get;cin.get;break;case7:r.xinyong;cin.get;cin.get;break;case0:y=0;tuichu;break;default:cout输入有误,键入回车重新输入\n;cin.get;cin.get;}}}//退出界面voidtuichu{systemcolor4F;cout\t=========================================\n;cout\t||谢谢使用||\n;cout\t||再见!||\n;cout\t=========================================\n;}按卡号查找按消费金额查找按消费日期查找消费还款功能查看所有账单查看已出账单查看未出账单上季度账单账单记录查找信用卡及信息不良记录查询Card类(包含信用卡的初始信息)public继承录入账户基本信息查找已录入信用卡提醒还款功能显示所有用户信息Record类(所有消费记录)welcomegongnengr.loadDatar.saveData主函数模块main消费、还款模块r.zengjiac.searchCardc.jie_huan功能函数模块gongnengr.lurutuichur..displyr.tixingr.shiyongjilur.zengjiar.chaozhaojiemianr.xinyong账单模块r.shiyongjiluweichu_jiluall_jiluyichu_jilujidu_jilu查找模块r.chaozhaojiemianriqikahaojin_ec.searchCardc.jie_huanSetwelcomegongnengloadDatasaveData主函数mainweichu_jiluall_jiluyichu_jilujidu_jilulurutuichur..displyr.tixingr.shiyongjilur.zengjiar.chaozhaojiemianr.xinyongriqisearchCardjin_ekahao。