我的代码遇到问题。在顶部,我声明并初始化了一个名为“userRadius”的变量,稍后我请求用户输入半径,以便它将更新该变量并显示“diameter”变量。但是当我运行程序时,用户输入不会影响直径变量并且它输出为零,但是如果我将数学硬编码到输出中,它就可以正常工作。有什么想法吗?
int option{};
double userRadius{};
const double pi = 3.14159;
//display
cout << "Please enter 1 for Diameter:\nPlease enter 2 for Circumference:\nPlease enter 3 for Area:\nPlease enter -1 to quit:\n";
cin >> option;
//math
//double diameter = userRadius * 2;
const double circumference = 2 * pi * userRadius;
const double area = userRadius * userRadius * pi;
else if (option == 1) {
//output
cout << "Please enter radius: ";
cin >> userRadius;
//cout << userRadius;
out << "The diameter is: " << userRadius * 2;//OUTPUT
}
我创建了一个变量,该变量将通过用户输入进行更新,并显示用户输入乘以 2 并期望得到一个数字,即直径。
C++ 不是 Excel。变量在使用时进行评估。更新变量的值不会更新已使用更新变量旧值的任何其他变量。
要执行您正在尝试的操作,您需要在更新circumference
之后重新计算
您的
area
和userRadius
变量,例如:
int option{};
double userRadius{};
const double pi = 3.14159;
//display
cout << "Please enter 1 for Diameter:\nPlease enter 2 for Circumference:\nPlease enter 3 for Area:\nPlease enter -1 to quit:\n";
cin >> option;
//math
// NOT CONST!!!
//double diameter{};
double circumference{};
double area{};
...
else if (option == 1) {
//output
cout << "Please enter radius: ";
cin >> userRadius;
//cout << userRadius;
out << "The diameter is: " << userRadius * 2;//OUTPUT
// HERE!!!
//diameter = userRadius * 2;
circumference = 2 * pi * userRadius;
area = userRadius * userRadius * pi;
}