无效功能有问题
Having issues with void function
我正在尝试程序显示奖金,但程序将答案呈现为 0。 我对 c++ 非常陌生,因此任何指导将不胜感激。
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
//function prototypes
void enterItems(double, double);
void calcAndDisplayBonus(double &salesAmt, double &rate);
int main()
{
//declare variables
double sales = 0.0;
double bonusRate = 0.0;
//enter input values
enterItems(sales, bonusRate);
//calculate and display bonus
cout << fixed << setprecision(2);
calcAndDisplayBonus(sales, bonusRate);
system("pause");
return 0;
} //end of main function
//*****function definitions*****
void enterItems(double salesAmt, double rate)
{
cout << "Enter sales: ";
cin >> salesAmt;
cout << "Enter bonus rate (in decimal form): ";
cin >> rate;
} //end of enterItems function
void calcAndDisplayBonus(double &salesAmt, double &rate)
{
cout << "Bonus: $" << salesAmt * rate << endl;
} //end of calcAndDisplayBonus function
当你调用enterItems
时,你是通过复制传递参数的。这意味着您的更改不会影响调用方作用域中可用的变量。
要解决它,您可以传递几个引用或指针,也可以依赖从函数返回的一对结果,依此类推。
例如,通过编写:
void enterItems(double &salesAmt, double &rate)
您实际上将解决上述问题。
另一个有效的原型是:
void enterItems(double *salesAmt, double *rate)
即使这个要求在你的代码周围进行一小组更改(当然是示例)。
有很多可能的解决方案,希望这些解决方案能让您了解问题所在。
你的函数
void enterItems(double salesAmt, double rate)
按值获取两个双精度参数,这意味着您在函数内部所做的更改从外部将不可见。你可以通过参考来获取双打:
void enterItems(double &salesAmt, double &rate)
但我更喜欢返回值,但由于您只能返回单个值,因此您需要两个函数:
double enterSales()
{
double tmp;
cout << "Enter sales: ";
cin >> tmp;
return tmp;
}
double enterBonus()
{
double tmp;
cout << "Enter bonus rate (in decimal form): ";
cin >> tmp;
return tmp;
}
//in your main:
double sales = enterSales();
double bonusRate = enterBonus();
相关文章:
- 我似乎对if/else的基本语句有问题:/
- 是否有任何C++功能可以对地图进行排序?
- 我在范围内未声明的错误类有问题
- 我的C++语言蛮力算法有问题
- 我关于函数"Assert"的C++代码有问题
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- C++类中的友元函数有问题?
- 我对数组即 0x6dfe78 有问题
- 我对 std::unique(算法)C++有问题
- 使用 fstream 库并在屏幕上打印的文件有问题?
- 这个模板为什么有问题?如何正确编译
- 我对 MyGraph 属性顶点名称和边权重有问题
- delete[]有问题,如何部分删除内存
- 我有模板功能.通过使用函数std::for_each,用这个容器中的最大数字替换每个正数
- 在C++中使用exit()退出程序有问题吗
- 我的显示功能有问题
- 二叉搜索树在插入功能方面有问题
- 有问题使循环工作与功能相结合
- 结构功能有问题
- 无效功能有问题