个人信用卡管理系统Word文档下载推荐.docx
- 文档编号:20826378
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:35
- 大小:504.38KB
个人信用卡管理系统Word文档下载推荐.docx
《个人信用卡管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《个人信用卡管理系统Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。
类型
11-2
12.4
消费(或还款)
如果是消费则信用卡余额减去金额,如果是还款则信用卡余额加上金额。
(3)查询功能。
查询某个信用卡详细的使用记录;
可以查询已出账单,即本月账单日和上月账单日之间的消费记录和消费总额;
查询未出账单,及本月账单日之后的消费记录和消费总额。
(4)提醒功能。
在某个信用卡还款日期的前2天给出提示信息,提示要还款的总额。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和力一法);
第1章需求分析
1.1引言
C++语言是目前公认的热门编程语言之一。
C++是在C语言基础上发展演变而来的一种面向对象程序设计语言。
它既支持面向过程的程序设计方法,也支持面向对象的程序设计方法。
C++全面兼容了C语言,但是C++本身也是一个完整的程序设计语言。
它在面向过程方面不但对C语言进行了扩展,而且提供了比C更严格,更安全的语法要求。
同时C++增加了面向对象编程、数据抽象、类属编程等技术支持,通过继承和多态性,使程序具有很高的可重用性,是软件的开发和维护更加方便。
它是目前应用最广的面向对象程序设计语言之一。
1.2任务概述
个人信用卡管理系统的各种基本数据的录入、添加、删除、显示、查询、类型及退出系统。
1.3数据描述
个人信用卡管理系统中包括创建账号,查询已有账号信息,添加新用户,类型,还款人员查询,显示全部用户,删除账户,退出等(帐号不重复)。
试设计一个个人信用卡管理系统,使之能提供以下功能:
个人信用卡信息录入功能--输入;
个人信用卡信息显示功能--输出;
查询功能:
(至少一种查询方式);
☻按卡号查询;
☻按户名查询;
个人信用卡管理系统的添加信息、删除信息等功能。
1.4功能需求
(1)个人信用卡信息录入添加功能:
个人信用卡信息用文件保存,用户录入一条新记录信息后,这些信息就存入到相应的文件中(可以考虑结构体类型数组来操作);
文件信息不超过200条记录,即数组长度可固定为200;
其中包括录入个人信用卡的卡号、户名、开户日期等具体信息。
(2)个人信用卡信息删除功能:
根据用户输入需要删除的序号,查找该条记录,若找到该记录,可对此人的相应数据进行删除,即对该记录进行标记,当重新写入文件里,不予写入,若未找到该记录,提示用户“无此人信息”,然后再继续根据提示进行删除。
(3)个人信用卡信息查询功能:
用户可以根据卡号,户名等条件在数组中进行查询,若能找到该记录,则在屏幕上输出符合条件的记录信息,否则,打印出“无此人信息”的提示信息。
然后再根据之后的提示进行查询。
(4)系统其他功能模块:
根据课题适当加入相应的数据信息,拓展功能,开阔思路。
注:
个人信用卡管理系统中包括卡号、户名、开户日、还款日等信息(卡号不重复)。
1.5性能需求
(1)构造函数功能:
bank()完成类中构造函数的构造功能。
(2)初始化功能:
例如:
voidset()完成初始化信息,进行第一次对信息的录入功能。
(3)查询功能:
voidchaxun()完成查询账户的使用记录功能。
(4)添加功能:
voidadd()完成添加某用户信息的功能。
(5)显示功能:
voiddisplay()完成显示全部用户信息的功能。
(6)删除功能:
voiddel()完成删除全部用户信息的功能。
(7)显示还款信息:
voidnews()完成显示还款人员信息功能。
1.6运行需求
根据题目要求,由于个人信用卡信息是存放在文件中的,所以应该让文件提供输入、输出等操作功能;
在程序中需要浏览个人信用卡的信息,应该提供显示、查询等操作;
另外还应该提供键盘式选择菜单实现功能选择。
1.7任务计划
(1)以文字和数字形式输入信息。
(2)程序包含录入功能,显示功能,查询功能,删除功能,添加功能,初始化功能等。
(3)若输入结果有误,则停止输入,若输入正确,则继续按照程序顺序执行。
第2章总体设计
系统的功能结构,用文字描述系统要完成的功能,用结构框图表示各个功能之间的关系。
第3章类的设计
定义格式如下:
Bank类的设计
Classbank{
数据成员:
doublemoney;
//用户余额信息
stringname,numf,numl,start,back;
//户名用户账号前八位用户账号后八位用户开户日期用户还款信息
函数成员:
bank();
//构造函数
voidset();
//初始化信息,第一次对信息的录入
voidchaxun();
//查询账户的使用记录
voidadd();
//添加某用户的信息
voidchange();
//某用户的消费和还款
voiddisplay();
//显示全部用户信息
voiddel();
//删除全部用户信息
voidnews();
//显示应该还款人员信息
};
第4章详细设计
4.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
4.2类图视图
每个文件包含哪些类和函数,可以截图说明
4.3函数的调用关系
如下图:
由主函数延伸到目录函数,再由目录函数向下延伸,各个函数之间有联系,能互相进入,
每个函数结束后都能直接退出系统!
4.4主程序流程图
4.5录入用户信息流程图
4.6修改用户信息流程图
第5章测试
程序的运行结果截图。
主界面(图1)
录入信息界面(图2)
添加信息(图3)
显示全部人员信息(图4)
消费还款界面(图5)
消费还款记录界面(图6)
还款人员界面(图7)
删除人员界面(图7)
第6章总结
在这之前我没有编写过c++的界面程序,c++上机也只是编写关于书本上课后习题的程序,验证性的编写罢了,说白了就是输入看看输出而已,没什么技术含量。
对于这次c++的课程设计,是根据学生管理系统改变过来的,并不是直接去网上找的程序,所以对我程序上的锻炼是显而易见的。
以前我曾经编写过一些关于单片机的程序,所以有一定的基础,所以这次改程序不是想象的那么困难,只是要注意一些函数之间的关系,以及各种类型的变量之间的关系,好几次错误都是把变量之间的类型搞错了,不同类型的变量之间就相等了,进而导致了错误,这是最常见的错误,也是最容易忽略的错误,要谨记!
!
虽然这次进行了c++的课程设计的训练,但是对于类,还是一个很迷糊的概念,我只能说我会用,我能解决一些关于类的基本错误,但是要我来说类到底是什么东西,我还是说不出来,浅显的看,类包括了public里面的成员函数以及private里面的数据成员,这些是直观上看见的!
其次就是头文件的使用,数据流的头文件以及其他头文件的使用。
特别要声明的一点就是usingnamespacestd的使用,不知道把这个问题拿到头文件这一部分来说合适与否,但至少我觉得拿到其他位置不合适,没有这个东西string是使用不了,在c++程序里面我们常常使用的不是char了,而是使用string了,因为这个更合适,或者说它更加的强大,有了char所不具有的功能。
感谢这次c++的课程设计让我对于这方面有了很大的提高,特别是读程序的能力,看的多了,对于自己最大的嘱咐就是,写程序不要那么死板,主要的是功能,实现的方法多了,多想想!
还有就是程序不必每句都读懂,那样既耗时可能也到不到想要的结果,看看后面的,再看前面的比较好,对于程序有了大致的了解,再看不至于那么模糊,心里已经有数了,反反复复的看看!
附录:
程序代码
#include<
iostream>
fstream>
string>
iomanip>
usingnamespacestd;
#defineM200//可以存信息总量
intN=0;
//学生总量
floatamoney[20][M],b[M]={0},bmoney[20][M];
stringatoday[20][M];
classbank
{
public:
//初始化信息,第一次对信息的录入
//查询用户信息
//添加某用户信息
//修改某用户信息
//显示全部用户信息
private:
doublemoney;
stringname,numf,numl,start,back;
//intbank:
:
num=110;
bank:
bank(){}
///初始化文件
//in是读文件out是写文件还回值是-1
voidbank:
set()
inti;
stringbanknumf,banknuml,bankname,bankstart,bankback;
doublebankmoney;
ofstreamoutfile;
outfile.open("
f1.txt"
ios:
out);
//----打开文件----
if(!
outfile)
{
cerr<
<
"
openerror"
endl;
exit
(1);
}
//----依次录入相应个数的学生信息----
for(i=0;
i<
M;
i++)
cout<
当户名输入为'
0'
时,停止输入!
请输入户名:
cin>
>
bankname;
name=bankname;
if(bankname=="
0"
)break;
if(bankname!
="
)
{
N++;
outfile<
name<
"
;
cout<
请输入前八位卡号:
cin>
banknumf;
numf=banknumf;
banknumf<
请输入后八位卡号:
banknuml;
numl=banknuml;
banknuml<
请输入账单日:
bankstart;
start=bankstart;
start<
请输入还款日:
cin>
bankback;
back=bankback;
outfile<
back<
请输入余额:
bankmoney;
money=bankmoney;
money<
}
outfile.close();
//----关闭文件----
}
display()
intk;
stringdname,dnumf,dnuml,dstart,dback;
doubledmoney;
ifstreaminfile("
in);
infile)
0openerror"
cout<
户名卡号开户日还款日余额"
for(k=0;
k<
N;
k++)
infile>
dname;
setw(9)<
dnumf;
dnuml;
setw(8)<
dstart;
dback;
dmoney;
dmoney<
infile.close();
news()
inti,w,mm;
doublemoney[M];
stringname[M],numf[M],numl[M],back[M],today,start[M],m;
m='
w=0;
//cout<
name[i];
//cout<
setw(16)<
numf[i];
numl[i];
num[i];
start[i];
back[i];
money[i];
money[i]<
}
*********请输入今日日期"
today;
mm=strcmp(back[i].c_str(),today.c_str());
//前面大正相等0
if((mm<
=0)&
&
(money[i]<
0))
cout<
//infile>
name;
num;
start;
back;
money;
w=1;
if(w==0)
无还款人员"
change()
inti,w,j;
doublebackmoney,sendmoney,money[M];
charch;
i=0;
j=0;
stringname[M],searchname,numf[M],numl[M],a1[M],a2[M],n,start[M],back[M],today;
//b[i][0]=name[i];
a1[i]=numf[i];
a2[i]=numl[i];
//b[i][1]=start[i];
//b[i][2]=back[i];
//b[i][3]=money[i];
ofstreamoutfile("
outfile)
cerr<
exit
(1);
*********a.按卡号查找b.按户名查找*********"
*********请输入a或者b!
*********"
*********请输入所用功能:
ch;
if(ch=='
a'
请输入今日日期"
请输入前八位卡号"
n;
for(i=0;
if(a1[i]==n)
{
请输入后八位卡号"
cin>
for(i=0;
{
if(a2[i]==n)
{
w=1;
j=b[i];
atoday[j][i]=today;
cout<
*********c.还款d.消费*********"
//aa还款bb消费
*********请输入c或者d!
请输入所用功能:
cin>
if(ch=='
c'
{
cout<
请输入还款金额"
cin>
backmoney;
money[i]=money[i]+backmoney;
amoney[j][i]=backmoney;
bmoney[j][i]=money[i];
}
else
请输入消费金额"
sendmoney;
money[i]=money[i]-sendmoney;
amoney[j][i]=0-sendmoney;
j++;
if(j==20)
j=0;
b[i]=j;
}
}
}
if(w!
=1)
无此人信息!
!
elseif(ch=='
b'
请输入户名"
searchname;
if(name[i]==searchname)
{
j=b[i];
atoday[j][i]=today;
if(ch=='
cout<
cin>
money[i]=money[i]+backmoney;
amoney[j][i]=backmoney;
bmoney[j][i]=money[i];
else
money[i]=money[i]-sendmoney;
amoney[j][i]=0-sendmoney;
j++;
if(j==20)
j=0;
b[i]=j;
if(w!
elsecout<
没有此选项!
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 信用卡 管理 系统