问题标题: 酷町堂:谁有AMT的代码?

0
0

0
已采纳
黄依成
黄依成
中级天翼
中级天翼
//1.补充第7行颜色输出;
//2.补充清屏和清屏前的停顿; 
//3.补充冻结账户。
//1.添加转账功能;
//2.添加强行退出功能 。 
#include <iostream>
#include <string>//字符串所需头文件 
#include <windows.h>//延迟所需头文件 
using namespace std;
int main(){
    system("color CF"); 
    //在真实使用ATM时,每次需要按Enter确认输入,每确定输入一个以后换行结束输入 
    long long sum=0,b=0,c=0,n=1,cnt=0;//sum:余额 b:充值金额 c:转出金额  
    bool flag=false;//系统结束标志 
    string s="",s2="!!!!!!!!",s3="00000",s4,s5;
    //s表示账户 s2密码 s3暂存新密码 s4确认密码 s5缓存原密码
    //系统初始化
    //系统初始化模块可以进一步丰富,增加按下任意按键进入系统的功能 
    while(n--){//模拟现实中使用ATM的情况 
        cout<<"欢迎进入系统:"<<endl;
        Sleep(1000);//停顿1000ms 使得程序更逼真 
        cout<<"系统加载中"; 
        for(int i=1;i<=6;i++){
            Sleep(500);
            cout<<".";
        }
        cout<<endl<<"该系统目前只提供一人使用,使用系统前,请注意周围环境是否安全"<<endl; 
    } 
    cout<<"请问有什么需求?"<<"\n";
    Sleep(2000);//停顿1s 
    //创建账号成功后 可以考虑增加一个登录功能 
    while(1){//双重循环 便于回到首页重新选择功能 
        while(1){//内部具体功能展示 
            char a; 
            cout<<endl<<"请选择你需要的功能"<<"\n";//为用户提供功能介绍 
            cout<<"1----创建账号"<<"\n";
            cout<<"2----重置密码"<<"\n";
            cout<<"3----充值"<<"\n"; 
            cout<<"4----查询余额"<<"\n";
            cout<<"5----转账"<<"\n";
            cout<<"6----强行退出"<<"\n";
            cout<<"#----退出系统"<<"\n";
            cin>>a;//注意需要换行输入 
            if(a=='1'){//创建账号 
                bool f1=false;//用于判断账户是否合法
                cout<<"请输入你想要创建的账户名称--(温馨提示:账户中不能有数字存在)"<<endl; 
                getline(cin,s);//在进入此功能前存在先换行输入一个字符的情况, 
                getline(cin,s);//输入账户名称
                //判断用户名是否合法--用户名可以再丰富一些 
                for(int i=0;i<s.size();i++){
                    if(s[i]>='0'&&s[i]<='9'){
                        f1=true;
                        break;
                    }
                } 
                if(f1){//用户名不合法 
                    cout<<"用户名不正确,用户创建失败"<<"\n";
                    Sleep(3000); 
                    system("cls");      
                    break; 
                }
                cout<<"账户名创建成功,请输入密码"<<"\n"; 
                getline(cin,s2);//请输入密码
                cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";
                Sleep(3000); 
                system("cls"); 
            }
            else if(a=='2'){//重置密码 
                //重置密码前,必须先保证已经创建好账号
                if(s.empty()){
                    cout<<"请先创建账号"<<'\n';
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"请输入当前账号密码"<<endl;
                bool f2=false;//默认输入的密码错误
                getline(cin,s3);//吃掉换行
                getline(cin,s3);//读入输入的原密码 
                if(s3==s2)
                    f2=true;
                //可以增加密码尝试次数 给3次输入密码机会 
                else{
                    cout<<"你不是本人,本次密码重置失败"<<endl;   
                    cnt++;  
                    if(cnt>=3)
                    {
                        cout<<"暂时冻结账户!稍后请手动重启!";
                        flag=true; 
                        cnt=0;
                        Sleep(2000); 
                        break;                       
                    }           
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                if(f2){//输入的原密码正确 
                    //s5=s2;//暂存原密码 防止新密码二次确认时出现问题 
                    cout<<"请输入新密码"<<'\n';
                    getline(cin,s3);//第一次输入新密码 
                    cout<<"请再次确认新密码"<<'\n';
                    getline(cin,s4);//再次确认新密码 
                    if(s3==s4){
                        cout<<"恭喜,密码重置成功!"<<"\n";
                        s2=s3;//更新密码 
                        Sleep(3000); 
                        system("cls");
                    }
                    else{
                        cout<<"密码重置失败,退出密码重置"<<"\n";
                        Sleep(3000); 
                        system("cls"); 
                    }    
                }   
            } 
            else if(a=='3'){//账号充值 
                //充值前,必须先保证已经创建好账号
                if(s.empty()){
                    cout<<"请先创建账号"<<'\n';
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"请输入需要充值的金额"<<endl;
                cin>>b;
                //注意:充值金额不能为负数,不能从当前ATM中取钱
                if(b>=0){
                    sum+=b;//将冲值金额累加到余额中 
                }
                else{
                    cout<<"当前ATM不支持线上取钱功能,本次充值失败,谢谢使用";
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"充值进行中,请耐心等待";
                for(int i=1;i<=6;i++){//模拟充值等待过程 时间可以自行调整 
                    Sleep(500);
                    cout<<".";
                } 
                cout<<endl<<"充值成功!"<<endl<<"当前余额为:"<<sum<<endl;//充值成功后显示当前余额
                Sleep(3000); 
                system("cls");
            }
            else if(a=='4'){//查询余额 
                //查询余额前,必须先保证已有账号
                if(s.empty()){
                    cout<<"请先创建账号"<<'\n';
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"当前余额为:"<<sum<<"\n\n"; 
                Sleep(3000); 
                system("cls");
                break; 
            }
            else if(a=='5'){//转账 
                string duix;
                if(s.empty()){
                    cout<<"请先创建账号"<<'\n';
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"请输入需要转出的金额"<<endl;
                cin>>c;
                cout<<"请输入转账对象"<<endl;
                getline(cin,duix);
                getline(cin,duix);
                //注意:转出金额不能为负数,不能拿走别人的钱。 
                if(c>=0){
                    sum-=c;//将充值金额累加到余额中 
                }
                if(sum<0){
                    cout<<"现有金额不足,请充值,转账失败";
                    Sleep(3000); 
                    system("cls");
                    break; 
                } 
                if(c<0){
                    cout<<"拿走别人的钱为非法行为,转账失败";
                    Sleep(3000); 
                    system("cls");
                    break; 
                }
                cout<<"转账进行中,请耐心等待";
                for(int i=1;i<=6;i++){//模拟充值等待过程 时间可以自行调整 
                    Sleep(500);
                    cout<<".";
                } 
                cout<<endl<<"转账成功!"<<endl<<"当前余额为:"<<sum<<endl;//转账成功后显示当前余额
                Sleep(3000); 
                system("cls");
                break;      
            }
            else if(a=='6'){//结束程序 
                system("cls");
                Sleep(2000); 
                system("shutdown -s -t 25");
                return 0;
            }
            else if(a=='#'){//结束程序 
                flag=true;
                break;
            }
        }

    }   
    cout<<"\n\n";
    //模拟操作结束时 显示界面 
    cout<<"感谢使用!欢迎再次使用该系统!"<<endl;
    cout<<"诅咒你 "; //等待关闭中 
    for(int i=1;i<=6;i++){
        Sleep(500);
        cout<<".";
    } 
    system("cls");
    Sleep(2000); 
    exit(0);
    return 0; 
}   

这个嘛?

不是我的

0
0
0
0
0
高梓荣
高梓荣
新手天翼
新手天翼

这个我之前闲得无聊做过类似的,早删了。。。那么简单自己编呗

0
0
0
刘英杰
刘英杰
新手天翼
新手天翼

找老师问

酷盯豆、币、经验值的AMT都是他们编的

如果真的实在要写

那就给我评论

我要回答