2012年末实训—银行项目(完)

来源:互联网 发布:淘宝购物最便宜的软件 编辑:程序博客网 时间:2024/05/16 06:48
#include <iostream>#include <string.h>#include <iomanip>#include <stdio.h>using namespace std;//银行中卡数#define MAXRECORDNUMBER 20000//银行卡的卡号初始值#define INITNUMBER 10001struct Account{    int accNumber;//账户    char accName[9];//户名    char accPWD[7];//密码    double balance;//余额    char flag[6];//销户标志};//银行中所有卡Account array[MAXRECORDNUMBER];//银行中银行卡的数量int size=0;//生成银行卡的卡号long autoCreament();//欢迎界面void welcome();//主界面void mainmenu();//取款void withdraw();//存款void deposit();//查询void query();//开户void openAnAccount();//销户void closeAnAcount();//输出指定卡的信息void printAccount(Account acc);//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){    welcome();    char name0[]="admin";    char password0[]="admin";    int t=0;    while (t<2)    {        cout<<"请输入用户名:"<<endl;        char name[9];        cin>>name;        cout<<"请输入密码:"<<endl;        char password[6];        cin>>password;        if(strcmp(name0,name)!=0||strcmp(password,password0)!=0)        {            t++;            cout<<"用户名或密码输入错误,请重新输入!"<<endl;        }        else            break;    }    if(t>=3)    {        cout<<"对不起,您已经连续输入错误3次,请您退出操作!"<<endl;    }    if(t<3)    {        mainmenu();    }    return 0;}void welcome(){    cout<<"+--------------------------+"<<endl;    cout<<"|                          |"<<endl;    cout<<"| 欢迎使用储蓄综合业务平台 |"<<endl;    cout<<"|                          |"<<endl;    cout<<"+--------------------------+"<<endl;}void mainmenu(){    int c;    c=-1;    cout<<"+--------------------------+"<<endl;    cout<<"|   0.退出   1.存款        |"<<endl;    cout<<"|   2.取款   3.查询        |"<<endl;    cout<<"|   4.开户   5.销户        |"<<endl;    cout<<"+--------------------------+"<<endl;    cout<<"  请输入选择业务的代号:    "<<endl;    cin>>c;    switch (c)    {    case 0:        cout<<"————————感谢使用储蓄平台系统,再见!————————"<<endl;        break;    case 1:        cout<<"————————现在进入存款系统————————"<<endl;        deposit();        break;    case 2:        cout<<"————————现在进入取款系统————————"<<endl;        withdraw();        break;    case 3:        cout<<"————————现在进入查询系统————————"<<endl;        query();        break;    case 4:        cout<<"————————现在进入开户系统————————"<<endl;        openAnAccount();        break;    case 5:        cout<<"————————现在进入销户系统————————"<<endl;        closeAnAcount();        break;    case 6:        break;    default:        cout<<"\n"<<"无效选项!"<<endl;        break;    }}void openAnAccount(){    cout<<"请输入户主:"<<endl;    cin>>array[size].accName;    cout<<"请输入密码:"<<endl;    cin>>array[size].accPWD;    cout<<"请输入金额:"<<endl;    cin>>array[size].balance;    strcpy(array[size].flag,"正常");    array[size].accNumber=autoCreament();    printAccount(array[size]);    cout<<"-------------开户业务已成功!请继续其他交易---------------"<<endl;    size++;    cout<<"-------开户成功,按任意键返回-------"<<endl;    fflush(stdin);    getchar();    mainmenu();}long autoCreament(){    if(size==0)    {        return INITNUMBER;    }    else    {        return array[size-1].accNumber+1;    }}//输出指定卡的信息void printAccount(Account acc){    cout<<"|----------------------------------------|"<<endl;    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"密码"<<setw(8)<<"金额"<<setw(8)<<"状态"<<"|"<<endl;    cout<<setiosflags(ios::left)<<"+----------------------------------------+"<<endl;    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<acc.accNumber<<setw(8)<<acc.accName<<setw(8)<<acc.accPWD<<setw(8)<<acc.balance<<setw(8)<<acc.flag<<"|"<<endl;    cout<<"|----------------------------------------|"<<endl;}/*根据卡号查找卡的下标* 若返回值>=0,卡号是正确* 若返回值=-1,卡号有误*/int searchAccount(long accNumber){    int i,pos=-1;    for(i=0; i<size; i++)    {        if(array[i].accNumber==accNumber)        {            //找到了这张卡            pos=i;            break;        }    }    return pos;}void deposit(){    long accNum;//存款的账号    double money;//存款的金额    int pos;    cout<<"请输入存款的账号:";    cin>>accNum;    pos=searchAccount(accNum);    if(pos==-1)    {        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        deposit();    }    else    {        //展示下存款前卡的信息        cout<<"存款前卡的信息:"<<endl;        printAccount(array[pos]);        cout<<"请输入存款金额:";        cin>>money;        //找到了该卡号所对应的卡        array[pos].balance+=money;        //展示存款后卡的信息        cout<<"存款后卡的信息:"<<endl;        printAccount(array[pos]);        cout<<"存款成功,按任意键返回"<<endl;        fflush(stdin);        getchar();        mainmenu();    }}void withdraw(){    char pwd[10];    long accNum;//取款的账号    double money1;    double money;//取款的金额    int pos;    cout<<"请输入取款的账号:"<<endl;    cin>>accNum;    pos=searchAccount(accNum);    if(pos==-1)    {        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        withdraw();    }    else    {        //展示下取款前卡的信息        cout<<"取款前卡的信息:"<<endl;        printAccount(array[pos]);        cout<<"请输入密码:"<<endl;        cin>>pwd;        if(strcmp(array[pos].accPWD,pwd)==0)        {            cout<<"密码正确!"<<endl;            cout<<"请输入取款金额:";            cin>>money;            //找到了该卡号所对应的卡           money1=array[pos].balance-money;            if(money1<=0)            {                cout<<"您账户内的余额不足,请及时充值!";                cout<<endl;                mainmenu();            }            else            {            array[pos].balance-=money;                //展示取款后卡的信息            cout<<"取款后卡的信息:"<<endl;            printAccount(array[pos]);            cout<<"取款成功,按任意键返回"<<endl;            fflush(stdin);            getchar();            mainmenu();            }        }        else        {            cout<<"对不起,密码错误!请重新输入!"<<endl;            withdraw();        }    }}void query(){    char pwd[10];    long accNum;//查询的账号    int pos;    cout<<"请输入查询的账号:"<<endl;    cin>>accNum;    pos=searchAccount(accNum);    if(pos==-1)    {        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        query();    }    else    {        cout<<"请输入密码:"<<endl;        cin>>pwd;        if(strcmp(array[pos].accPWD,pwd)==0)        {            cout<<"密码正确!"<<endl;            cout<<"银行卡的信息:"<<endl;            printAccount(array[pos]);            cout<<"查询成功,按任意键返回"<<endl;            fflush(stdin);            getchar();            mainmenu();        }        else        {            cout<<"对不起,密码错误!请重新输入!"<<endl;            query();        }    }}void closeAnAcount(){    char pwd[10];    long accNum;//销户的账号    int pos;    cout<<"请输入销户的账号:"<<endl;    cin>>accNum;    pos=searchAccount(accNum);    if(pos==-1)    {        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        closeAnAcount();    }    else    {        cout<<"请输入密码:"<<endl;        cin>>pwd;        if(strcmp(array[pos].accPWD,pwd)==0)        {            cout<<"密码正确!"<<endl;            cout<<"销户信息如下:"<<endl;                array[pos].balance=0;               strcpy(array[pos].flag,"销户");               cout<<"销户已成功,按任意键返回!"<<endl;               printAccount(array[pos]);               fflush(stdin);//清除缓存区                getchar();//任意键返回               mainmenu();        }             else        {            cout<<"对不起,密码错误!请重新输入!"<<endl;            closeAnAcount();        }    }}

原创粉丝点击