嗨我正在一個簡單的工資申請。以下代碼包含使用switch語句的兩個選項菜單。該代碼還鏈接到名爲「shop-account」的文本文件。該文件僅包含值100.使用功能讀取/寫入文件
對於選項1,用戶應該能夠從文件中轉移金額。用戶應該能夠進行儘可能多的轉帳,而不用透支帳戶。代碼應該能夠輸出當前餘額。我相信我假設要使用void函數,但我以前從未使用它,並且真的很掙扎。我希望有人可以看看代碼,並告訴我哪裏出錯了。謝謝
int read_balance (void);
void write_balance (int balance);
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int selection;
int total;
int balance;
int NewAmount;
do {
cout << "1. Transfer an amount" <<endl;
cout << "2. Quit" << endl;
cout << "Please enter menu number"<<endl;
cin >> selection;
switch(selection)
{
case 1:
cout << "You have choosen to transfer an amount" << endl;
cout << "How much do you wish to transfer from the shop account?"<<endl;
cin >> NewAmount;
balance -= NewAmount;
write_balance (balance);
cout << balance << endl;
break;
case 2:
return 0;
break;
default:
cout << "Ooops, invalid selection!" << endl;
break;
}
}while(selection != 2);
system("pause");
return 0;
}
int read_balance (void)
{
fstream f;
f.open("shop-account.txt");
f >> balance; //error: "balance" is unidentified
f.close();
return balance;
}
void write_balance (int balance)
{
fstream f;
f.open("shop-account.txt");
f << balance;
f.close();
}
我希望你能看看代碼,並告訴我們你認爲你出錯的地方。由於 –
也是唯一一塊代碼,我正在尋找幫助是如何從文件中實際轉移一筆金額,一旦我找到了這一點,我會繼續嘗試,並自己做其餘的 – user3057816
缺少縮進和它不是一個事實可編輯的例子帳戶爲「你要去哪裏錯」? - 在你的'read_balance'裏,'balance'在哪裏?沒有地方。將'int balance;'添加到函數中。 – ShinTakezou