首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++:how以获得平衡(在银行系统中)

c++:how以获得平衡(在银行系统中)
EN

Stack Overflow用户
提问于 2011-05-29 08:07:32
回答 3查看 6.3K关注 0票数 0

我在做这个项目银行系统这个系统跟踪客户在银行的帐户。每个帐户都有一个号码、名称和余额。该系统提供以下功能:创建新帐户、取款、存款和关闭帐户。

该系统具有以下接口:

选择:

1-增加新帐户

2-撤回

3-存款

4-取得平衡

5-出口

当用户选择1时,系统会生成一个新的ID,然后要求用户为该帐户输入一个名称。初始余额设置为零。

当用户选择2时,系统要求用户输入帐户ID和要提取的金额。如果此金额大于余额,则会显示一条消息,表明此事务由于余额不足而失败。如果余额足够的话,它就会减少所需提取的金额。

当用户选择3时,。系统要求用户输入帐户ID和要存入的金额。系统将余额增加此金额。

当用户选择4时,系统要求用户输入帐户ID,然后打印帐户的名称和余额。

每次任务完成时,系统都会返回到上面的主菜单,直到用户选择5。

代码语言:javascript
复制
# 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;
}
}

}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-29 08:16:38

问题1:

您已经做了一个错误的方法,以获得平衡&您正在调用的余额,将Bank::disp_det()重命名为Bank::getbalance()

代码语言:javascript
复制
void Bank::getbalance()
{
    cout<<"Account Details";
    cout<<"Name of the depositor : "<<name<<endl;
    cout<<"Account Number        : "<<acno<<endl;
    cout<<"Balance               : $"<<balance<<endl;
}

问题2:

您不能通过Bank::getbalance的对象调用Bank,因为它是一个成员函数,您应该按如下方式调用它:

代码语言:javascript
复制
case 4: 
     obj.getbalance();
     break;
票数 2
EN

Stack Overflow用户

发布于 2011-05-29 08:15:28

在第4种情况下,您应该调用obj.getbalance()。而且它还没有编写:似乎您已经编写了一个disp_det(),它显示了平衡。试着重命名。

票数 1
EN

Stack Overflow用户

发布于 2011-05-29 09:25:07

这并不完全符合您的要求,因为案例标签有不同的类型:

代码语言:javascript
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6166639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档