c++简易银行卡管理系统.docx
- 文档编号:25831855
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:19
- 大小:246.13KB
c++简易银行卡管理系统.docx
《c++简易银行卡管理系统.docx》由会员分享,可在线阅读,更多相关《c++简易银行卡管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
c++简易银行卡管理系统
华北水利水电大学
NorthChinaInstituteofWaterConservancyandHydroelectricPower
课程设计
题目简易银行卡管理系统
院
系
信息工程学院
专
业
计算机科学与技术
姓
名
张乐民
学
号
201215211
指导
教师
张帆
1题目的内容及要求
1.1简易银行卡管理系统
(1)开户:
创建一个新的账户,接受用户输入的身份证号,以及账户密码,判断用户输入的身份证号是否唯一且账户密码是否符合要求,如验证成功则为该用户生成一个唯一的帐号。
(2)存款:
在用户输入正确的帐号和密码的情况下,接受用户输入的存款金额,并对该帐号的存款信息进行更新。
(3)取款:
在用户输入正确的帐号和密码的情况下,接受用户输入的取款金额。
取款金额不应该大于当前帐号存款金额,当取款金额不大于当前帐号存款金额时,执行取款操作,并对该帐户的存款信息进行更新。
(4)挂失:
在用户输入正确的帐号和密码的情况下,接受用户挂失操作。
当帐号挂失后,与该帐号相关的操作都将被禁止。
(5)销户:
在用户输入正确的帐号和密码的情况下,接受用户销户。
当用户销户后,该帐号将被永久删除。
(6)转帐:
在用户输入正确的帐号和密码的情况下,接受用户转账操作,转帐金额不应该大于当前帐号存款金额,当转帐金额不大于当前帐号存款金额时,执行转帐操作,并对该帐户的存款信息及转帐的接受账户的存款信息进行更新。
(7)修改账户密码:
在用户输入正确的帐号和密码的情况下,接受用户修改密码操作,用户输入的原密码,若用户输入的密码与原密码匹配,则接受用户输入的新密码,若用户两个输入的密码相同,则修改账户密码,并对数据文件进行更新操作。
(8)查看余额:
在用户输入正确的帐号和密码的情况下,接受用户查看余额操作,该
模块只涉及数据查询,并不涉及数据文件更新操作。
(9)查看用户交易历史:
在用户输入正确的帐号和密码的情况下,接受用户查看用户交易历史操作,系统将显示当前账户的最近的存、取款操作记录,该模块只涉及数据查询,并不涉及数据文件更新操作。
2小组成员分工及本人任务
实验内容共分为九个子功能,设计时采用模块化设计,每人分配三个功能,独立
完成,最后进行综合调试。
张乐民:
存款取款转账
杜世豪:
修改帐户密码查看余额查看用户交易历史
娄旭阳:
开户挂失销户
3需求分析
3.1总体情况:
定义结构体数组,数据成员主要有用户名、密码、交易历史、挂失标志、余额、身份证等内容,再定义公有类,在主界面上,可供用户进行开户、存取款、转账、查看余额、交易历史、挂失、销户等操作,为了实现界面的回复,定义了大量的函数调用,在控制用户的循环操作时,主要采用了while及ifelse循环。
3.2本人任务部分:
存款:
用户自主实现存款功能,遇到问题时,可给予一定提示,存款之后,对数据进行更新。
取款:
用户自主实现存款功能,遇到问题时,可给予一定提示,存款之后,对数据进行更新。
转账:
用户自主实现转账功能,遇到问题时,可给予一定提示,转账之后,对双方账户的数据进行更新。
4概要设计
总体数据结构为结构体数组设计,采用顺序存储方式,总体的程序设计没有涉及太过复杂的数据结构,可采用较为简单的顺序存储方式。
structSAccount
{
intusername;//整型定义用户名
intpassword;//整型定义密码
intid;//整型定义身份证号
intmoney;//整型定义余额
intlost;//整型定义挂失
charhistory[1024];//字符型定义历史
}account[40];//结构体数组数量最多为40个主函数将实现检测登录的账号密码是否匹配,在登录成功之后,才会调用存款、取款、转账函数,进入相对应的界面。
转账中,转账的对象的用户名将在主函数中给出,然后调用转账函数,对用户名是否存在进行判断。
定义WhereUser函数即为
找到用户位置,在转账中调用,找到转账对象的位置,对其的余额进行计算。
5详细设计
5.1类型定义
均在程序定义了整型常量与字符串型变量
5.2算法描述
(1)存款:
输入界面,对存入金额的判断,符合要求时,对余额进行更新,并把新
的数据写入至文件中。
(2)取款:
输入界面,对取款金额进行判断,当取款金额小于余额时,取款成功,
更新余额及交易历史。
(3)转帐:
检查转账账号是否存在,存在时,当转账金额小于余额时,可进行转账,
对双方账户信息进行更新,不存在时,转账失败。
就转账进行详细介绍。
主函数:
case4:
{
system("cls");
intusername;
cout<<"请输入你要转入的账号:
";
cin>>username;
Virement(num,username);
return1;
}
break;
调用至voidVirement(intnum,intusername)中,使用if(CheckUsername(username))else语句对输入的帐号进行判断,帐号存在时,输入转账金额,当转账金额小于
账户余额时,操作成功,找到转账对象的位置,对双方余额进行计算:
intn=WhereUser(username);
account[num].money-=a;account[n].money+=a;
然后定义字符串型变量:
charstr1[10];
charstr2[1024];
charstr3[1024];
strcpy(str2,account[num].history);
itoa(a,str1,10);
wsprintf(str3,"%s取出%s元”,str2,str1);
strcpy(account[num].history,str3);
UpdateAllfile(account);
使用strcpy字符串复制函数,将str1,str2的数值赋给str3,将str3的值赋给account[num].history交易历史,然后更新所有数据到文件,每次操作,如存取款,都必须对余额进行计算,同时更新交易历史。
6源代码:
#include
#include
#include
#include
#include
#include
#defineMAX1024
structSAccount
{
intusername;
intpassword;
intid;
intmoney;
intlost;
charhistory[1024];
}account[40];
classCAccount
{
public:
intusername;/账号intpassword;//密码intid;//身份证
intmoney;〃余额intlost;//挂失标志
char*history;//历史
intOpenAccount(intid,intpassword);//开户(返回一个账号)
boolCheckld(intid,SAccountsa[]);〃检查是否存在ID
};
username
************************
存在true
boolCheckUsername(intusername)
{
intcount=GetCount();
Readfile(account,count);
for(inti=0;i { if(username==account[i].username)returntrue; returnfalse; 检查账号密码是否匹配 *******************************boolCheckPassword(intusername,intpassword) { intcount=GetCount(); Readfile(account,count); for(inti=0;i { if(username==account[i].username&&password==account[i].password)returntrue; }returnfalse; } 找到用户位置 11************************************ *****************************************intWhereUser(intusername) { intcount=GetCount(); Readfile(account,count); for(inti=0;i { if(username==account[i].username)returni; } ********************************************** ********************************************************************** ***** voidSaveMoney(intnum)//存款 { inta; coutvv"请问你要存入的金额为: "< cin>>a; while(a<=0) { cout«"输入错误,请重新输入: "< cin>>a; } intcount=GetCount(); Readfile(account,count);account[num].money=account[num].money+a;cout«"操作已成功"< cout«"您已成功存入:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 简易 银行卡 管理 系统