大学C++总结

来源:互联网 发布:淘宝店铺客服怎么应聘 编辑:程序博客网 时间:2024/05/18 00:30
#include <iostream>#include <string.h>#include <iomanip>#include <stdio.h>using namespace std;//银行中卡数#define MAXRECORDNUMBER 20000//银行卡的卡号初始值#define INITNUMBER 45678struct 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[]="liu";    char password0[]="yhr";    int t=0;    while (t<3)    {        cout<<"请输入用户名:"<<endl;        char name[50];        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<<"             "<<"|   1.开户   2.存款        |"<<endl;    cout<<"             "<<"|   3.取款   4.查询        |"<<endl;    cout<<"             "<<"|   5.销户   0.退出        |"<<endl;    cout<<"             "<<"+--------------------------+"<<endl;    cout<<"  请输入选择业务的代号:    "<<endl;    cin>>c;    switch (c)    {    case 0:        cout<<"————————欢迎再次光临刘氏银行,再见!————————"<<endl;        break;    case 2:        cout<<"————————现在进入存款系统————————"<<endl;        deposit();        break;    case 3:        cout<<"————————现在进入取款系统————————"<<endl;        withdraw();        break;    case 4:        cout<<"————————现在进入查询系统————————"<<endl;        query();        break;    case 1:        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(12)<<"卡号"<<setw(12)<<"户主"<<setw(12)<<"密码"<<setw(12)<<"金额"<<setw(12)<<"状态"<<"|"<<endl;    cout<<setiosflags(ios::left)<<"+------------------------------------------------------------+"<<endl;    cout<<setiosflags(ios::left)<<"|"<<setw(12)<<acc.accNumber<<setw(12)<<acc.accName<<setw(12)<<"******"<<setw(12)<<acc.balance<<setw(12)<<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();        }    }}


运行结果:

原创粉丝点击