C课设个人信用卡管理系统.docx
- 文档编号:6498561
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:34
- 大小:128.30KB
C课设个人信用卡管理系统.docx
《C课设个人信用卡管理系统.docx》由会员分享,可在线阅读,更多相关《C课设个人信用卡管理系统.docx(34页珍藏版)》请在冰豆网上搜索。
C课设个人信用卡管理系统
C课设个人信用卡管理系统
《C++程序设计》
课程设计说明书
题目个人信用卡管理系统
学号1367159113
姓名王岩
指导教师周李涌
日期2014-06-29
课程名称C++语言课程设计
设计题目个人信用卡管理系统的设计
指导教师时间2011-2012春学期第17、18周一、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数
用C++设计一个系统,能提供下列服务:
(1)录入信用卡信息,格式为:
卡号名称账单日还款日余额
654230110022中行淘宝5号25-126.5
0605卡
(2)增加功能。
输入卡号或名称向信用卡使用记录中增加一条记录;格式为:
卡号名称日期金额类型
654230110022中行淘宝11-212.4消费(或还
0605卡款)
如果是消费则信用卡余额减去金额,如果是还款则信用卡余额加上金额。
(3)查询功能。
查询某个信用卡详细的使用记录;可以查询已出账单,即本月账单日和上月
账单日之间的消费记录和消费总额;查询未出账单,及本月账单日之后的消费记录和消
费总额。
(4)提醒功能。
在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
内蒙古科技大学C++课程设计报告书
目录.......................................................................................................................2第1章需求分析..................................................................................................4第2章总体设计..................................................................................................5第3章类的设计..................................................................................................6
3.1Date类的设计............................................................................................6
3.2CreditCard类的设计...................................................................................6第4章详细设计..................................................................................................9
4.1工程视图...................................................................................................9
4.2类图视图...................................................................................................9
4.3函数的调用关系......................................................................................10
4.4主程序流程图..........................................................................................11第5章测试........................................................................................................12第6章总结........................................................................................................20附录:
程序代码..................................................................................................21
3
内蒙古科技大学课程设计任务书
第1章需求分析
随着目前计算机技术的发展,越来越多的生活工具机械化、方便化、人们需要的东西也越来越人性化。
同时,为了巩固和加深学生对C++语言课程的基本知识的理解和掌握,掌握C++语言编程和程序调试的基本技能,利用C++语言进行基本的软件设计,掌握书写程序设计说明文档的能力提高运用C++语言解决实际问题的能力。
本程序是对个人行用卡的管理,对个人信用卡信息的录入,存储,查询。
包括消费记录,还款记录以及还款提醒。
首先,需要创建一个主界面,包含“录入信息,增加功能,使用记录,还款提醒”。
其次开始对个人信息的录入voidluru()个人信用卡信息用文件保存,用户录入一条新记录信息后,这些信息就存入到相应的文件中;其中包括录入个人信用卡的卡号、户名、日期等具体信息。
.增加功能voidzengjia()记录消费或还款(注意输入类型)。
查询功能,对个人的余额,消费,还款记录进行查询,用户可以根据卡号,户名等条件在数组中进行查询。
这使我们更深入的了解对信用卡的管理,更熟练的掌握信用卡的录入,存储,记录。
,
内蒙古科技大学C++课程设计报告书
第2章总体设计
个人信用卡管理系统的操作以及总体框架的设计:
1、首先创建文件。
提前创建好txt文件,一个是基类CReditCard的文件,另一个是派生类Recard的文件。
2、进入主界面选择要进行的操作
3、录入信息(输入卡号如:
6542301100220605,名称如建行;账单日如5号还款日如25号余额如123.5)
4、增添信息(卡号如6542301100220605;名称如建行;日期如11-2金额如22元类型消费或还款)
5、使用记录:
使用记录包括:
查看所有账单、查看已出账单、查看未出账6、提醒功能如果还有两天还款,则有提醒
5
第3章类的设计
3.1Date类的设计
ClassDate
{
public:
intmonth;
intday;
};
数据成员:
month、day。
用来定义在派生类Record中记账日日期的函数;
3.2CreditCard类的设计
ClassCreditCard
{
public:
charcardNumber[20];
charname[20];
intbillDay;
intrepayDay;
doublebalance;
CreditCard()
{
}
voidintoFile();
内蒙古科技大学C++课程设计报告书
voidinit(char*cardNumber,char*name,intbillDay,intrepayDay,doublebalance);//初
始化
voidrenewBalance(doublemoney,char*type)
{
if(strcmp(type,"消费")==0)
{
this->balance=this->balance-money;
}
elseif(strcmp(type,"还款")==0)
{
this->balance=this->balance+money;
}
}
};
数据成员:
cardNumber卡号
name姓名
billDay账单日
repayDate还款日
balance余额
函数成员:
CreditDate()构造函数
intoFile()
init(char*cardNumber,char*name,intbillDay,intrepayDay,doublebalance)这个函数主要
是将CreditCard这个类里边的成员函数放在一起,对于文件的存取有很好的作用renewBalance(doublemoney,char*type)这个函数适用于在后边进行余额的计算的时候用
到的,当时消费类型的时候,余额---消费额==新的余额否则就是余额+还债额。
3.3Record类的设计(CreditCard的派生类)
7
classRecord:
publicCreditCard{
public:
Datedate;
doublemoney;
chartype[20];
Record()
{
}
voidinit(char*cardNumber,char*name,intmonth,intday,doublemoney,char*type);//初始
化
};
//定义两个全局变量以后用着方便
constintMaxCardNum=10;//最大信用卡记录存储数量constintMaxRecordNum=100;//最大消费记录存储数量CreditCardcard[MaxCardNum];Recordrecord[MaxRecordNum];intc_num=0,r_num=0;
voidjiemian();//界面函数
voidshiyongjilu();//使用记录
voidxiaofeizonge();//消费总额
voidtixing();//提醒函数
//初始化信用卡函数
voidCreditCard:
:
init(char*cardNumber,char*name,intbillDay,intrepayDay,doublebalance)
{
strcpy(this->cardNumber,cardNumber);
strcpy(this->name,name);
this->billDay=billDay;
this->repayDay=repayDay;
this->balance=balance;
内蒙古科技大学C++课程设计报告书
第4章详细设计4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
图4.1工程视图4.2类图视图
每个文件包含哪些类和函数,可以截图说明
9
图4.2类图
4.3函数的调用关系
如下图:
Main函数
Jiemian()tixing()loadDate()luru()shiyongjilu()zengjia()
内蒙古科技大学C++课程设计报告书
Card.init()luru()
csrd.renewBalance()zengjia
searchCard()
shiyongjilu()
showAllRecordshowNextPayingshowNopayingR()Record()ecord()
图4.3函数的调用关系
4.4程序功能
开始
提醒功能增添信息查询信息录入信息
查看未出账查看所有查看已出
单账单账单
图4.4功能图
11
第5章测试
开始,首先创建了两个文件,方便而且不用后期创建。
图5.1读取
此时对应的函数是:
voidloadData()
{
ifstreamfile("card.txt",ios:
:
in);
if(!
file)
{
ofstreamfile1("card.txt",ios:
:
out);
file1<<"卡号名称账单日还款日余额"< file1.close(); } else { cout<<"系统读取已存的信用卡信息\n"; system("pause"); c_num=0; file>>card[c_num].cardNumber>>card[c_num].cardNumber>>card[c_num].cardNumber>>car d[c_num].cardNumber>>card[c_num].cardNumber; while(! file.eof()) { file>>card[c_num].cardNumber; file>>card[c_num].name; file>>card[c_num].billDay; file>>card[c_num].repayDay; file>>card[c_num].balance; c_num++; } c_num--; file.close(); 内蒙古科技大学C++课程设计报告书 cout<<"信用卡信息读取完毕~"< } ifstreamloadFromFile("record.txt",ios: : in); if(! loadFromFile) { ofstreamfile1("record.txt",ios: : out); file1<<"卡号名称月份几号金额类型"< file1.close(); } else { cout<<"系统读取已存的消费记录信息\n"; system("pause"); r_num=0; loadFromFile>>record[r_num].cardNumber>>record[r_num].cardNumber>>record[r_num].car dNumber>>record[r_num].cardNumber>>record[r_num].cardNumber>>record[r_num].cardNumbe r; while(! loadFromFile.eof()) { loadFromFile>>record[r_num].cardNumber; loadFromFile>>record[r_num].name; loadFromFile>>record[r_num].date.month;loadFromFile>>record[r_num].type; loadFromFile>>record[r_num].date.day; loadFromFile>>record[r_num].money; loadFromFile>>record[r_num].type; r_num++; } r_num--; loadFromFile.close(); cout<<"消费记录信息读取完毕~"< } } 而后进入主界面如图5.2 13 图5.2主界面 这是主界面函数为: voidjiemian() { system("cls"); cout<<"*************************************************"< cout<<"/**个人信用卡管理系统**/"< cout<<"\n"; cout<<"1、录入信息"< cout<<"2、增加功能"< cout<<"3、使用记录"< cout<<"4、还款提醒 "< cout<<"\n"; cout<<"请输入要选择的功能,按\"0\"结束: "; } 录入信息阶段: 如图5.3 图5.3录入信息界面 此模块的函数代码为: voidluru() { charcardNumber[20]; charname[20]; intbillDay; 内蒙古科技大学C++课程设计报告书 intrepayDay; doublebalance; system("cls"); cout<<"*************************************************"< cout<<"/**个人信用卡管理系统**/"< cout<<"\n"; cout<<"录入功能"< cout< cout< cout<<"请输入卡号: "; cin>>cardNumber; boolisright=true; for(intj=0;j { if(strcmp(card[j].cardNumber,cardNumber)==0) { isright=false; break; } } while(! isright) { cout<<"已经保存有这个卡号\n"; cout<<"请输入新的卡号: "; cin>>cardNumber; isright=true; for(intj=0;j { if(strcmp(card[j].cardNumber,cardNumber)==0) { isright=false; break; } } } cout<<"请输入名称: "; cin>>name; cout<<"请输入账单号: "; cin>>billDay; cout<<"请输入还款日: "; cin>>repayDay; cout<<"请输入余额: "; cin>>balance; card[c_num].init(cardNumber,name,billDay,repayDay,balance); c_num++; 15 } 增加模块: 图5.4增加功能界面代码: voidzengjia() { intmonth; intday; doublemoney; chartype[20]; inti=-1; system("cls"); cout<<"*************************************************"< cout<<"/**个人信用卡管理系统**/"< cout<<"\n"; cout<<"增加功能"< i=searchCard(); cout<<"请输入月份: "; cin>>month; cout<<"请输入几号: "; cin>>day; cout<<"输入金额: "; cin>>money; cout<<"请输入类型(还款/消费): "; cin>>type; while(strcmp(type,"消费")! =0&&strcmp(type,"还款")! =0) { cout<<"您输入的类型有误\n"; cout<<"请重新输入类型(还款/消费): "; cin>>type; } record[r_num].init(card[i].cardNumber,card[i].name,month,day,money,type); r_num++; card[i].renewBalance(money,type); } 内蒙古科技大学C++课程设计报告书 查询功能: 1、查询全部账单 图5.5查询全部账单界面 voidshowAllRecord() { doublesum=0; cout<<"卡号\t\t名称\t\t日期\t类型\t金额"< for(intj=0;j { cout< cout< cout< cout< cout< cout< if(strcmp(record[j].type,"还款")==0) { sum=sum-record[j].money; } else sum=sum+record[j].money; } cout<<"消费还款小计: "< 2、查询已出账单 17 图5.6查询已出账单界面 代码: voidshowNextPayingRecord(){ doublesum=0; inti=searchCard(); longt=time(NULL); tm*pt=localtime(&t); intmonth=pt->tm_mon+1; cout<<"\n卡号\t\t名称\t\t日期\t类型\t金额"< for(intj=0;j { if(strcmp(record[j].type,"还款")==0) continue; if(strcmp(card[i].cardNumber,record[j].cardNumber)! =0) continue; if(! (record[j].date.month==month-1&&record[j].date.day>card[i].billDay ||r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课设个人信用卡管理系统 个人 信用卡 管理 系统