C++ATM机存取款管理系统[2024-05-12]

C++ATM机存取款管理系统[2024-05-12]

ATM机存取款管理系统

一、 题目要求
1、 问题描述
模拟银行的自动取款及使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能。

2、 信息类型和属性
银行卡信息∶卡号、持有人姓名、性别、身份证号、开卡时间、有效期限、银行卡状态(停用、正常)、级别(金卡、银卡、普通卡)、账户余额、单笔取款限额、每日最大取款限额、历史交易记录(最新的20条交易记录)等。
账户信息:开户人姓名、性别、身份证号、名下银行卡号等。

3、 功能描述
(1) 卡号、密码输入最多三次,否则直接退出系统。
(2) 取款功能:取款金额受卡余额、单笔最大取款金额的限制。
(3) 查询功能:银行卡余额查询、银行卡信息查询、账户信息查询。
(4) 更改密码:密码更改要有两次验证。
(5) 锁卡功能:实现卡被锁(停用)的功能。
(6) 注销账户︰删除该账户的信息及名下所有银行卡的信息(要求该账户所有银行卡余额为0,否则不可注销)。
(7) 注销银行卡∶删除指定的银行卡信息(要求银行卡余额为0,否则不可注销
(8) 退出系统。

4、 系统以菜单方式工作,可以设计多级菜单,执行一次操作后重新显示该级菜单。例如

(2) 数据信息以文件形式进行保存,文件中的有效数据信息记录不可少于10条。
(3) 所有系统功能的实现都是以数据文件为操作对象。
(4) 必须使用类和对象。
(5) 类要实现接口(.h)与实现(.cpp)的分离。
(6) 代码要包含必要的注释,如类的说明、函数功能说明、关键语句说明等。程序执行时要给用户提供必要的提示信息,如输入提示、输出提示、错误提示等
4、 必须使用类和对象。
5、 类要实现接口(.h)与实现(.cpp)的分离。
6、 代码要包含必要的注释,如类的说明、函数功能说明、关键语句说明等。
7、 程序执行时要给用户提供必要的提示信息,如输入提示、输出提示、错误提示等。
8、 代码截图内容必须能够看清。

源码联系UP主 -> https://space.bilibili.com/329101171



  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include<iostream> #include<string> using namespace std; class Consumer { private: long Accnumber; string conname; double Balance; long password; public: Consumer(); void login(); int Query(); int transfer(); int withdraw(); int update();//修改密码 void choose(); }; Consumer::Consumer() { Accnumber=1030070128; conname="林杰东"; Balance=10000.00; password=123456; } void Consumer::login() { long password0; int i=0; cout<<"**********欢迎登入林杰东银行**********"<<endl; cout<<endl; cout<<endl; cout<<endl; cout<<"请输入您的6位密码(错误输入不得超过3次):"; cout<<endl; cout<<endl; cout<<endl; cout<<endl; cout<<"**********欢迎登入林杰东银行**********"<<endl; while(i<3) { cout<<"密码:"; cin>>password0; i++; if(password0!=password) { cout<<"对不起,您的输入有误,请重新输入!!!"<<endl; if(i==3) { cout<<"您的错误输入已满3次,请取出您的银行卡,以免被吞卡!!!"<<endl; login(); break; } } else { cout<<"登入成功!!!"<<endl; break;} } } int Consumer::Query() { cout<<"您的用户名:"; cout<<conname<<endl; cout<<"您的账号:"; cout<<Accnumber<<endl; cout<<"您的当前余额:"; cout<<Balance<<endl; cout<<"密码:"; cout<<password<<endl; return 1; } int Consumer::transfer() { long Accnumber1,Accnumber2; double money; cout<<"请输入您要转入的账号:"; cin>>Accnumber1; if(Accnumber1==Accnumber) { cout<<"对不起,您要转入的账号是当前银行卡的账号,无法转账!!!请重新输入其他账号!!!"<<endl; return transfer(); } else { cout<<"请重新输入您要转入的账号:"; cin>>Accnumber2; if(Accnumber1==Accnumber2 ) { cout<<"请输入您要转账的金额:"; cin>>money; cout<<endl; if(Balance>=money) { Balance=Balance-money; cout<<"转账成功!!!"<<endl; cout<<"您的当前余额:"; return Balance; } else { cout<<"对不起,您当前余额不足,请重新转账!!!"<<endl; return transfer(); } } else { cout<<"您两次输入的账号有误,请重新输入!!!"<<endl; return transfer(); } } } int Consumer::update() { long password1; long password2; long password3; cout<<"请输入您的6位原密码:"; cin>>password1; if(password1!=password) { cout<<"对不起,您的输入有误,请重新输入!!!"<<endl; return update(); } else { cout<<"请输入您的6位新密码:"; cin>>password2; cout<<"请重新输入您的6位新密码:"; cin>>password3; if(password2==password3) { password=password3; cout<<"恭喜您,您的密码修改成功!!!"<<endl; cout<<"您的新密码:"; return password; } else { cout<<"对不起,您的两次输入有误,请重新输入!!!"<<endl; return update(); } } } int Consumer::withdraw() { double number; cout<<"输入要取的钱数:"; cin>>number; if(Balance<number) { cout<<"你的账号余额不足 "<<number<<"."<<endl; cout<<"取款失败!"<<endl; return withdraw(); } else { cout<<"取款成功!!!"<<endl; Balance=Balance-number; cout<<"您的当前账号余额为:"; return Balance; } } void Consumer::choose() { cout<<"1.查 询"<<endl; cout<<"2.转 账"<<endl; cout<<"3.修改密码"<<endl; cout<<"4.取 款"<<endl; cout<<"0.退出系统"<<endl; } class ATM { public: Consumer c; int menu(); }; int ATM::menu() { c.login(); int choice=0; while(choice!=5) { cout<<"**********欢迎登入林杰东银行**********"<<endl; c.choose(); cout<<"**********欢迎登入林杰东银行**********"<<endl; cout<<"请输入您的选择:"; cin>>choice; switch(choice) { case 1: cout<<c.Query()<<endl; break; case 2: cout<<c.transfer()<<endl; break; case 3: cout<<c.update()<<endl; break; case 4: cout<<c.withdraw()<<endl; break; case 0: cout<<"请取出您的银行卡,欢迎下次使用!!!"<<endl; return 0; break; default: cout <<"输入错误!请重新输入!\n\n"; break; } } } int main() { ATM atm; atm.menu(); return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值