我想製作一個銀行賬戶程序:C++函數使用參考
創建一個賬戶類,它包含一個賬號,一個PIN和一個餘額。 Acct號碼和PIN碼通過構造函數進入。 賬號永遠不會改變。 PIN碼可以更改,但前提是提供了正確的帳號作爲參數。 只有當正確的個人識別號碼和帳戶號碼作爲參數(當然還有新的餘額)提交給此方法時才能更改餘額。 創建一個方法來一起打印帳號和當前餘額。
到目前爲止我有:
#include <iostream>
#include <string>
using namespace std;
//account structure
struct account{
char accountNumber[10];
char pin[10];
double balance;
}account1, account2;
int main() {
//set account info
account1.accountNumber = 00011;
account1.pin = 1234;
account1.balance = 0.00;
//set account info
account2.accountNumber = 00022;
account2.pin = 4321;
account2.balance = 100.00;
//program end
return 0;
}
//function to change account pin
void changePin(char accountNumber, char pin, char newPin)//PROBLEM
{
if(strcmp(accountNumber.pin, pin) == 0)
{
accountNumber.pin = newPin;
}
else
{
cout << "Account number or password incorrect.";
}
}
//change account balance
void changeBalance(char number, char pin, double newBalance)//PROBLEM
{
if((strcmp(account.pin, pin) == 0) && (strcmp(account.accountNumber, number) == 0))
{
account.balance = newBalance;
}
else
{
cout >> "Account number or pin incorrect.";
}
}
//function to print account number and balance
void printInfo(char accountNumber)//PROBLEM
{
cout << "Account Number: " << account.accountNumber;
cout << "Account Balance: " << account.balance;
}
現在我的問題是,我不知道如何引用我想要的帳戶的功能比較進入信息是否經常賬戶信息匹配。
編輯: 我幾乎我的程序做,我只是遇到一個問題在這裏:
class Account;
class Account{
public:
int accountNumber;
char pin[5];
double balance;
void printInfo();
void changeBalance(int n, char * p, double b);
void changePin(int n, char * p, char * newPin);
};
void Account::changePin(int n, char * p, char * newPin)
{
if((n == accountNumber) && (strcmp(p, pin) == 0))
{
//pin = newPin;
}
}
我嘗試寫才能改變管腳數的函數,但我不知道如何寫作業,因爲我不斷收到錯誤。
既然你已經標記了這個'C++',那麼你想在'account'對象上使用* methods *來完成這種事情似乎是合乎邏輯的。這樣,你就可以通過引用一個現有的帳戶來調用該方法。這聽起來合理嗎? –
你似乎是新來的C++。你是一般的編程新手,還是來自不同的語言?這可能有助於我們用您更熟悉的術語來解釋。 – Tim
我已經做了一點的Java,但是啊,我剛剛開始C++ – user3188716