c加加个人信用卡管理系统doc.docx

上传人:b****1 文档编号:10251665 上传时间:2023-05-24 格式:DOCX 页数:60 大小:764.84KB
下载 相关 举报
c加加个人信用卡管理系统doc.docx_第1页
第1页 / 共60页
c加加个人信用卡管理系统doc.docx_第2页
第2页 / 共60页
c加加个人信用卡管理系统doc.docx_第3页
第3页 / 共60页
c加加个人信用卡管理系统doc.docx_第4页
第4页 / 共60页
c加加个人信用卡管理系统doc.docx_第5页
第5页 / 共60页
c加加个人信用卡管理系统doc.docx_第6页
第6页 / 共60页
c加加个人信用卡管理系统doc.docx_第7页
第7页 / 共60页
c加加个人信用卡管理系统doc.docx_第8页
第8页 / 共60页
c加加个人信用卡管理系统doc.docx_第9页
第9页 / 共60页
c加加个人信用卡管理系统doc.docx_第10页
第10页 / 共60页
c加加个人信用卡管理系统doc.docx_第11页
第11页 / 共60页
c加加个人信用卡管理系统doc.docx_第12页
第12页 / 共60页
c加加个人信用卡管理系统doc.docx_第13页
第13页 / 共60页
c加加个人信用卡管理系统doc.docx_第14页
第14页 / 共60页
c加加个人信用卡管理系统doc.docx_第15页
第15页 / 共60页
c加加个人信用卡管理系统doc.docx_第16页
第16页 / 共60页
c加加个人信用卡管理系统doc.docx_第17页
第17页 / 共60页
c加加个人信用卡管理系统doc.docx_第18页
第18页 / 共60页
c加加个人信用卡管理系统doc.docx_第19页
第19页 / 共60页
c加加个人信用卡管理系统doc.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c加加个人信用卡管理系统doc.docx

《c加加个人信用卡管理系统doc.docx》由会员分享,可在线阅读,更多相关《c加加个人信用卡管理系统doc.docx(60页珍藏版)》请在冰点文库上搜索。

c加加个人信用卡管理系统doc.docx

c加加个人信用卡管理系统doc

 

《C++程序设计》

课程设计说明书

 

题目

个人信用卡管理系统

学号

1567111213

姓名

张雨

指导教师

刘立新

日期

2016-7-3

内蒙古科技大学课程设计任务书

课程名称

C++语言课程设计

设计题目

个人信用卡管理系统的设计

指导教师

刘立新

时间

2015-2016春学期第17、18周

一、教学要求

1.巩固和加深学生对C++语言课程的基本知识的理解和掌握

2.掌握C++语言编程和程序调试的基本技能

3.利用C++语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C++语言解决实际问题的能力

二、设计资料及参数

用C++设计一个系统,能提供下列服务:

(1)录入信用卡信息,格式为:

卡号

名称

账单日

还款日

余额

6542301100220605

中行淘宝卡

5号

25

-126.5

(2)增加功能。

输入卡号或名称向信用卡使用记录中增加一条记录;格式为:

卡号

名称

日期

金额

类型

6542301100220605

中行淘宝卡

11-2

12.4

消费(或还款)

如果是消费则信用卡余额减去金额,如果是还款则信用卡余额加上金额。

(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的派生类)

ClassCard

{

数据成员:

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

#include

#include

#include

#include

#include//获取时间的文件的声明

usingnamespacestd;

//信用卡类

classCard

{

public:

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)

{

if(strcmp(type,"消费")==0)

{

yu_e=yu_e-money;

Sum=Sum+money;

}

elseif(strcmp(type,"还款")==0)

{

yu_e=yu_e+money;

Sum=Sum-money;

}

}

voidluru();//录入

voidtixing();//提醒函数

voiddisplay();

intsearchCard();

};

//消费记录类

classRecord:

publicCard

