2011-05-29 63 views
0

我正在做這個項目銀行系統 這個系統跟蹤客戶在銀行的賬戶。每個帳戶都有一個號碼,名稱和餘額。系統提供以下功能:創建新帳戶,提取,存款和關閉帳戶。
該系統具有如下界面:
選擇:
1-添加新帳戶
2-撤回
3-存款
4-獲取餘額
5-退出
當用戶選擇1,系統生成一個新的ID,然後要求用戶輸入該帳戶的名稱。初始餘額設置爲零。C++:如何獲得餘額(在銀行系統)

當用戶選擇2,系統要求用戶輸入將被撤回賬戶ID和金額。如果此金額大於餘額,則會顯示一條消息,表明由於餘額不足,此交易失敗。如果餘額足夠,則會減少金額以提取。

當用戶選擇3。系統要求用戶輸入賬戶ID和要存入的金額。系統以此數量增加餘額。

當用戶選擇4,系統要求用戶輸入帳戶ID,然後打印帳戶的名稱和平衡。

每次任務完成後,系統回來到主菜單上面,直到用戶選擇5

# include <iostream> 
#include <string> 
using namespace std; 
# include<iomanip> 

class Bank 
{ 
private: 
    char name; 
    int acno; 
    float balance; 
public: 
    void newAccount(); 
    void withdraw(); 
    void deposit(); 
    void getbalance(); 
    void disp_det(); 
    }; 
//member functions of bank class 
void Bank::newAccount() 
{ 
cout<<"New Account"; 
cout<<"Enter the Name of the depositor : "; 
cin>>name; 
cout<<"Enter the Account Number : "; 
cin>>acno; 
cout<<"Enter the Amount to Deposit : "; 
cin >>balance; 
} 
void Bank::deposit() 
{ 
float more; 
cout <<"Depositing"; 
cout<<"Enter the amount to deposit : "; 
cin>>more; 
balance+=more; 
} 
void Bank::withdraw() 
{ 
float amt; 
cout<<"Withdrwal"; 
cout<<"Enter the amount to withdraw : "; 
cin>>amt; 
balance-=amt; 
} 
void Bank::disp_det() 
{ 
cout<<"Account Details"; 
cout<<"Name of the depositor : "<<name<<endl; 
cout<<"Account Number  : "<<acno<<endl; 
cout<<"Balance    : $"<<balance<<endl; 
} 
// main function , exectution starts here 
void main(void) 
{ 
Bank obj; 
int choice =1; 
while (choice != 5) 
{ 
cout<<"Enter \n 1- to create new account \n 2- Withdraw\n 3- Deposit \n 4- get balance\n 5 Exit"<<endl; 
cin>>choice; 
switch(choice) 
{ 
    case '1' :obj.newAccount(); 
     break; 
    case '2' :obj.withdraw(); 
     break; 
    case 3: obj.deposit(); 
     break; 
    case 4: getbalance(); 
     break; 
    case 5: 
     break; 
    default: cout<<"Illegal Option"<<endl; 
} 
} 

} 
+0

請格式化您的問題,並指定您確切需要什麼。 – 2011-05-29 08:09:41

+0

在開關語句結束時,我想獲得平衡它成爲一個錯誤!情況4:getbalance(); 休息; – roody 2011-05-29 08:16:09

回答

2

問題1:
您已在方法中的錯字它讓你的平衡&您所呼叫的一個,重命名Bank::disp_det()Bank::getbalance()

void Bank::getbalance() 
{ 
    cout<<"Account Details"; 
    cout<<"Name of the depositor : "<<name<<endl; 
    cout<<"Account Number  : "<<acno<<endl; 
    cout<<"Balance    : $"<<balance<<endl; 
} 

問題2:
您不通過Bank,Sinc的對象呼叫Bank::getbalance E - 這是你應該叫它如下成員函數:

case 4: 
    obj.getbalance(); 
    break; 
+0

謝謝你們(y)它現在在工作 – roody 2011-05-29 08:28:48

+0

@roody:對你有好處:)你應該考慮標記一個答案爲可接受的,Ofcourse,幫助你解決問題的答案。 – 2011-05-29 08:33:52

1

在情況4,你應該叫obj.getbalance()。而且它還沒有寫入:看起來你寫了一個disp_det()而不是顯示餘額。嘗試重命名。

0

這不是做你想要什麼,視情況標籤有不同的類型:

switch(choice) 
{ 
    case '1' :obj.newAccount(); 
     break; 
    case '2' :obj.withdraw(); 
     break; 
    case 3: obj.deposit(); 
     break; 
    case 4: getbalance(); 
     break; 
    case 5: 
     break; 
    default: cout<<"Illegal Option"<<endl; 
} 

要選擇的選項'1''2',當用戶選擇int時,用戶必須輸入31和32。

相關問題