第12周项目4(2)-模拟银行系统完善 (终于做完了\(^o^)/)

来源:互联网 发布:java字符串编码解码 编辑:程序博客网 时间:2024/04/20 08:49
/**Copyright (c) 2014, 烟台大学计算机学院*All rights reserved.*文件名称:week12-project4-2.cpp*作者:高赞*完成日期:2014年 11 月 14 日*版本号:v1.0**问题描述:对模拟银行系统的进一步完善,增加密码次数限制和重复确认等功能*/#include <iostream>#include <string>#include <stdlib.h>using namespace std;void stars();void showbalance ();double drawmoney(double);int pass (int);double deposit(double);double transferaccounts(double);string updatepassword(string);string PASSWORD="gaozan0902";////定义字符串变量作为密码;需要增加改密功能,不再用constdouble balance=10000;int main(){    int n=0,choose;    cout << "欢迎光临!" << endl         << "请输入密码:";    n=pass(n);    if (n==2)    {        cout << "对不起,您的银行卡已被冻结,请持相关身份证件到银行柜台解冻..." << endl;        exit(0);//尝试运用一下exit函数终止程序,需包含头文件#include <stdlib.h>    }    while (1)//设置一个死循环,程序里用break终止    {        cout << endl             << "*您可以办理以下业务:" << endl             << "*1.查询" << endl             << "*2.取款" << endl             << "*3.存款" << endl             << "*4.转账" << endl             << "*5.改密" << endl             << "*0.退出" << endl             << "请输入(0-5):" ;        cin >> choose;        if (choose==0)        {            cout << "谢谢使用,欢迎您下次再来!" << endl;            break;//此处跳出循环        }        switch (choose)        {        case 1:            showbalance();//输出余额            break;        case 2:            balance=drawmoney(balance);//取款并从余额中扣除相应金额            break;        case 3:            balance=deposit(balance);//存款并加上相应金额            break;        case 4:            balance= transferaccounts(balance);//转账并扣除相应金额            break;        case 5:            PASSWORD=updatepassword(PASSWORD);//更改PASSWORD            break;        default:            cout << "输入不符合要求,请重新输入!"  << endl;        }        cout << "系统正在返回..." << endl;        stars();//每次运行程序分隔开来        cout << endl;    }    return 0;}void stars(){    for (int n=1; n<=20; ++n)        cout << "*";}void showbalance(){    cout << "您当前的余额是" << balance << "元。" << endl;}int pass(int n){    string userpassword="0";    cin >> userpassword;    while (PASSWORD!=userpassword && n<2)    {        ++n;        cout << "第" << n << "次输入密码错误!" << endl             << "若三次密码错误 系统将冻结您的银行卡!" << endl             << "请输入密码:";        cin >> userpassword;    }    return n;}double drawmoney(double n){    double m;    cout << "请输入取款余额:";    cin >> m;    if((n-m)>=0)    {        n-=m;        cout << "取款成功,您当前的余额是" << n << "元。" << endl;    }    else cout << "余额不足,取款失败!" << endl;    return n;}double deposit(double n){    double m;    cout << "欢迎存款,请输入您要存款的金额:";    cin >> m;    n+=m;    cout << "存款成功,您当前的余额是" << n << "元。" << endl;    return n;}double transferaccounts(double n){    string i1,i2;    double m;    cout << "请输入转账余额:";    cin >> m;    cout << "请输入对方的账户:";    cin >> i1;    cout << "请再一次确认对方账户:";//增加对方账户确认功能    cin >> i2;    if (i1==i2)    {        if((n-m)>=0)        {            n-=m;            cout << "转账成功,您当前的余额是" << n << "元。" << endl;        }        else            cout  << "余额不足,转账失败!" << endl;    }    else cout << "两次输入的对方账户不一致,转账失败!" << endl;    return n;}string updatepassword(string PASSWORD){    string oldpassword,newpassword1,newpassword2;    cout << "请输入旧密码:";    cin >> oldpassword;    if (PASSWORD==oldpassword)    {        cout << "请输入新密码:";        cin >> newpassword1;        cout << "请确认新密码:";  //密码重复确认        cin >> newpassword2;        if (newpassword1==newpassword2)        {            PASSWORD=newpassword1;            cout << "密码修改成功!" << endl;        }        else cout << "两次输入密码不一样,更改失败!" << endl;    }    else cout << "密码错误,更改失败!" << endl;    return PASSWORD;}

运算结果:

  

  

 

  

 总结心得:

 ㊣ 一个人花了一整天时间终于完成了这个项目。。。 

 ㊣每次程序都要反复执行,把能想到的东西都作死地试一遍,才能发现隐藏的BUG和未完善的功能。。。

 ㊣如果发现还有什么BUG,请 ↓  回复我。。。 (╯▽╰)

0 0
原创粉丝点击