+c+程序设计课程设计说明个人信用卡管理系统大学论文Word文档下载推荐.docx
- 文档编号:20386388
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:53
- 大小:769KB
+c+程序设计课程设计说明个人信用卡管理系统大学论文Word文档下载推荐.docx
《+c+程序设计课程设计说明个人信用卡管理系统大学论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《+c+程序设计课程设计说明个人信用卡管理系统大学论文Word文档下载推荐.docx(53页珍藏版)》请在冰豆网上搜索。
(3)查询功能。
查询某个信用卡详细的使用记录;
可以查询已出账单,即本月账单日和上月账单日之间的消费记录和消费总额;
查询未出账单,及本月账单日之后的消费记录和消费总额。
(4)提醒功能。
在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
第1章需求分析
1.1引言
随着目前计算机技术的发展,越来越多的生活工具机械化、方便化、人们需要的东西也越来越人性化。
同时,为了巩固和加深学生对C++语言课程的基本知识的理解和掌握,掌握C++语言编程和程序调试的基本技能,利用C++语言进行基本的软件设计,掌握书写程序设计说明文档的能力提高运用C++语言解决实际问题的能力。
1.2任务概述
本程序是对个人信用卡的管理,对个人信用卡信息的录入,存储,查询消费记录,还款记录以及还款提醒。
1.3数据描述
个人信用卡管理系统中包括创建账号,查询已有账号的信息,提醒还款,显示全部用户,退出等。
试设计一个个人信用卡管理系统,使之能提供以下功能:
个人信用卡信息录入功能--输入;
个人信用卡信息显示功能--输出;
个人信用卡消费/还款功能;
查找信用卡及信息:
按卡号查询,按消费金额区间查询,按消费日期查询;
查看不良欠款记录:
超过消费日80天为不良记录;
1.4功能需求
首先,需要创建一个主界面,包含“录入信息,消费/还款功能,账单记录,还款提醒,所有信用卡信息”。
其次开始对个人信息的录入,调用成员函数voidluru()进行录入,个人信用卡信息用文件保存,用户录入一条新记录信息后,这些信息就存入到相应的文件中;
其中包括录入个人信用卡的卡号、户名、日期等具体信息。
消费/还款功能调用成员函数voidzengjia()记录消费或还款。
账单记录,对个人的消费,还款记录进行查询,用户可以输入卡号在录入的信用卡中进行查询。
这使我们更深入的了解对信用卡的管理,更熟练的掌握信用卡的录入,存储,记录。
1.5任务计划
(1)以文字和数字形式输入信息。
(2)程序包含录入功能,显示功能,查询功能,提醒功能,初始化功能等。
(2)若输入结果有误,则重新输入,若输入正确,则继续按照程序顺序执行。
第2章总体设计
个人信用卡管理系统的操作以及总体框架的设计:
1.框架:
2.文字描述:
1、首先创建文件。
提前创建好txt文件,一个是基类Card的文件,另一个是派生类Recard的文件。
2、进入主界面选择要进行的操作
3、录入信息(输入卡号如:
6542301100220605,名称如中行淘宝卡;
账单日如5号还款日如25号余额如123.5)
4、消费/还款(卡号如6542301100220605;
名称如中行淘宝卡;
日期如11-2金额如12.4元类型消费或还款)
5、使用记录:
使用记录包括:
查看所有账单、查看已出账单、查看未出账
6、提醒功能如果还有两天还款,则有提醒
7、所有信用卡信息显示已录入的使用信用卡信息包括欠款,余额,初始信用额度等。
8、查找信用卡及信息通过1.按卡号查找2.消费金额区间查找3.日期区间查找
第3章类的设计
3.1Card类的设计
ClassCard
{
数据成员:
charcardnum[20];
charname[20];
intstartday;
intbackday;
doubleyu_e;
doubleSum;
//
doubleYU_e;
函数成员:
Card()//构造函数
voidSet(char*cnum,char*cname,intcstartday,intcbackday,doublecyu_e,doubleCYU_e);
//初始化,给信用卡对象数组中的数据成员赋值
voidjie_huan(doublemoney,char*type)//这个函数用于在后边进行余额的计算和欠款的总额的计算,当为消费类型的时候,余额-消费额==新的余额、消费额Sum增加,当为消费类型的时候,余额+还债额==现有余额、消费额Sum减少。
voidluru();
//输入信用卡的基本信息,如卡号、卡的名称、账单日、还款日、信用额等数据后,再调用Set函数给对象数组赋值。
voidtixing();
//提醒函数,调用电脑当前时间,在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额。
voiddisplay();
//显示所有信用卡的当前信息
intsearchCard();
//输入一个卡号在当前所有记录中查找,存在的话返回一个数值i。
};
3.2Record类的设计(Card的派生类)
doublemoney;
chartype[20];
intmonth;
intday;
Record()//构造函数
voidSet(char*cnum,char*cname,intMonth,intDay,doubleMoney,char*Type);
//初始化,给消费记录对象数组中的数据成员赋值
voidzengjia();
//通过查找函数对已录入的信用卡进行消费和还款工作。
voidshiyongjilu();
//使用记录
voidall_jilu();
//消费还款的所有记录和消费还款总额。
voidyichu_jilu();
//已出记录即本月账单日和上月账单日之间的消费记录和消费总额。
voidweichu_jilu();
//未出记录及本月账单日之后的消费记录和消费总额。
voidchaozhaojiemian();
//查找信用卡及信息
voidjin_e();
//消费金额区间查找
voidkahao();
//按卡号查找
voidriqi();
日期区间查找
voidxinyong();
//查看不良欠款记录
voidloadData();
//对文件进行读取
voidsaveData();
//对文件进行存储,建立card、record的txt文本文档。
第4章详细设计
4.1工程视图
图4-1
4.2类图视图
图4-2
4.3函数的调用关系
如下图:
4.4
主程序流程图
第5章测试
1.欢迎界面:
图5-1
2.功能界面:
图5-2
3.录入功能:
图5-3
图5-4
4.消费还款功能:
图5-5
5.使用记录界面:
图5-6
1所有账单:
图5-7
2已出账单:
图5-8
3未出账单:
图5-9
4上季度账单:
6.还款提醒:
图5-10
7.所有信用卡信息:
图5-11
8.查找界面:
图5-12
1按卡号查找:
图5-13
图5-14
图5-15
2按消费金额查找:
图5-16
图5-17
图5-18
图5-19
3按消费日期查找:
图5-20
9.不良欠款
图5-21
10.退出界面:
图5-22
第6章总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
在这一周的程序设计练习当中并不是一帆风顺的。
刚开始到指导老师面前听了一大堆,我根本就不知道要做什么,用什么做。
我并没有被眼前的一点小困难所击倒,我相信困难总是有办法解决的。
于是开始的两天我就在图书馆找相关图书。
通过两天的原始知识积累后,我开始尝试着按照自己的想法做了一些小系统。
起初会出现很多问题,不是这儿少了就是那错了。
在这样那样的错误中我明白编程是一件很严谨的事,容不得半点错误,一步走错,全盘皆输!
在出现错误读不懂时我通常是上网搜索错误原因,往往一个问题的解决方法是多种多样的,各自有其精妙之处。
有的解决方法浅显易懂,但是易出现漏洞;
有的复杂难懂,但是逻辑紧密,无丝毫破绽。
编程是一门逻辑的游戏,一但了解其游戏规则,便发现乐趣无穷。
有时候自己有很多的想法,但由于自己的水平有限不能很好地实现,每到那时候我就有一种强烈的愿望想要把问题解决,做出自己想的东西。
一但解决了问题,那种快乐非亲身经历者不能感受!
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。
附录:
程序代码
#include<
iostream>
algorithm>
fstream>
cstdio>
string>
ctime>
//获取时间的文件的声明
usingnamespacestd;
//信用卡类
classCard
public:
charcardnum[20];
charname[20];
intstartday;
intbackday;
doubleyu_e;
doubleSum;
//欠款总额
doubleYU_e;
//初始额度
Card()
{
}
//初始化
voidjie_huan(doublemoney,char*type)
if(strcmp(type,"
消费"
)==0)
{
yu_e=yu_e-money;
Sum=Sum+money;
}
elseif(strcmp(type,"
还款"
yu_e=yu_e+money;
Sum=Sum-money;
}
//录入
//提醒函数
//消费记录类
classRecord:
publicCard
Record()
voidjidu_jilu();
voidjin_e();
voidkahao();
voidchaozhaojiemian();
voidriqi();
voidxinyong();
private:
chartype[20];
constintCMAX=20;
//信用卡存储数量
constintRMAX=100;
//消费记录存储数量
Cardcard[CMAX];
Recordrecord[RMAX];
intc_num=0,r_num=0;
/*---------------------------------------------Card类实现------------------------------------------------*/
//初始化信用卡函数
voidCard:
:
Set(char*cnum,char*cname,intcstartday,intcbackday,doublecyu_e,doubleCYU_e)
strcpy(cardnum,cnum);
strcpy(name,cname);
startday=cstartday;
backday=cbackday;
yu_e=cyu_e;
YU_e=CYU_e;
}
/*--------------------------------------录入模块------------------------------------*/
luru()
{
inta;
system("
cls"
);
cout<
<
"
\t*************************************************\n"
;
\t||个人信用卡管理系统||\n"
\t||----录入信息||\n"
\t*************************************************\n\n"
jixu:
请输入信用卡号:
\n"
cin>
>
cardnum;
boolright=true;
for(intj=0;
j<
c_num;
j++)
if(strcmp(card[j].cardnum,cardnum)==0)
right=false;
break;
while(!
right)
cout<
已经保存有这个卡号\n"
请输入新的卡号:
cin>
right=true;
for(intj=0;
if(strcmp(card[j].cardnum,cardnum)==0)
{
right=false;
break;
}
请输入信用卡名称:
name;
start:
请输入账单日(1-31):
startday;
if(1>
startday||startday>
31)
输入有误!
请重新输入\n"
gotostart;
back:
请输入还款日(1-31):
backday;
backday||backday>
gotoback;
请输入余额:
yu_e;
YU_e=yu_e;
card[c_num].Set(cardnum,name,startday,backday,yu_e,YU_e);
c_num++;
录入成功,回车继续\n"
cin.get();
ifstart:
\t||1.继续录入2.返回主菜单||\n"
选择您要进行的操作:
a;
if(a==1)
gotojixu;
if(a==2)
if(a!
=1&
&
a!
=2)
输入错误,请重新输入(1/2)\n"
cin.get();
gotoifstart;
/*--------------------------------------------------*/
//查找函数
intCard:
searchCard()
inti=-1;
boolright=false;
i=j;
right=true;
没有找到您刚刚输入的这个卡号\n"
请重新输入卡号:
i=j;
right=true;
}
returni;
/*--------------------------------------提醒模块--------------------------*/
tixing()
longt=time(NULL);
tm*pt=localtime(&
t);
intmonth=pt->
tm_mon+1;
intday=pt->
tm_mday;
\t\t==================================================\n"
\t\t||个人信用卡管理系统||\n"
\t\t==================================================\n\n"
\t\t还款提醒\n\n"
if(!
(card[j].backday-day>
0&
card[j].backday-day<
=2&
card[j].Sum>
0||31<
=day+backday&
day+backday<
=32&
0))
continue;
卡号:
"
card[j].cardnum<
||"
名称:
card[j].name<
应还款日期:
month<
月"
card[j].backday<
日||"
金额:
card[j].Sum<
元\n\n\n"
//显示所有卡
display()
intj;
\t\t========================================\n"
\t\t||您的信用卡信息||\n"
\t\t========================================\n\n\n"
for(j=0;
账单日:
card[j].startday<
还款日:
初始额度:
card[j].YU_e<
消费额:
余额:
card[j].yu_e<
endl;
键入回车返回"
/*-------------------------------------------------------------------------------------------*/
/*----------------------Record类的实现---------------------------------------------------------------------*/
//初始化消费记录函数
voidRecord:
Set(char*cnum,char*cname,intMonth,intDay,double
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 课程设计 说明 个人 信用卡 管理 系统 大学 论文