返回银行账户余额的功能

Posted

技术标签:

【中文标题】返回银行账户余额的功能【英文标题】:Function to return bank account balance 【发布时间】:2016-10-20 02:48:23 【问题描述】:

我的函数包含一个字符串和整数,但是运行它时出现错误:

error: could not convert 'balance' from 'int' to 'std::string aka std::basic_string<char>'

我想要完成的是编写一个程序来询问您是要“存款”还是“取款”。 然后,程序将提示输入美元金额(整数值)。编写“update_balance”函数来适当地修改你的余额。如果命令是“存款”,您的函数应该将美元金额添加到当前余额;如果命令是'withdraw',你的函数应该从当前余额中减去美元金额。

命令执行后返回新余额。

我当前的代码是:

#include <iostream>
#include <string>
using namespace std;
//************************FUNCTION TO BE FIXED************************
void update_balance(string command, int dollars, int balance)

    if (command == "withdraw")
    
        balance = balance - dollars;
    
    else
    
        balance = balance + dollars;
    

//************************FUNCTION TO BE FIXED************************

int main()

    //the amount of money in your account
    int balance = 0;

    // Command that will tell your function what to do
    string command;
    cin >> command;

    // number of dollars you would like to deposit or withdraw
    int dollars = 0;
    cin >> dollars;

    balance = update_balance(balance, dollars, command);

    // Prints out the balance
    cout << balance << endl;

    return 0;

【问题讨论】:

您混淆了参数和预期回报与 / void 的顺序。我的意思是 balance = update_balance(balance, dollars, command); 不匹配 void update_balance(string command, int dollars, int balance) 你还是没有注意返回值。从你的使用 update_balance 应该返回一个 int。所以你需要int update_balance(string command, int dollars, int balance) 而不是void update_balance(string command, int dollars, int balance) 并且不要忘记return balance; 我按照您的指示进行了更改,并且成功了。我只需要弄清楚如何将您的帮助标记为已回答 我刚刚意识到这不是答案,而是评论。我更改的代码现在具有 int update_balance(....) 函数,它返回平衡。非常感谢您的帮助 【参考方案1】:

我发现了一些错误。这是我的建议。 设置余额 = 500 而不是 0。 改变

void update_balance(string command, int dollars, int balance)

int update_balance(int balance, int dollars, string command)

在 if-else 循环之后添加一行。

return balance;

添加整数平衡。

改变

balance = update_balance(balance, dollars, command);

balancen = update_balance(balance, dollars, command);

【讨论】:

最后一部分不需要。您可以将其保留为balance【参考方案2】:

我建议通过引用或指针传递参数,如下所示:

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

void update_balance(string command, int& balance, int dollars)

    if (command == "withdraw")
        balance -= dollars;
    else
        balance += dollars;


int main()

    //the amount of money in your account
    int balance = 0;

    // Command that will tell your function what to do
    string command;
    cin >> command;

    // number of dollars you would like to deposit or withdraw
    int dollars = 0;
    cin >> dollars;

    update_balance(command, balance, dollars);

    // Prints out the balance
    cout << balance << endl;

    return 0;

【讨论】:

以上是关于返回银行账户余额的功能的主要内容,如果未能解决你的问题,请参考以下文章

c ++:如何获得余额(在银行系统中)

EXCEL函数计算不同银行账户余额

编写一个类似银行账户的程序,属性:账号 储户姓名 地址 存款余额 利率。方法:存款 取款查询余额计算利息

首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。

用Java编写银行账户存取款业务,急求!!

微信关注的中国工商银行。查询不了余额一点进去就空白。是啥情况?