我一直在逐步建立银行系统,需要帮助。首先,尽管快速运行。 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`