返回银行账户余额的功能
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;
【讨论】:
以上是关于返回银行账户余额的功能的主要内容,如果未能解决你的问题,请参考以下文章
编写一个类似银行账户的程序,属性:账号 储户姓名 地址 存款余额 利率。方法:存款 取款查询余额计算利息
首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。