请求两次用户输入

User input requested twice

本文关键字:两次 用户 输入 请求      更新时间:2023-10-16

更新:已回答! 谢谢你,@Ken Y-N,我真的很感谢你的帮助!!

免责声明:我是第一学期的 c++ 学生,我不知道我在做什么,我的教科书令人困惑。 此外,代码的样式对于给定的赋值是强制性的。 请继续了解这些知识!

OP:我有一个代码,可以将华氏度转换为摄氏度并显示摄氏温度。 但是,它要求两次输入华氏度。 我已经尝试在我能想到的任何地方(以及在其他线程中推荐的地方(更改代码,但它要么不能解决问题,要么会导致其他错误并且无法正确构建。提前感谢您的帮助,这是我最新的功能构建中的代码:

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
//declare function prototypes
double getFahrenheit();
double calcCelsius();
int main()
{
    double fahrenheit = 0.0;
    double celsius = 0.0;
    //call getFahrenheit function
    fahrenheit = getFahrenheit();
    //call calcCelsius function
    celsius = calcCelsius();
    //display temperature in degrees celsius
    cout << "The temperature is: " << celsius << endl;
    return 0;
} //end of main function
double getFahrenheit()
{
    double fahrenheitTemp = 0.0;
    cout << "Enter temperature in Fahrenheit: " << endl;
    cin >> fahrenheitTemp;
    return fahrenheitTemp;
}
double calcCelsius()
{
    double fahrenheit = getFahrenheit();
    double celsiusTemp = 5.0 / 9.0 * (fahrenheit - 32.0);
    return celsiusTemp;
}

我认为该错误与以下方面有关:

//call getFahrenheit function
fahrenheit = getFahrenheit();

以及此函数中的"双华氏度 = getFahrenheit((;"行:

double calcCelsius()
{
    double fahrenheit = getFahrenheit();
    double celsiusTemp = 5.0 / 9.0 * (fahrenheit - 32.0);
    return celsiusTemp;
}

不过,同样,我不知道如何写这个,并且在保持我的导师要求的结构的同时仍然有一个功能性的构建。 这一章真的很挣扎!

问题是,正如你所确定的,你给getFahrenheit()打了两次电话。(实际上问题是"我不知道我在做什么",但让我们掩盖一下。一个解决方案是将fahrenheit作为参数来calcCelsius(),因此我们得到:

double calcCelsius(double fahrenheit);
//...
    celsius = calcCelsius(fahrenheit);
//...
double calcCelsius(double fahrenheit)
{
//...

这应该足以让你接近答案。