C++实现简易的ATM

这篇博客介绍了一个使用C++实现的简易ATM系统,包括开户、登录、存款、取款和用户信息查询等功能。适合初学者了解基本的编程流程和控制结构。
摘要由CSDN通过智能技术生成

主要实现的功能有:
1. 开户
2. 登录
3. 存钱
4. 取钱
5. 前台用户信息查询
具体实现代码如下(刚刚入门,如有不足,请大佬指出):

#include <iostream>
#include <string>
#include <time.h>

using namespace std;

//用户
class BankCard
{
public:
    string Username;          //姓名
    string CardNumber;        //身份证号码
    string Password;          //银行卡密码
    int  Accountnumber;       //银行卡账户
    float  fMoney;            //余额
    BankCard* next;
};

//函数声明
void StartShow();                    //主界面
void LogInShow();                    //操作页面
void HeadShow();                     //显示头
int OpenAccount();                   //开户
int LogIn();                         //登录
void EnquiryBalance(BankCard*);         //查询余额
void SaveMoney(BankCard*);              //存钱
void WithdrawMoney(BankCard*);          //取钱
void EnquiryCentre();                //前台用户信息查询中心

//全局变量
BankCard* pHead = new BankCard;

int main()
{
    pHead->next = NULL;
    StartShow();
    char ch;
    cout << "\t\t\t";
    cin >> ch;
    while (1)
    {
        switch (ch)
        {
        case '1'://开户
            OpenAccount();
            break;
        case '2'://登录
            LogIn();
            break;
        case '3'://前台客户信息查询中心
            EnquiryCentre();
            break;
        default:
            cout << "输入错误,请重新输入" << endl;
            break;
        }
        system("cls");
        StartShow();
        cout << "\t\t\t";
        cin >> ch;
    }
    return 0;
}

//显示头
void HeadShow()
{
    cout << "\t\t\t**************************************************" << endl;
    cout << "\t\t\t***************欢迎来到中国人民银行***************" << endl;
    cout << "\t\t\t**************************************************" << endl;
}
//主界面实现
void StartShow()
{
    cout << "\t\t\t**************************************************" << endl;
    cout << "\t\t\t***************欢迎来到中国人民银行***************" << endl;
    cout << "\t\t\t**************************************************" << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                      1.开户                      " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                      2.登录                      " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t               3.前台客户信息查询中心             " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                  4.请选择您的需求                " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
}

//登录实现
void LogInShow()
{
    cout << "\t\t\t**************************************************" << endl;
    cout << "\t\t\t***************欢迎来到中国人民银行***************" << endl;
    cout << "\t\t\t**************************************************" << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                     1.查询余额                   " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                       2.存钱                     " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                       3.取钱                     " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
    cout << "\t\t\t                      4.退出登录                  " << endl;
    cout << "\t\t\t--------------------------------------------------" << endl;
}

//开户
int OpenAccount()
{
    BankCard* pTail = pHead;
    while (pTail->next != NULL)
    {
        pTail = pTail->next;
    }
    BankCard* pNew = new BankCard;
    pNew->next = NULL;
    cout << "\t\t\t请输入你的姓名:";
    cin >> (pNew->Username);
    cout << "\t\t\t请输入你的身份证号码:";
    cin >> (pNew->CardNumber);
    string Password;
    cout << "\t\t\t请设置你的银行卡密码:"  ;
    cin >> Password;
    cout << "\t\t\t请再次输入您设置的密码:"  ;
    cin >> (pNew->Password);
    while (Password != pNew->Password)
    {
        cout << "\t\t\t两次输入的密码不一致" << endl;
        cout << "\t\t\t请重新设置你的银行卡密码:"  ;
        cin >> Password;
        cout << "\t\t\t请再次输入您设置的密码:" ;
        cin >> (pNew->Password);
    } 
    pNew->Accountnumber = rand()%900000+100000;//随机生成卡号
    pNew->fMoney = 0;
    cout << "\t\t\t开户成功!" << endl;
    cout << "\t\t\t您的银行卡账号为:" << pNew->Accountnumber << endl;
    system("pause");
    system("cls");
    pTail->next = pNew;
    pTail = pNew;
    return 0;//成功
}

//登录
int LogIn()
{
    BankCard* Acc= pHead;
    system("cls");
    string Password;          //银行卡密码
    int  Accountnumber;      //银行卡账户
    HeadShow();
    cout << "\t\t\t请输入银行卡账号:";
    cin >> Accountnumber;
    while (Acc->Accountnumber != Accountnumber) //判断输入的账号是否存在
    {
        if (Acc->next == NULL)
        {
            cout << "\t\t\t银行卡账号错误请重新输入:" ;
            cin >> Accountnumber;
        }
        else
        {
            Acc = Acc->next;
        }
    }
    cout << "\t\t\t请输入银行卡密码:" ;
    cin >> Password;
    while (Acc->Password != Password)
    {
        cout << "\t\t\t密码错误!请重新输入:" ;
        cin >> Password;
    }
    system("cls");//清屏
    LogInShow();
    char ch;
    cin >> ch;
    while (1)
    {
        switch (ch)
        {
        case '1'://查询余额
            EnquiryBalance(Acc);
            break;
        case '2'://存钱
            SaveMoney(Acc);
            break;
        case '3'://取钱
            WithdrawMoney(Acc);
            break;
        case '4'://退出登录
            return 0;
        default:
            cout << "\t\t\t输入错误,请重新输入:" << endl;
            break;
        }
        system("pause");
        system("cls");
        LogInShow();
        cin >> ch;
    }
    return 0;
}
//查询余额
void EnquiryBalance(BankCard* Acc)
{
    cout << "\t\t\t您的银行卡余额为:" << Acc->fMoney << endl;
}
//存钱
void SaveMoney(BankCard* Acc)
{
    int fMoney;
    cout << "\t\t\t请输入您的存款金额:" ;
    cin >> fMoney;
    Acc->fMoney += fMoney;
    cout << "\t\t\t存款成功!" << endl;
}

//取钱
void WithdrawMoney(BankCard* Acc)
{
    int fMoney;
    cout << "\t\t\t请输入您的取款金额:" ;
    cin >> fMoney;
    Acc->fMoney -= fMoney;
    cout << "\t\t\t取款成功!" << endl;
}

//前台用户信息查询中心
void EnquiryCentre()
{
    BankCard* Acc=pHead;
    string Password;          //银行卡密码
    int Accountnumber;        //银行卡账户
    cout << "\t\t\t请输入银行卡账号:";
    cin >> Accountnumber;
    while (Acc->Accountnumber != Accountnumber) //判断输入的账号是否存在
    {
        if (Acc->next == NULL)
        {
            cout << "\t\t\t银行卡账号错误请重新输入:";
            cin >> Accountnumber;
        }
        else
        {
            Acc = Acc->next;
        }
    }
    cout << "\t\t\t请输入银行卡密码:";
    cin >> Password;
    while (Acc->Password != Password)
    {
        cout << "\t\t\t密码错误!请重新输入:";
        cin >> Password;
    }
    system("cls");
    HeadShow();
    cout << "\t\t\t持卡人姓名为:" << Acc->Username << endl;
    cout << "\t\t\t您的银行卡余额为:" << Acc->fMoney << endl;
    cout << "\t\t\t您的身份证号码为:" << Acc->CardNumber << endl;
    system("pause");
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值