2011-05-29 40 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。