我确定这里缺少一些简单的东西。使用我发布的代码,如何将双“条件”设置为双“州际”的值?我认为输入“州际公路”作为对我的“判罚”问题的答案是可行的。我得到的计算结果是垃圾。
double multiplyAmount(double overage)
{
double interstate = 1.25;
double countyRd = 2.23;
double condition;
double result;
cout << "Enter condition of road: ";
cin >> condition;
result = overage * condition;
return result;
}
答案 0 :(得分:1)
可变的名称纯粹是词法,这意味着它们在编译过程之外不存在(例如,在用户输入内容时在运行时不存在)。
有很多方法可以实现您想要的。
这里是其中之一:
#include <string>
double multiplyAmount(double overage)
{
double interstate = 1.25;
double countyRd = 2.23;
double condition;
double result;
string conditionInput;
cout << "Enter condition of road: ";
cin >> conditionInput;
if(conditionInput=="interstate") {
condition = interstate;
} else if(conditionInput=="countryRd") {
condition = countryRd;
} else {
cout << "Unknown condition" << conditionInput << std::endl;
abort();
}
result = overage * condition;
return result;
}