首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

银行系统(技术支持课)(做了许久啊请大家看看还有什么不足之处)

2013-01-08 
银行系统(技术支持课)(做了好久啊!请大家看看还有什么不足之处)/* * Copyright (c) 2012, 烟台大学计算机

银行系统(技术支持课)(做了好久啊!请大家看看还有什么不足之处)

/* * Copyright (c) 2012, 烟台大学计算机学院                     * All rights reserved.                     * 文件名称:test.cpp                     * 作者:樊露露                    * 完成日期:2012 年12月26日                     * 版本号:v1.0                   *                     * 输入描述:无                     * 问题描述:银行系统                  * 程序输出:银行各种业务* 问题分析:                    * 算法设计:略                     */         #include <iostream>#include <string.h>#include <stdio.h>#include <iomanip>using namespace std;//银行中最大的账户数量#define MAXACCOUNTNUMBER 20000//银行卡的开号初始值#define INITNUMBER 10001struct Account{    long accNumber;   //卡号    char accName[20]; //户主    char accPwd[10];  //密码    double balance;   //余额    char flag[6];     //卡的状态};//银行中所有卡Account array[MAXACCOUNTNUMBER];//银行中银行卡数量int size=0;//欢迎界面void welcome();//主界面void mainFrame();//生成银行中自增卡号long autoCreament();//开户void openAccount();//存款(活期)void deposit();//存款(死期)void Deposit();//存款类型void depositmodle();//取款void withdraw();//查询void search();//修改密码void updatePassword();//转账void transferAccounts();//销户void close();//输出指定卡的信息void printAccount(Account acc);//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){    char loginName[20];    char loginPwd[20];    int i;    //欢迎界面    welcome();    //..    for(i=0;i<3;i++)    {        cout<<"请输入用户名:";        cin>>loginName;        cout<<"请输入密码:";        cin>>loginPwd;        if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"admin")==0)        {            mainFrame();            break;        }else{            cout<<"用户名或密码输入错误"<<endl;        }    }    return 0;}void welcome(){    cout<<"+----------------------------------+"<<endl;    cout<<"+**********************************+"<<endl;    cout<<"|-------欢迎登陆银行系统-----------|"<<endl;    cout<<"+**********************************+"<<endl;    cout<<"+----------------------------------+"<<endl;}void mainFrame(){   int order;   cout<<"|----------------------------|"<<endl;   cout<<"|-------1.开户---------------|"<<endl;   cout<<"|-------2.存款(活期)-------|"<<endl;   cout<<"|-------3.存款(死期)-------|"<<endl;   cout<<"|-------4.取款---------------|"<<endl;   cout<<"|-------5.销户---------------|"<<endl;   cout<<"|-------6.查询---------------|"<<endl;   cout<<"|-------7.转账---------------|"<<endl;   cout<<"|-------8.修改密码-----------|"<<endl;   cout<<"|-------9.退出---------------|"<<endl;   cout<<"|----------------------------|"<<endl;   cout<<"请输入操作指令"<<endl;   cin>>order;   switch(order){       case 1:            openAccount();            break;       case 2:            deposit();            break;       case 3:            Deposit();            break;       case 4:            withdraw();            break;       case 5:            close();            break;       case 6:            search();            break;       case 7:            transferAccounts();            break;       case 8:            updatePassword();            break;       case 9:            break;       default:            break;   }}//开户void openAccount(){    char arr[10];    cout<<"请输入户主:";    cin>>array[size].accName;    cout<<"请输入密码:";    cin>>array[size].accPwd;    cout<<"请再次输入密码:";    cin>>arr;    if(strcmp(arr,array[size].accPwd)==0){        cout<<"两次密码输入一致,请继续。"<<endl;        cout<<"请输入金额:";        cin>>array[size].balance;        //..        strcpy(array[size].flag,"正常");        //写卡号        array[size].accNumber=autoCreament();        printAccount(array[size]);        size++;        cout<<"开户成功,按任意键返回"<<endl;    }else{        cout<<"两次密码输入不一致,请再次输入:"<<endl;        openAccount();    }    fflush(stdin);    getchar();    mainFrame();    cout<<"请输入操作指令:";}//账号自加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,i=0,num;    cout<<"请输入存款的账号:";    cin>>accNum;    pos=searchAccount(accNum);    if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        deposit();    }else{        //展示下存款前卡的信息        cout<<"请确认存款前的银行卡信息,若正确请按1,错误请按2:"<<endl;        printAccount(array[pos]);        cin>>num;        if(num==1&&strcmp(array[pos].flag,"正常")==0){        cout<<"请输入存款金额:";        cin>>money;        //找到了该卡号所对应的卡        array[pos].balance+=money;         //展示存款后卡的信息        cout<<"存款后卡的信息:"<<endl;        printAccount(array[pos]);        cout<<"存款成功,按任意键返回"<<endl;        fflush(stdin);        getchar();        mainFrame();        }else{            cout<<"此账户处于异常状态,禁止存款!";            cout<<"按任意键退出:";            fflush(stdin);            getchar();            mainFrame();            cout<<"请输入操作指令:";        }    }}//存款(死期)void Deposit(){    char arr[10];    int t;    cout<<"请输入户主:";    cin>>array[size].accName;    cout<<"请输入密码:";    cin>>array[size].accPwd;    cout<<"请再次输入密码:";    cin>>arr;        if(strcmp(array[size].accPwd,arr)==0){            cout<<"两次密码输入一致,请继续。"<<endl;            depositmodle();            cout<<"请您输入存款代号(1-6):";            cin>>t;            if(t>=7){                cout<<"选择存款类型错误!请重新选择.";                depositmodle();            }else{                cout<<"请存款输入金额:";                cin>>array[size].balance;                switch(t){                    case 1:                        strcpy(array[size].flag,"3个月");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    case 2:                        strcpy(array[size].flag,"6个月");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    case 3:                        strcpy(array[size].flag,"一年");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    case 4:                        strcpy(array[size].flag,"二年");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    case 5:                        strcpy(array[size].flag,"三年");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    case 6:                        strcpy(array[size].flag,"五年");                        array[size].accNumber=autoCreament();                        printAccount(array[size]);                        break;                    default:                        break;            }        }        //写卡号        size++;        cout<<"存款成功,按任意键返回"<<endl;    }else{        cout<<"两次密码输入不一致!请重新输入!"<<endl;        openAccount();    }     fflush(stdin);    getchar();    mainFrame();    cout<<"请输入操作指令:";}//取款void withdraw(){    long account;    char password[10];    int pos,i;    double money;    cout<<"-----欢迎来到取款页面-----"<<endl;    for(i=0;i<3;i++)    {        cout<<"请输入账号:";        cin>>account;        cout<<"请输入密码:";        cin>>password;        pos=searchAccount(account);        if(strcmp(array[pos].flag,"正常")==0)        {            if(pos>=0&&strcmp(password,array[pos].accPwd)==0)        {            cout<<"请输入取款金额:";            cin>>money;            if(money<=array[pos].balance)            {                cout<<"取款前卡的信息:"<<endl;                printAccount(array[pos]);                array[pos].balance-=money;                cout<<"取款后卡的信息:"<<endl;                printAccount(array[pos]);            }            else            {                cout<<"卡内余额不足!按任意键返回!";            }                fflush(stdin);                getchar();                mainFrame();                cout<<"请输入操作指令:";        }else{            cout<<"用户名或密码输入错误"<<endl;        }        }        else        {            cout<<"此账号处于异常状态,不能进行此操作!";            cout<<"按任意键退出!";            fflush(stdin);                getchar();                mainFrame();                cout<<"请输入操作指令:";        }    }}//查询void search(){    long account;    char password[10];    int i,pos;    cout<<"-----欢迎来到查询页面-----"<<endl;    for(i=0;i<3;i++)    {        cout<<"请输入账号:";        cin>>account;        cout<<"请输入密码:";        cin>>password;        pos=searchAccount(account);        if(strcmp(array[pos].flag,"正常")==0)        {            if(pos>=0&&strcmp(password,array[pos].accPwd)==0)        {            cout<<"您的银行卡信息为:"<<endl;            printAccount(array[pos]);            fflush(stdin);            getchar();            mainFrame();            cout<<"请输入操作指令:";        }        else{            cout<<"用户名或密码输入错误"<<endl;        }        }        else        {            cout<<"此账号处于异常状态,不能进行此操作!";            cout<<"按任意键退出!";            fflush(stdin);                getchar();                mainFrame();                cout<<"请输入操作指令:";            cout<<"";        }    }}//存款类型void depositmodle(){    cout<<"=====存款期限====="<<endl;    cout<<"1.  3个月"<<endl;    cout<<"2.  6个月"<<endl;    cout<<"3.  一年"<<endl;    cout<<"4.  二年"<<endl;    cout<<"5.  三年"<<endl;    cout<<"6.  五年"<<endl;}//修改密码void updatePassword(){    long account;    char password[10],pwd1[10],pwd2[10];    int i,pos;    cout<<"-----欢迎来到修改密码页面-----"<<endl;    for(i=0;i<3;i++)    {        cout<<"请输入账号:";        cin>>account;        cout<<"请输入密码:";        cin>>password;        pos=searchAccount(account);        if(strcmp(array[pos].flag,"正常")==0)        {            if(pos>=0&&strcmp(password,array[pos].accPwd)==0)        {            cout<<"请输入新密码:";            cin>>pwd1;            cout<<"请确认新密码:";            cin>>pwd2;            if(strcmp(pwd1,pwd2)==0){                strcpy(array[pos].accPwd,pwd1);                cout<<"密码修改成功!按任意键退出!"<<endl;                printAccount(array[pos]);                break;            }            else{                cout<<"两次密码输入不一致,请重新输入。";            }        }        else{            cout<<"用户名或密码输入错误"<<endl;        }        }        else        {            cout<<"此账号处于异常状态,不能进行此操作!";            cout<<"按任意键退出!";        }    }    fflush(stdin);    getchar();    mainFrame();    cout<<"请输入操作指令:";}//转账void transferAccounts(){    long Account1,Account2;    char password[10];    int pos1,pos2,i,num;    double money;    cout<<"请输入账号:";    cin>>Account1;    for(i=0;i<3;i++)    {        cout<<"请输入密码:";        cin>>password;        pos1=searchAccount(Account1);        if(strcmp(array[pos1].flag,"正常")==0)        {            if(pos1>=0&&strcmp(password,array[pos1].accPwd)==0)        {            cout<<"请输入对方账号:";            cin>>Account2;            pos2=searchAccount(Account2);            if(pos2==-1)            {                cout<<"对方账户不存在!请重新输入!";            }            else            {                cout<<"请确认对方账户是否正确,若正确请按1,否则按2:"<<endl;                cout<<"|------------------------|"<<endl;                cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"状态"<<"|"<<endl;                cout<<setiosflags(ios::left)<<"+------------------------+"<<endl;                cout<<setiosflags(ios::left)<<"|"<<setw(8)<<array[pos2].accNumber<<setw(8)<<array[pos2].accName<<setw(8)<<array[pos2].flag<<"|"<<endl;                cout<<"|------------------------|"<<endl;                cin>>num;                if(num==2)                {                    cout<<"按任意键退出!";                    break;                }                else                {                    cout<<"请输入转账金额:";                    cin>>money;                    if(money<=array[pos1].balance)                    {                        array[pos1].balance-=money;                        array[pos2].balance+=money;                        cout<<"转账成功,按任意键退出!";                        printAccount(array[pos1]);                        break;                    }                    else                    {                        cout<<"您的余额不足,转账失败!按任意键退出!";                        break;                    }                }            }        }        else        {            cout<<"您输入密码或账号有误,请重新输入:";        }        }        else        {            cout<<"此账号处于异常状态,不能进行此操作!";            cout<<"按任意键退出!";        }    }    fflush(stdin);    getchar();    mainFrame();    cout<<"请输入操作指令:";}//销户void close(){    long Account;    char password[10];    int pos,i;    cout<<"请输入要销户的账号:";    cin>>Account;    pos=searchAccount(Account);    for(i=0;i<3;i++)    {        cout<<"请输入密码:";        cin>>password;        if(pos>=0&&strcmp(password,array[pos].accPwd)==0)        {            array[pos].balance=0;            strcpy(array[pos].flag,"销户");            printAccount(array[pos]);            break;        }        else        {            cout<<"密码或账号错误,请重新输入!";        }    }    fflush(stdin);    getchar();    mainFrame();    cout<<"请输入操作指令:";}      

银行系统(技术支持课)(做了许久啊请大家看看还有什么不足之处)

热点排行