第十二轴项目4-银行系统(二)

来源:互联网 发布:南京市雨花区网络问政 编辑:程序博客网 时间:2024/06/04 19:10

任务2——引入函数改善程序结构

1、数据中,用户密码、帐户余额用全局变量存储。
2、在输入密码环节,实现有限次密码输入的限制,如果三次都没有输入正确,程序将直接退出,不允许用户继续操作。
并将查验密码功能做成一个函数。

/* *Copyright (c) 2014,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2014年11月12日 *版本号:v1.0*/#include<iostream>using namespace std;int password;double money;bool pass();void work();void exit();void showbalance();double drawmoney(double money);double deposit(double money);double transferAccounts(double money);int updatePassword(int password);int main(){    password=123456;    money=10000;    cout << "麻鱼银行欢迎您的光临!" << endl;    cout << "请输入密码:";    if (pass())    {        cout<<endl;        work();    }    else        cout << "请到柜台办理密码查询后再来。" << endl;    return 0;}bool pass()// 输入密码函数&判断{    int i = 1, pass;    bool passtrue = false;    do    {        cin >> pass;        if (pass == password)        {            passtrue = true;            return passtrue;        }        else        {            i++;            if (i < 4)                cout << "密码输入错误" << i-1 << "次,再输错" << 4 - i << "次将要吞卡。" << endl;            else if (i = 4)                cout << "银行卡已被吞。" << endl;            continue;        }    }    while (passtrue = false || i < 4);}void work(){    int choice;    while (choice != 0)    {        cout << "* 您可以办理下面的业务:" << endl;        cout << "* 1.查询 2.取款 3.存款 4.转账 5.改密 0.退出" << endl;        cout << "* 请输入(0~5):";        cin >> choice;        switch (choice)        {        case 0:            exit();            break;        case 1:            showbalance();            break;// 查询        case 2:            money=drawmoney(money);            break;// 取款        case 3:            money=deposit(money);            break;// 存款        case 4:            money=transferAccounts(money);            break;// 转账        case 5:            password=updatePassword(password);            break;// 改密        default:        {            cout << "输入错误,请重新输入。" << endl;            continue;        }        }    }}void exit(){    cout << "欢迎下次光临。" << endl;}void showbalance(){    cout << "您当前的账户余额为:" << money << "元。" << endl<< endl;    work();}double drawmoney(double money){    double outmoney;    while (1)    {        cout << "请输入取款金额:";        cin >> outmoney;        if (outmoney > money)        {            cout << "对不去,余额不足。" << endl;            continue;        }        else        {            money -= outmoney;            cout << "取款后,您的余额是:" << money << "元" <<endl<<endl;        }        return money;    }}double deposit(double money){    double inmoney;    cout << "请输入存款金额:";    cin >> inmoney;    money += inmoney;    cout << "存款后,您的余额是:" << money << "元。" << endl<<endl;    return money;}double transferAccounts(double money){    double changemoney, otheraccount;    while (1)    {        cout << "请输入转账金额:";        cin >> changemoney;        cout << "请输入对方账户:";        cin >> otheraccount;        if (otheraccount > money)        {            cout << "对不去,余额不足,请重新输入。" << endl;            continue;            cout << endl;        }        else        {            money -= changemoney;            cout<<"汇款成功!"<<"您成功汇款"<<changemoney<<"元。"<<endl;            cout<<"您的余额:"<<money<<"元。"<<endl<<endl;            return money;        }    }}int updatePassword(int password){    int pass_1, pass_2;    while (1)    {        cout << "请输入旧密码:";        if (pass())        {            cout << "请输入新密码:";            cin >> pass_1;            cout << "请确认新密码:";            cin >> pass_2;            if (pass_1 == pass_2)            {                password = pass_1;                cout << "密码修改成功!" << endl<<endl;                return password;                cout << endl;                work();            }            else            {                cout << "两次密码输入不一致,请重新输入!" <<                     endl;                continue;            }        }        else        {            cout << "请联系客服。" << endl;            continue;        }    }}

运行结果:






@ Mayuko

0 0