C++笔记:模拟ATM机对储蓄卡进行操作的管理系统(基于DEVC++)

/*
模拟银行ATM机 
*/ 
#include <iostream>
#include <iomanip>//输出流控制符setw(n)函数所在头文件 
#include <conio.h>//getch()函数所在头文件 
#include <windows.h> 
using namespace std; 
int password=666666;//定义全局变量,设置银行卡密码
double balance=50000;//定义全局变量,设置银行卡额度 
/*编译器编译一个cpp源文件时,采取顺序执行的方式。因此在主函数前将所有功能函数模块进行声明,以便了解函数的详细信息,在后续代码中遇到对该函数的调用时,编译器可以提前备案*/
bool input_pass();//判断银行卡密码输入是否正确
void bank_card();//显示银行卡信息 
void work();//业务模块(包含下面的查询,存款,取款,转账,改密以及菜单选择模块) 
void menu_select();//菜单选择模块 
void display_balance();//查询模块
void save_money();//存款模式
void draw_money();//取款模式
void transfer_Accounts();//转账模块
void updatePassword();//改密模块
void color(int c); //自定义文字,背景颜色模块 
int main(int argc, char** argv) {
 bank_card();
 if(input_pass())//此处调用的函数体内需要用户输入字符串,程序中断 
 {
  work();
 }
 else
 {
  cout<<"密码错误已超出当天上限,请联系银行工作人员!"<<endl;
 }
 return 0;
}
bool input_pass()
{
 bool pass=false;//while循环条件变量,假设密码不正确
 int Ipassword;//定义输入密码变量
 int num=1;
 do
 {
  cout<<"请输入密码:";
  cin>>Ipassword;
  cout<<"(温馨提示:这是您第"<<num<<"次输入密码,三次输入密码不正确将没收银行卡)"<<endl; 
  num++;
  if(Ipassword==password)
  {
   pass=true;
  }
 }
 while(!pass&&num<4);//密码不正确并且输入次数小于4,一直循环 ,有一个条件不满足,退出while循环 
 system("cls");
 return pass;//在3次输入内密码正确 返回true,否则返回false 
}
void bank_card()
{
 cout<<"*********************银行卡*********************"<<endl;
 cout<<"*                                              *"<<endl;
 cout<<"*"<<setw(20)<<"密码:"<<password<<setw(21)<<"*"<<endl;
 cout<<"*"<<setw(20)<<"余额:"<<balance<<setw(22)<<"*"<<endl;
 cout<<"*                                              *"<<endl;
 cout<<"************************************************"<<endl;
}
void work()
{
 int select;//保存用户输入的业务选项 
 bool exit=false;//while循环条件控制变量
 color(0xC);
 cout<<"欢迎使用银行储蓄系统!"<<endl<<endl; 
 color(0xF);
 do
 {
  system("cls");
  menu_select();
  cout<<endl<<"请选择需要办理的业务:";
  cin>>select;
  switch(select)
  {
   case 1:
    display_balance();
    system("pause"); 
    break;
   case 2:
    save_money();
    system("pause"); 
    break;
   case 3:
    draw_money();
    system("pause"); 
    break;
   case 4:
    transfer_Accounts();
    system("pause"); 
    break;
   case 5:
    updatePassword();
    system("pause"); 
    break;
   case 6:
    system("cls");
    bank_card();
    cout<<"温馨提示:请取回您的银行卡!"<<endl<<endl;
    exit=true;
  }
 }while(!exit);
}
void menu_select()
{
 cout<<"**********银行储蓄系统v1.0**********"<<endl;
 cout<<"*             1.查询               *"<<endl;
 cout<<"*             2.存款               *"<<endl;
 cout<<"*             3.取款               *"<<endl;
 cout<<"*             4.转账(待完善)       *"<<endl;
 cout<<"*             5.改密               *"<<endl;
 cout<<"*             6.退出               *"<<endl;
 cout<<"************************************"<<endl;
} 
void display_balance()
{
 system("cls");
 cout<<"您的当前余额是:"<<balance<<"元"<<endl; 
}
void save_money()
{
 system("cls");
 double money;
 cout<<"请输入存款金额:";
 cin>>money;
 balance+=money;
 cout<<"存款后,您的余额是:"<<balance<<"元"<<endl;
}
void draw_money()
{
 double money;
 cout<<"请输入取款金额:";
 cin>>money;
 if(money<=balance)
 {
  balance-=money;
  cout<<"取款后您的余额是:"<<balance<<"元"<<endl;
 }
 else
 {
  cout<<"您的余额不足,取款失败"<<endl;
 }
}
void transfer_Accounts()
{
 double money;
 int account;
 cout<<"请输入转账金额:";
 cin>>money;
 cout<<"请输入对方账户:";
 cin>>account;//需要判断对方账户的有效性,待完善 
 if(money<=balance)
 {
  balance-=money;
  cout<<"转给"<<account<<"后,您的余额是:"<<balance<<"元"<<endl;
 }
 else
 {
  cout<<"您的余额不足,转账失败"<<endl;
 }
}
void updatePassword()
{
 int p1,p2;
 cout<<"请输入旧密码:";
 cin>>p1;
 if(p1!=password)
 {
  cout<<"旧密码输入不正确,不允许修改密码!"<<endl;
 }
 else
 {
  cout<<"请输入新密码:";
  cin>>p1;
  cout<<"请确认新密码:";
  cin>>p2;
  if(p1==p2)
  {
   password=p1;
   cout<<"修改密码成功!"<<endl; 
  }
  else
  {
   cout<<"两次输入不一致,修改密码失败"<<endl;
  }
 }
} 
void color(int c)
{
 HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, c);
}

输出:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资源下载:
https://download.csdn.net/download/weixin_42124234/11646967

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值