银行系统计划

时间:2019-05-31 19:47:59

标签: visual-c++

我一直在逐步建立银行系统,需要帮助。首先,尽管快速运行。 1.选择一个现有帐户或新帐户。 2.之后,它会显示提款,存款或关闭帐户的选项(到目前为止,关闭帐户是我最少的担心)。我也一直在使用两个不同的文本文档。一个是“帐户”,它将扫描或添加帐户,另一个是“金钱”,它应该跟踪每个帐户中的资金。问题是如何将钱分配给每个帐户?

我有结构数组的头,但是这使我感到困惑。如果那是最好的做法,那么我将需要一个简短的演练,即对代码进行注释以使我更好地理解它。

#include <iostream>
#include <fstream>
#include <iomanip>//used to move text 
#include <string>
using namespace std;

int display(char& anwser);

void N_account(char& anwser, string& name);

int Exist(string& name_search, char& anwser, string name_from_file, char& 
anwser2, string& money_deposit);

void deposit(string& money_deposit, char& anwser, char& anwser2, int& money_D);

void withdraw(string& withdraw_money, char& anwser, char& anwser2, int& money_D, string& total_money, int& money_W);


int main()
{

        int start_money, money_D, money_W;

    string name, name_search, name_from_file, money_deposit, withdraw_money, total_money;

    char anwser, anwser2;

    display(anwser);

    if (anwser == '1')
    {
        N_account(anwser, name);
    }

    if (anwser == '2')
    {
        Exist(name_search, anwser, name_from_file, anwser2, money_deposit);
    }

    if (anwser2 == '1')
    {
        deposit(money_deposit, anwser, anwser2, money_D);
    }

    if (anwser2 == '2')
    {
        withdraw(withdraw_money, anwser, anwser2, money_D, total_money, money_W);
    }

}

int display(char& anwser)
{

    cout << setw(65) << "=================" << endl;
    cout << setw(65) << "Banking Managment" << endl;
    cout << setw(65) << "=================" << endl;
    cout << setw(60) << "1.New account" << endl;
    cout << setw(65) << "2.Existing account" << endl;
    cin >> anwser;
    return 0;
}

void N_account(char& anwser, string& name)
{

    ofstream outfile;
    outfile.open("Accounts.txt", std::ofstream::out | std::ofstream::app);
    cout << "Enter in first and last name for new account:";
    cin.ignore();
    getline(cin, name);
    outfile << name;
    outfile << endl;
    cout << "Account added" << endl;
    outfile.close();


}

int Exist(string & name_search, char& anwser, string name_from_file, char& anwser2, string & money_deposit)

{

    ifstream infile;

    infile.open("Accounts.txt");

    cout << "Enter in your account:";

    cin.ignore();

    getline(cin, name_search);

    while (getline(infile, name_from_file))
    {
        if (name_from_file == name_search)
        {
            cout << "Account found: " << name_search << endl;
            cout << "Choose what you would like to do" << endl;
            cout << setw(56) << "1.Deposit" << endl;
            cout << setw(57) << "2.Withdraw" << endl;
            cout << setw(62) << "3.Close account" << endl;
            cin >> anwser2;
            return 0;
        }

    }
    infile.close();

}

void deposit(string & money_deposit, char& anwser, char& anwser2, int& money_D)
{

    ofstream O_file;
    O_file.open("Money.txt", std::ofstream::out | std::ofstream::app);
    cout << "Enter in how much you would like to deposit: ";
    cin.ignore();
    getline(cin, money_deposit);
    money_D = stoi(money_deposit);//converts string into integer so that I may use basic operators such as less than or subtraction ect.
    if (money_D < 0)
    {
        cout << "Error!" << endl;
        system("pause");
        exit(1);
    }
    O_file << money_deposit;
    O_file << endl;
    O_file.close();

}

void withdraw(string & withdraw_money, char& anwser, char& anwser2, int& money_D, string & total_money, int& money_W)
{

    ofstream O_file;
    O_file.open("Money.txt", std::ofstream::out | std::ofstream::app);
    cout << "Enter in how much you would like to withdraw:";
    cin.ignore();
    getline(cin, withdraw_money);
    money_W = stoi(withdraw_money);//converting string to integer
    total_money = money_W - money_D;
    O_file << total_money;
    O_file << endl;
    O_file.close();

}

当我选择一个名为“ John Doe”的帐户,其余额为$ 45.00并希望提取$ 20.00时,我希望John Doe的钱减少到$ 25.00,并且不要在“ Money”文本文档中添加新行,例如说$ 20.00它一直在做。

现有帐户是:

John Doe

简·多伊

特拉维斯·斯科特

威廉·史密斯

帕特里克·迈克尔斯

Courtney Desmond

他们的银行帐户是:

45.00

98.00

48.00

56.00

120.00`

0 个答案:

没有答案
相关问题