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

本项目为一个简单的模拟银行系统,实现了基本的银行业务操作,包括查询余额、取款、存款、转账及密码修改等功能,并增加了密码错误次数限制及账户确认等细节。
/*
*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";////定义字符串变量作为密码;需要增加改密功能,不再用const
double 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,请 ↓  回复我。。。 (╯▽╰)

内容概要:本文系统阐述了基于双层优化的微电网系统规划设计方法,结合Matlab代码实现,深入探讨了微电网中储能配置、分布式能源接入、经济调度及不确定性处理等关键问题。通过构建上层规划与下层运行协同优化的双层模型,综合运用Benders分解、粒子群算法(PSO)、遗传算法(GA)等智能优化技术,实现系统投资成本与运行成本的联合最小化,并提升微电网在复杂环境下的运行效率与可靠性。文中提供了完整的仿真代码与典型算例分析,涵盖模型构建、求解流程与结果可视化,便于读者复现与拓展研究。; 适合人群:具备电力系统基础理论知识和一定Matlab编程能力的高校研究生、科研人员及从事微电网、综合能源系统设计与优化的工程技术人员,特别适用于正在开展相关课题研究或撰写高水平学术论文的研究者。; 使用场景及目标:①应用于微电网系统的容量规划、设备选址定容与多时间尺度运行优化;②支撑科研项目中双层优化模型的开发与算法验证,提升研究的技术深度与工程实用性;③辅助完成顶刊论文的复现工作,并在此基础上进行创新性方法改进与性能对比分析; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,重点理解双层优化模型的数学建模思想、变量耦合关系与迭代求解机制,同时可参考其他相关案例(如风光储氢系统、电动汽车协同调度)进行横向对比学习,以全面掌握智能优化算法在现代能源系统中的应用范式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值