zoukankan      html  css  js  c++  java
  • 课程设计——银行系统

    <pre name="code" class="html">(一)main.cpp
    <pre name="code" class="cpp">/*****************************************************
    *版权全部(C)
    *
    *文件名称:main.cpp
    *文件标识:
    *内容摘要:该文件包括了主函数
    *其它说明:
    *当前版本号:
    *作    者:陈丹妮
    *完毕日期:2015.7.18
    *
    *改动记录:3
    *改动日期:2015.7.18
    *版本号号:
    *改动人:陈丹妮
    改动内容:
    **********************************************************/
    
    #include <iostream>
    #include <iomanip>
    #include <windows.h>
    #include <cstring>
    #include <fstream>
    #include "bank.h"
    #include <cstdlib>
    #include <conio.h>
    #include <ctype.h>
    using namespace std;
    int main()
    {
        int q;
        for(q=0; q<8; q++)
        {
            Sleep(100);
            cout<<"◆";
        }
        system("cls");
        system("color 14");
        cout<<endl;
        cout<<"             +-------------------------------------------+
    "<<endl;
        cout<<"             +      欢迎使用陈氏银行。竭诚为你服务!

    + "<<endl; cout<<" +-------------------------------------------+ "<<endl; if(pass()) { Bank b; b.work(); } return 0; }

    </pre><pre name="code" class="html">(二)bank.h
    <pre name="code" class="cpp">/*****************************************************
    *版权全部(C)
    *
    *文件名称:bank.h
    *文件标识:
    *内容摘要:在该文件里。包括了两个类的定义以及对全部函数的声明,用来对总的程序做一个说明。
    *其它说明:
    *当前版本号:
    *作    者:陈丹妮
    *完毕日期:2015.7.18
    *
    *改动记录:3
    *改动日期:2015.7.18
    *版本号号:
    *改动人:陈丹妮
    改动内容:
    **********************************************************/
    #ifndef BANK_H_INCLUDED
    #define BANK_H_INCLUDED
    
    #include <iostream>
    #include <iomanip>
    #include <windows.h>
    #include <cstring>
    #include <fstream>
    #include <cstdlib>
    #include <conio.h>
    #include <ctype.h>
    using namespace std;
    const int upnum=2000;//系统最多容纳的用户数
    class Bank;
    class User
    {
    public:
        void setUser(int acc,string na,int pw,double mon,double bal,string id,int sta);//传私有成员递值
        void showName();
        void showBalance(string prompt);//显示账户剩余金额
        bool psaaWordISRight();//推断password是否正确
        bool ISNormalUser();//存款。取款,转账等功能须要账户处于正常状态,推断账户是否处于正常状态
        friend class Bank;//将Bank设为User的友元类
    private:
        int account;//账号
        int password;//password
        string name;//名字
        double balance;//剩余金额
        double money;//未加利率的金额
        string identificant;//身份证号
        int status;//账户状态:0—正常,1—挂失,2—销户
    };
    class Bank
    {
    public:
        Bank();//从文件里读取数据
        ~Bank();//程序结束时将数据存入文件里
        void work();//业务驱动
        void openAccount();//开户
        void cancelAccount();//销户
        void save();//存款
        void withdraw();//取款
        void showAccount();//显示剩余金额
        void transferAccount();//转账
        void reportLoss();//挂失
        void canlelLoss();//解除挂失
        void updatePassword();//改动password
        int getUser();//输入账号查询用户,返回用户在对象数组的下表
    private:
        int N;//实际用户数目
        static double rate;//利率
        User users [upnum];//User数组
    };
    int pass();//业务员登录
    int chooseInMenu();//显示菜单并由业务员选择
    int intputPassword();//返回键盘输入的password
    #endif // BANK_H_INCLUDED
    

    (三)user.cpp
    
    
    <pre name="code" class="cpp">/*****************************************************
    *版权全部(C)
    *
    *文件名称:bank.h
    *文件标识:
    *内容摘要:在该文件里。包括了管与user类中的全部函数的定义
    *其它说明:
    *当前版本号:
    *作    者:陈丹妮
    *完毕日期:2015.7.18
    *
    *改动记录:3
    *改动日期:2015.7.18
    *版本号号:
    *改动人:陈丹妮
    改动内容:
    **********************************************************/
    #include <iostream>
    #include "bank.h"
    #include <cstring>
    using namespace std;
    /*****************************************************
    *功能描写叙述:定义一个函数来获取用户的信息
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    
    void User::setUser(int acc,string na,int pw,double mon,double bal,string id,int sta)  //定义一个函数来获取用户的信息
    {
        account=acc;
        password=pw;
        name=na;
        money=mon;
        balance=bal;
        identificant=id;
        status=sta;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来显示姓名
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    
    void User::showName()
    {
        cout<<"户主姓名:"<<name<<endl;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来显示剩余金额
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    
    void User::showBalance(string prompt)  //prompt是一个要显示的一段字符,能够是英文能够是中文的
    {
        cout<<prompt<<" "<<balance<<"元"<<endl;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来输入password及推断
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    
    bool User::psaaWordISRight()  //输入password及推断
    {
        int iPass;
        bool right=true;
        cout<<"请输入password:"<<endl;
        iPass=intputPassword();
        if(iPass!=password)
        {
            right=false;
            cout<<"password输入错误。操作失败!"<<endl;
        }
        return right;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来推断该用户处于哪一种状态
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    bool User::ISNormalUser()  //推断该用户处于哪一种状态
    {
        bool normal=true;
        if(status!=0)
        {
            normal=false;
            cout<<"该账户处于"<<(status==1?

    "挂失":"销户")<<"状态,不能进行操作。"<<endl; } return normal; }


    (四)bank.cpp
    
    
    <pre name="code" class="cpp">/*****************************************************
    *版权全部(C)
    *
    *文件名称:bank.h
    *文件标识:
    *内容摘要:在该文件里,包括了关于bank类中的全部函数的定义。用来实现各业务的功能
    *其它说明:
    *当前版本号:
    *作    者:陈丹妮
    *完毕日期:2015.7.18
    *
    *改动记录:3
    *改动日期:2015.7.18
    *版本号号:
    *改动人:陈丹妮
    改动内容:
    **********************************************************/
    #include "bank.h"
    #include <iostream>
    #include <iomanip>
    #include <windows.h>
    #include <cstring>
    #include <fstream>
    #include <cstdlib>
    #include <conio.h>
    #include <ctype.h>
    using namespace std;
    double Bank::rate=0.0225;
    /*****************************************************
    *功能描写叙述:定义一个函数来从磁盘文件的输入,已输入的方式打开文件
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    Bank::Bank()
    {
        ifstream infile("account.txt",ios::in);  //从磁盘文件的输入,已输入的方式打开文件
        if(!infile)
        {
            cerr<<"open error!"<<endl;//表示文件输入不成功
            exit(1);
        }
        int i=0;
        int acc;
        int pw;
        string na;
        double bal;
        string id;
        int sta;
        double mon;
        while (infile>>acc>>na>>pw>>bal>>id>>sta)   //读取文件里的信息
        {
    
            users[i].setUser(acc,na,pw,mon,bal,id,sta); //在传递给user对象的私有成员
            i++;
        }
        N=i;  //记录实际用户的数量
        infile.close();  //关闭文件
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来输出文件流outfile,以输出方式打开磁盘文件
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    Bank::~Bank()
    {
        ofstream outfile("account.txt",ios::out); //定义输出文件流outfile,以输出方式打开磁盘文件
        if(!outfile)
        {
            cerr<<"open error!"<<endl;
            exit(1);
        }
        int i;
        for(i=0; i<N; i++)    //最后析构时,终于user的信息
        {
            outfile<<users[i].account<<" ";
            outfile<<users[i].name<<" ";
            outfile<<users[i].password<<" ";
            outfile<<users[i].balance<<" ";
            outfile<<users[i].identificant<<" ";
            outfile<<users[i].status<<" "<<endl;
        }
        outfile.close();
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来选择办理的业务。
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    void Bank::work()
    {
        int ichoice;
        int q;
        for(q=0; q<8; q++)
        {
            Sleep(100);  //延迟时间显示◆
            cout<<"◆";
        }
        system("cls");
        system("color 15");  //显示窗体颜色的
        do
        {
            ichoice=chooseInMenu();   //选择菜单
            switch(ichoice)
            {
            case 1:
                openAccount(); //开户
                break;
            case 2:
                cancelAccount(); //销户
                break;
            case 3:
                save();  //存款
                break;
            case 4:
                withdraw();  //取款
                break;
            case 5:
                showAccount(); //查剩余金额
                break;
            case 6:
                transferAccount();  //转账
                break;
            case 7:
                reportLoss();  //挂失
                break;
            case 8:
                canlelLoss();  //解除挂失
                break;
            case 9:
                updatePassword();  //改动password
                break;
            case 0:
                cout<<"+++++欢迎再次您使用。陈氏竭诚为你服务!+++++"<<endl;
            }
        }
        while(ichoice);
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来开新用户
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    void Bank::openAccount()  //开户
    {
        if(N==upnum)   //已经到达系统最多容纳的用户数
        {
            cout<<"银行用户数目已达上限。不能在开户。"<<endl;
            return ;
        }
        int acc;
        int pw;
        string na;
        double mon;
        double bal;
        string id;
        int sta;
        int ipw1,ipw2;
        int year;
        acc=10001+N;
        cout<<"正在开户......"<<endl;
        cout<<"账号:"<<acc<<endl;
        cout<<"请输入户主的名字:";
        cin>>na;
        cout<<"请输入身份证号:";
        cin>>id;
        cout<<"请输入password:";
        ipw1=intputPassword();
        cout<<"确认password:";
        ipw2=intputPassword();
        if(ipw1==ipw2)  //推断两次的password是否一致。同样,开户成功
        {
            pw=ipw1;
            sta=0;
            cout<<"存入金额:";
            cin>>bal;
            ofstream outfile1("expence_record.txt",ios::app);   //定义输出文件流outfile,以输出方式打开磁盘文件,写入的数据将会加入到文件的末尾
            if(!outfile1)
            {
                cerr<<"expence_record file cannot open!"<<endl;
                exit(1);
            }
            outfile1<<acc<<" 存入 "<<acc<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<bal<<" 元"<<endl;//记录每次的存入
            outfile1.close();
            ofstream outfile2("account.txt",ios::app); //定义输出文件流outfile2,以输出方式打开磁盘文件。写入的数据将会加入到文件的末尾,
            if(!outfile2)
            {
                cerr<<"account.txt file cannot open!"<<endl;
                exit(1);
            }
            outfile2<<acc<<" "<<na<<" "<<ipw1<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<bal<<" "<<id<<" "<<sta<<endl;
             //在开户的那个文件里也会保存信息
            outfile2.close();
            cout<<"请输入要存入的期限(年):";
            cin>>year;
            double sum=bal+bal*double(year)*rate;  //计算总数=本金+所获得利息
            cout<<"期限到时,您将拥有";
            cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum<<"元"<<endl;
            users[N].setUser(acc,na,pw,mon,sum,id,sta); //用对象数组保存住用户的信息
            N++; //记录一个用户
            cout<<"成功开启!"<<endl;
        }
        else
        {
            cout<<"两次password不一致,开启账户失败!"<<endl;
        }
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来销户
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    void Bank::cancelAccount()  //销户
    {
        int who;
        who=getUser(); //获取销户的账号
        if(who>=0)
        {
            users[who].showName();
            if(users[who].psaaWordISRight()) //password正确时
            {
                users[who].showBalance("剩余金额"); //显示该用户剩余金额
                cout<<"确认销户(y/n)?";
                if(tolower(getchar())=='y')
                {
                    users[who].showBalance("销户成功。,本次取款金额为");
                    users[who].balance=0;  //吊销账户
                    users[who].status=2;   //显示为销户状态
                }
                else
                {
                    cout<<"您取消了此操作,销户失败"<<endl;
                }
                fflush(stdin);   //清理键盘缓存区已有的输入
            }
        }
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来进行存储业务,在保存到文件里去
    *输入參数:无
    *输出參数:无
    *返回值:无
    *其它说明:
    **********************************************************/
    void Bank::save()  //存储
    {
        int who,year;
        double money;
        who=getUser();  //获取有效的账户
        if(who>=0)
        {
            if(users[who].status==0)  //账号处于正常状态时
            {
                users[who].showName();
                if(users[who].psaaWordISRight())
                {
                    cout<<"请输入存入的金额:";
                    cin>>money;
                    ofstream outfile("expence_record.txt",ios::app);//定义输出文件输出流,接着文件的末尾
                    if(!outfile)
                    {
                        cerr<<"expence_record file cannot open!"<<endl;
                        exit(1);
                    }
                    outfile<<users[who].account<<" 存入 "<<users[who].account<<"  "<<setiosflags(ios::fixed)<<setprecision(2)<<money<<" 元"<<endl;
                    //用文件保存此次的存入记录
                    outfile.close();
                    ifstream infile("expence_record.txt",ios::in); //定义一个文件输入流。读取数据
                    if(!infile)
                    {
                        cerr<<"expence_record file cannot open!"<<endl;
                        exit(1);
                    }
                    cout<<users[who].account<<" 存入 "<<users[who].account<<"  "<<setiosflags(ios::fixed)<<setprecision(2)<<money<<" 元"<<endl;
                    infile.close();
                    cout<<"请输入要存入的期限(年):";
                    cin>>year;
                    double sum=money+money*double(year)*rate;
                    cout<<"期限到时,您将拥有"<<setiosflags(ios::fixed)<<setprecision(2)<<sum<<"元"<<endl;
                    //计算利息,总共=本金+所获得利息
                    users[who].balance+=sum;// 将此次存入的钱,加入到原来的剩余金额中,在结束操作时,文件account将会显示改用该用户的总额
                }
            }
            else if(users[who].status==1)
            {
                cout<<"该用户的账户处于挂失状态,存款失败!

    "<<endl; } else { cout<<"该用户的账户已经销户,存款失败!

    "<<endl; } } return; } /***************************************************** *功能描写叙述:定义一个函数来查询已实用户的信息及办理业务的记录 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::showAccount() { int who; string sta[3]= {"正常","挂失","已经销户"}; who=getUser(); if(who>=0) { users[who].showName(); if(users[who].psaaWordISRight()) { users[who].showBalance("剩余金额有"); cout<<"状态为"<<sta[users[who].status]<<endl; } cout<<"是否要查看您的每一笔账单(y/n)?"; char ch; cin>>ch; if(ch=='y') { cout<<"您的账单例如以下:"<<endl; ifstream infile("expence_record.txt",ios::in); if(!infile) { cerr<<"expence_record file cannot open!"<<endl; exit(1); } //从文件里读取每笔账单 int r1,r3; string r2,r4,r5; while(infile>>r1>>r2>>r3>>r4>>r5) { if(r1==users[who].account&&r3==users[who].account) cout<<r2<<" "<<r4<<" "<<r5<<endl; else if(r1==users[who].account) cout<<r2<<" "<<r3<<"("<<users[r3-10000].name<<")"<<" "<<r4<<" "<<r5<<endl; } infile.close(); } } return ; } /***************************************************** *功能描写叙述:定义一个函数来办理取钱业务 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::withdraw() //取钱 { int who; double money; who=getUser(); if(who>=0) { if(users[who].ISNormalUser()) { users[who].showName(); if(users[who].psaaWordISRight()) { cout<<"输入取款额"; cin>>money; if(money>users[who].balance) //推断是否超额取钱 { cout<<"对不起。您的剩余金额不足!

    "<<endl; } else { users[who].balance-=money; //将会记录取钱之后。还剩多少钱。会在account文件里显示终于的剩余金额 users[who].showBalance("取款后,您还有"); //调用显示剩余金额 ofstream outfile("expence_record.txt",ios::app); //定义一个输出流的文件。读入所剩余的剩余金额 if(!outfile) { cerr<<"expence_record file cannot open!"<<endl; exit(1); } outfile<<users[who].account<<" 取款 "<<users[who].account<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<money<<" 元"<<endl; outfile.close(); } } } } return ; } /***************************************************** *功能描写叙述:定义一个函数来办理一个转账的业务 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::transferAccount() //转账 { int whoout,whoin; double money; whoout=getUser(); cout<<"转出自"; if(whoout>=0) { if(users[whoout].ISNormalUser()) { users[whoout].showName(); if(users[whoout].psaaWordISRight()) { cout<<"请输入转入的金额:"; cin>>money; if(money>users[whoout].balance) cout<<"金额不足,转账失败!"<<endl; else { cout<<"转出到:"; whoin=getUser(); if(whoin>=0) { if(users[whoin].ISNormalUser()) //推断是否为正常的用户 { users[whoout].balance-=money;//记录转入和转出账户的剩余金额 users[whoin].balance+=money; users[whoout].showBalance("转账户,您有"); ofstream outfile("expence_record.txt",ios::app); //定义一个输出流文件,读入文件里进行保存 if(!outfile) { cerr<<"expence_record file cannot open!"<<endl; exit(1); } outfile<<users[whoin].account<<" 转账到 "<<users[whoout].account<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<money<<" 元"<<endl; outfile.close(); } } } } } } return ; } /***************************************************** *功能描写叙述:定义一个函数来办理挂失的业务 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::reportLoss() //挂失 { int who; who=getUser(); if(who>=0) { users[who].showName(); if(users[who].psaaWordISRight()) { if(users[who].status==0) { users[who].status=1; //记录该用户如今的挂失状态 cout<<"挂失成功。"<<endl; } else if(users[who].status==1) cout<<"该账户已经挂失!

    "<<endl; else cout<<"该账户已经销户,操作失败。"<<endl;//否则为销户状态 } } return; } /***************************************************** *功能描写叙述:定义一个函数来输出办理解挂的业务 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::canlelLoss() //解挂 { int who; who=getUser(); if(who>=0) { users[who].showName(); if(users[who].psaaWordISRight()) { if(users[who].status==0) { cout<<"该用户处于正常状态。不须要解除挂失!

    "<<endl; } else if(users[who].status==1) { users[who].status=0; //记录该用户的恢复为正常的正常的状态 cout<<"解除挂失成功! "<<endl; } else { cout<<"该用户已销户,操作失败。"<<endl; } } } return ; } /***************************************************** *功能描写叙述:定义一个函数来办理改动password的业务 *输入參数:无 *输出參数:无 *返回值:无 *其它说明: **********************************************************/ void Bank::updatePassword() //改动password { int who; int iPass1,iPass2; who=getUser(); if(who>=0) { users[who].showName(); if(users[who].psaaWordISRight()) //先推断原password是否输入正确 { cout<<"新password:"<<endl; iPass1=intputPassword(); cout<<"确认password:"<<endl; iPass2=intputPassword(); if(iPass1==iPass2) //假设两次的password输入是一样的那么,改password成功 { users[who].password=iPass1; cout<<"password改动成功!

    "<<endl; } else cout<<"两次输入的不同,改动失败!

    "<<endl; } } } /***************************************************** *功能描写叙述:定义一个函数来进行用户的查找 *输入參数:无 *输出參数:无 *返回值:一个整型值 *其它说明: **********************************************************/ int Bank::getUser() //查找用户的账号 { int id; cout<<"账号:"; cin>>id; int idex=-1; int low=0,high=N-1,mid; while (low<=high) { mid=(low+high)/2; if(users[mid].account==id) { idex=mid; break; } else if(users[mid].account>id) high=mid-1; else low=mid+1; } if(idex<0) cout<<"此用户不存在,本次操作失败!"<<endl; return idex; }

    </pre>(五)work.cpp<pre>
    <pre name="code" class="cpp">/*****************************************************
    *版权全部(C)
    *
    *文件名称:bank.h
    *文件标识:
    *内容摘要:在该文件里。包括了password输入,业务选择。password是否正确三个函数
    *其它说明:
    *当前版本号:
    *作    者:陈丹妮
    *完毕日期:2015.7.18
    *
    *改动记录:3
    *改动日期:2015.7.18
    *版本号号:
    *改动人:陈丹妮
    改动内容:
    **********************************************************/
    #include <iostream>
    #include <iomanip>
    #include "bank.h"
    #include <windows.h>
    #include <cstring>
    #include <fstream>
    #include <cstdlib>
    #include <conio.h>
    #include <ctype.h>
    using namespace std;
    /*****************************************************
    *功能描写叙述:定义一个函数来对password的处理
    *输入參数:无
    *输出參数:无
    *返回值:一个整型值
    *其它说明:
    **********************************************************/
    int intputPassword()  //password的处理
    {
        char ch;
        int iPass=0;//转换为数字
        int i;
        while(1)
        {
            for(i=0; i<6; ++i)
            {
                ch=getch();
                putchar('*');  //输入的password不显示数字,而是用*来取代,且,输入不能返回输入
                if(isdigit(ch))
                {
                    iPass=iPass*10+(ch-48);
                }
                else
                {
                    iPass=0;
                    break;
                }
            }
            fflush(stdin);//清理键盘缓存区已有的输入
            cout<<endl;
            if(iPass==0)
            {
                cout<<"password要求全为数字且不能都是0!"<<endl;
                cout<<"请又一次输入!";
            }
            else
                break;
        }
        return iPass;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来让用户进行选择办理的业务
    *输入參数:无
    *输出參数:无
    *返回值:一个整型值
    *其它说明:
    **********************************************************/
    int chooseInMenu()
    {
        int i;
        while (1)
        {
            cout<<endl;
            cout<<"                  +   请您选择办理的业务选项: +
    "<<endl;
            cout<<"                  +----------------------------+
    "<<endl;
            cout<<"                  +  1.开户   2.销户   3.存款  +
    ";
            cout<<"                  +  4.取款   5.查询   6.转账  +
    ";
            cout<<"                  +  7.挂失   8.解挂   9.改密  +
    ";
            cout<<"                  +           0.退出           +
    "<<endl;
            cout<<"                  +----------------------------+
    "<<endl<<endl;
            cout<<"请选择您所须要办理的业务序号:";
            cin>>i;
            if(i>=0&&i<=9)
                break;
            else
                cout<<"输入有误。请您又一次选择功能。"<<endl;
        }
        return i;
    }
    /*****************************************************
    *功能描写叙述:定义一个函数来让用户进行选择办理的业务
    *输入參数:无
    *输出參数:无
    *返回值:一个整型值
    *其它说明:
    **********************************************************/
    int pass()//验证password是否正确
    {
        char sNameInFile[20];
        char sPassInFile[20];
        ifstream infile("password.txt",ios::out);  //定义一个输入流文件,读取提前保存业务人员的姓名及登录password
        if(!infile)
        {
            cerr<<"password file cannot open!

    "<<endl; exit(1); } infile>>sNameInFile>>sPassInFile; infile.close(); char sName[20]; char sPass[20]; char ch; int itry=3; int right=0; int q; for(q=0; q<8; q++) { Sleep(100); cout<<"◆"; } system("cls"); system("color 17"); do { cout<<"请输入业务员username:"<<endl; cin>>sName; cout<<"请输入password"<<endl; int i=0; while((ch=getch())!=' ') { sPass[i++]=ch; putchar('*'); } sPass[i]=''; fflush(stdin); cout<<endl; if(strcmp(sName,sNameInFile)==0&&strcmp(sPass,sPassInFile)==0) { right=1; break; } else { itry--; if(itry>0) { cout<<"超过3次将会退出,您还能够尝试"<<itry<<"次!"<<endl; } else { cout<<"对不起,您不能进入系统!"<<endl; } } } while(itry); return right; }

    (六)各个功能的实现。如图所看到的:


    
    
    </pre><pre name="code" class="html"><img src="http://img.blog.csdn.net/20150718132708849?

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

    <img src="http://img.blog.csdn.net/20150718132801944?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    
    
    <img src="http://img.blog.csdn.net/20150718132843877?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718132925631?

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

    <img src="http://img.blog.csdn.net/20150718132944038?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718133015241?

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

    <img src="http://img.blog.csdn.net/20150718132900529?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718133119244?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718133138571?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718132410822?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718132443880?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20150718132556635?

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

    <img src="http://img.blog.csdn.net/20150718132629348?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    </pre><pre name="code" class="html"><span style="font-size:24px;">心得体会:这个代码写了非常长时间,最终写好了,当非经常使用心的写一个东西的时候。我可以从中学到非常多的知识,包含平时没有积累到的知识,查漏补缺。同一时候,我也问了一些同学和老师一些问题。非常谢谢他们可以为我耐心的解答问题。才完毕了这次的课程设计,看书=是非常有必要的。希望我可以继续学好C++,和以后我要学的课程。继续努力吧!</span>
    </pre><pre>
  • 相关阅读:
    HTML学习笔记-框架(40)
    HTML学习笔记-使用div和table进行布局(36)
    MVC初体验-EF系列(总结)(23)
    MVC初体验-EF系列(延迟加载)(22)
    MVC初体验-EF系列(状态跟踪的修改)(21)
    MVC初体验-EF系列(CRUD)(20)
    回收站清空后立马恢复
    软件体验记录
    复杂网络,抽象语法树
    PHP修改记录
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6875285.html
Copyright © 2011-2022 走看看