用户输入变量未更新

问题描述 投票:0回答:1

我的代码遇到问题。在顶部,我声明并初始化了一个名为“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++ user-input
1个回答
1
投票

C++ 不是 Excel。变量在使用时进行评估。更新变量的值不会更新已使用更新变量旧值的任何其他变量。

要执行您正在尝试的操作,您需要在更新circumference

之后
重新计算
您的
areauserRadius
变量,例如:

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; }
    
© www.soinside.com 2019 - 2024. All rights reserved.