{

public:

Record()

{

}

voidSet(char*cnum,char*cname,intMonth,intDay,doubleMoney,char*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=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;

}

/*--------------------------------------录入模块------------------------------------*/

voidCard:

:

luru()

{

charcardnum[20];

charname[20];

intstartday;

intbackday;

doubleyu_e;

doubleYU_e;

inta;

system("cls");

cout<<"\t*************************************************\n";

cout<<"\t||个人信用卡管理系统||\n";

cout<<"\t||----录入信息||\n";

cout<<"\t*************************************************\n\n";

jixu:

cout<<"请输入信用卡号:

\n";

cin>>cardnum;

boolright=true;

for(intj=0;j

{

if(strcmp(card[j].cardnum,cardnum)==0)

{

right=false;

break;

}

}

while(!

right)

{

cout<<"已经保存有这个卡号\n";

cout<<"请输入新的卡号:

\n";

cin>>cardnum;

right=true;

for(intj=0;j

{

if(strcmp(card[j].cardnum,cardnum)==0)

{

right=false;

break;

}

}

}

cout<<"请输入信用卡名称:

\n";

cin>>name;

start:

cout<<"请输入账单日(1-31):

\n";

cin>>startday;

if(1>startday||startday>31)

{

cout<<"输入有误!

请重新输入\n";

gotostart;

}

back:

cout<<"请输入还款日(1-31):

\n";

cin>>backday;

if(1>backday||backday>31)

{

cout<<"输入有误!

请重新输入\n";

gotoback;

}

cout<<"请输入余额:

\n";

cin>>yu_e;

YU_e=yu_e;

card[c_num].Set(cardnum,name,startday,backday,yu_e,YU_e);

c_num++;

cout<<"录入成功,回车继续\n";

cin.get();

cin.get();

ifstart:

system("cls");

cout<<"\t*************************************************\n";

cout<<"\t||1.继续录入2.返回主菜单||\n";

cout<<"\t*************************************************\n\n";

cout<<"选择您要进行的操作:

";

cin>>a;

if(a==1)

{

gotojixu;

}

if(a==2)

{

}

if(a!

=1&&a!

=2)

{

cout<<"输入错误,请重新输入(1/2)\n";

cin.get();

cin.get();

gotoifstart;

}

}

/*--------------------------------------------------*/

//查找函数

intCard:

:

searchCard()

{

inti=-1;

boolright=false;

charcardnum[20];

cout<<"请输入信用卡号:

\n";

cin>>cardnum;

for(intj=0;j

{

if(strcmp(card[j].cardnum,cardnum)==0)

{

i=j;

right=true;

break;

}

}

while(!

right)

{

cout<<"没有找到您刚刚输入的这个卡号\n";

cout<<"请重新输入卡号:

";

cin>>cardnum;

for(intj=0;j

{

if(strcmp(card[j].cardnum,cardnum)==0)

{

i=j;

right=true;

break;

}

}

}

returni;

}

/*--------------------------------------提醒模块--------------------------*/

voidCard:

:

tixing()

{

longt=time(NULL);

tm*pt=localtime(&t);

intmonth=pt->tm_mon+1;

intday=pt->tm_mday;

system("cls");

cout<<"\t\t==================================================\n";

cout<<"\t\t||个人信用卡管理系统||\n";

cout<<"\t\t==================================================\n\n";

cout<<"\t\t还款提醒\n\n";

for(intj=0;j

{

if(!

(card[j].backday-day>0&&card[j].backday-day<=2&&card[j].Sum>0||31<=day+backday&&day+backday<=32&&card[j].Sum>0))

continue;

cout<<"卡号:

"<

cout<<"名称:

"<

cout<<"应还款日期:

"<

cout<

cout<<"金额:

"<

}

}

//显示所有卡

voidCard:

:

display()

{

intj;

cout<<"\t\t========================================\n";

cout<<"\t\t||您的信用卡信息||\n";

cout<<"\t\t========================================\n\n\n";

for(j=0;j

{

cout<<"卡号:

"<

cout<<"名称:

"<

cout<<"账单日:

"<

cout<<"还款日:

"<

cout<<"初始额度:

"<

cout<<"消费额:

"<

cout<<"余额:

"<

}

cout<<"键入回车返回";

}

//

/*-------------------------------------------------------------------------------------------*/

/*----------------------Record类的实现---------------------------------------------------------------------*/

//初始化消费记录函数

voidRecord:

:

Set(char*cnum,char*cname,intMonth,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2