一次性使用的小ATM(笑趴

来源:互联网 发布:混沌战域翅膀进阶数据 编辑:程序博客网 时间:2024/04/30 03:46
#include<stdio.h>


#include<conio.h>
#include<iostream>


using namespace std;


//保存多个不同类型的数据
struct users      //自定义的数据类型
{
    int id;             //卡号
    char name[10];
    int pwd;       //密码
    float balance;//余额
} user[20];            //表格  20H   4L


//保存账户的数目
int count = 0;
void createUser()
{
    int i=0;
    char num[6],ch;
    cout<<"请输入要开几个账户:\n";
    cin>>count;
    for(i=0; i<count; i++)
    {
        user[i].id=1000+(i+1);
        cout<<"\n请输入用户的姓名:\n";
        cin>>user[i].name;
        cout<<"请输入账户的密码:\n";
        int m=0;
        while(true)
        {
            ch=getch();
            if(m>5&&ch!='\r')
            {
                printf("多于六位啦,,输入回车确定\n");
            }
            else if(ch>='0'&&ch<='9')
            {
                num[m]=ch;
                m++;
                putchar('*');
            }
            else if(ch=='\r')
            {
                user[i].pwd=(num[0]-'0')*100000+(num[1]-'0')*10000+(num[2]-'0')*1000+(num[3]-'0')*100+(num[4]-'0')*10+(num[5]-'0');
                break;
            }


        }
        user[i].balance=0.0f;
    }
    cout<<"\n"<<"开户成功!"<<endl;
}


void showInfo()
{
    if(count==0)
    {
        cout<<"请先开户!\n";
    }
    else
    {
        int i;
        cout<<"请输入要查询的账户:\n";
        int id=0,m=0;
        cin>>id;
        for(i=0; i<count; i++)
        {
            if(id==user[i].id)
            {
                int q=3;
                while(q!=0)
                {
                    cout<<"请输入该账户的密码:"<<endl;
                    int pwd=0;
                    cin>>pwd;
                    if(user[i].pwd==pwd)
                    {
                        cout<<"\n\t账号\t姓名\t余额\n";
                        printf("\t%d\t%s\t%.2f\n",user[i].id,user[i].name,user[i].balance);
                        break;
                    }
                    else
                    {
                        q--;
                        printf("密码错误,您还有%d次机会!\n",q);
                        continue;
                    }
                }
                break;
            }
        }
        if(i>=count)
        {
            cout<<"账户不存在!"<<endl;
        }


    }
}
void savemoney()
{


    if(count==0)
    {
        cout<<"请先开户!"<<endl;;
    }
    else
    {
        cout<<"请输入您要存钱的账户:"<<endl;
        int key,money;
        cin>>key;
        for(int i=0; i<count; i++)
        {
            if(key==user[i].id)
            {
                cout<<"请输入您要往此账户存的金额:"<<endl;
                cin>>money;
                user[i].balance+=money;
                cout<<"存钱成功!"<<endl;
                cout<<"此账户内目前有金额:"<<user[i].balance<<endl;
            }
        }
    }
}
void drawmoney()
{


    if(count==0)
    {
        cout<<"请先开户!"<<endl;;
    }
    else
    {
        cout<<"请输入您要取钱的账户:"<<endl;
        int key,money,mima,i;
        cin>>key;
        for(i=0; i<count; i++)
        {
            if(key==user[i].id)
            {
                int q=3;
                while(q!=0)
                {
                    cout<<"请输入该账户的密码:"<<endl;
                    cin>>mima;
                    if(user[i].pwd==mima)
                    {
                        cout<<"请输入您准备取的金额:"<<endl;
                        cin>>money;
                        if(user[i].balance-money<0)
                        {
                            cout<<"sorry! money不足!"<<endl;
                            break;
                        }
                        else
                        {
                            user[i].balance-=money;
                            cout<<"取钱成功!"<<endl;
                            cout<<"此账户内目前剩余金额:"<<user[i].balance<<endl;
                            break;
                        }


                    }
                    else
                    {
                        q--;
                        cout<<"密码错误,您还有"<<q<<"次机会!\n"<<endl;
                        continue;
                    }
                }
                break;
            }
        }
        if(i>=count)
        {
            cout<<"账户不存在"<<endl;
        }
    }
}
void transferaccounts()
{
    if(count==0)
    {
        cout<<"请先开户!"<<endl;;
    }
    else
    {
        int key1,mima=0,key2,money;
        cout<<"请输入您要登陆的账户名:"<<endl;
        cin>>key1;
        int b=0;
        for(int i=0; i<count; i++)
        {
            if(key1==user[i].id)
            {
                int q=3;
                while(q!=0)
                {
                    cout<<"请输入该账户的密码:"<<endl;
                    cin>>mima;
                    if(user[i].pwd==mima)
                    {
                        cout<<"该账户目前剩余"<<user[i].balance<<"金额"<<endl;
                        cout<<"请输入您准备转账的账户:"<<endl;
                        cin>>key2;
                        int a=0,j;
                        for( j=0; j<count; j++)
                        {
                            if(key2==user[j].id)
                            {
                                cout<<"请输入你转账的金额:"<<endl;
                                cin>>money;
                                if(user[i].balance-money>=0)
                                {
                                    user[i].balance-=money;
                                    user[j].balance+=money;
                                    printf("您当前剩余%.2f金额且已经转账成功!\n",user[i].balance);
                                    break;
                                }
                                else if(user[i].balance-money<0)
                                {


                                    cout<<"sorry,money不足!"<<endl;
                                    break;
                                }
                            }
                        }
                        if(j>=count)
                        {
                            cout<<"账户不存在!"<<endl;
                        }
                        q=0;
                    }
                    else
                    {
                        q--;
                        cout<<"密码错误,您还有"<<q<<"次机会!\n"<<endl;
                        continue;
                    }
                }
                break;
            }
        }
    }
}
void showMain()
{
    cout<<"\n\t====欢迎使用银行ATM系统===="<<endl;
    cout<<"\n\t1.开户"<<endl;
    cout<<"\n\t2.存钱"<<endl;
    cout<<"\n\t3.取钱"<<endl;
    cout<<"\n\t4.查询"<<endl;
    cout<<"\n\t5.转账"<<endl;
    cout<<"\n\t0.退出"<<endl;
}




int main()
{
    while(true)
    {
        showMain();
        int choose=0;
        cin>>choose;
        if(choose==1)
        {
            createUser();
        }
        if(choose==2)
        {
            savemoney();
        }
        if(choose==3)
        {
            drawmoney();
        }
        if(choose==4)
        {
            showInfo();
        }
        if(choose==5)
        {
            transferaccounts();
        }
        if(choose==0)
        {
            break;
        };
    }
}
原创粉丝点击