Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 数组和函数c+出现问题+;_C++_Arrays_Function - Fatal编程技术网

C++ 数组和函数c+出现问题+;

C++ 数组和函数c+出现问题+;,c++,arrays,function,C++,Arrays,Function,基本上,水在特定温度下有不同的比重,我将其设置为两个数组,这取决于使用SI表示公制,i表示英制。我想弄清楚如何使用用户输入的水的温度来确定其相应的比重,或者如何让用户在不重新开始的情况下重新输入一个值。现在,如果你输入一个标准温度,我就可以让它工作了,但是如果用户之前输入了一个非标准值,我需要弄清楚如何让用户重新输入一个温度 例如: 如果您完成该过程并选择Y、SI和T,然后进入coutA,而循环应该可以解决您的问题。见下文: else if (a == "T") { int temper

基本上,水在特定温度下有不同的比重,我将其设置为两个数组,这取决于使用SI表示公制,i表示英制。我想弄清楚如何使用用户输入的水的温度来确定其相应的比重,或者如何让用户在不重新开始的情况下重新输入一个值。现在,如果你输入一个标准温度,我就可以让它工作了,但是如果用户之前输入了一个非标准值,我需要弄清楚如何让用户重新输入一个温度

例如:
如果您完成该过程并选择Y、SI和T,然后进入coutA
,而
循环应该可以解决您的问题。见下文:

else if (a == "T") {
    int temperature;
    cout << "\nWhat is the temperature of water\n";
    cin >> temperature;

    while (temperature <= 88) {
        cout << "Temperature should be greater than 88. Try again: ";
        cin >> temperature;
    }
    T[1] = temperature;
}

您甚至可以定义一个函数
getTemp()
,除了上面
中的最后一个语句,否则如果
块返回一个
int
,对应于用户输入的有效温度。

请修复显示代码的缩进。随机缩进使显示的代码几乎无法读取。
cin>>a--为变量指定一个字母的名称会使代码更难阅读、更难理解、更难调试和更容易出错。使用更具描述性的名称。对于不在数组中的值,可以进行插值。最简单、最简单的方法是假设数据点由直线段连接;这称为线性插值。看起来您有并行阵列。使用一个项目数组,其中每个项目都包含一组相关值,通常更简单、更不复杂。您可以使用
struct
定义合适的项类型。您可以使用任何优秀的程序员编辑器或免费的独立工具(如AStyle)来修复代码的缩进。我使用了AStyle。请注意,在您的函数中,您试图访问数组SI[I],它没有在该函数中声明,而是在main中声明的,因此您无法在您尝试编写的函数中访问它
else if (a == "T") {
    int temperature;
    cout << "\nWhat is the temperature of water\n";
    cin >> temperature;

    while (temperature <= 88) {
        cout << "Temperature should be greater than 88. Try again: ";
        cin >> temperature;
    }
    T[1] = temperature;
}
while (temperature <= MIN_TEMP) {