>sa>>sp; 如果(sa==cel&&sp==fah){ tempF=32+(9*t)/5; std::cout>>温度标度错误!!!!,c++,if-statement,C++,If Statement" /> >sa>>sp; 如果(sa==cel&&sp==fah){ tempF=32+(9*t)/5; std::cout>>温度标度错误!!!!,c++,if-statement,C++,If Statement" />

如何在c++;? 我是C++初学者,我写了一个简单的程序来研究C++的语法。代码将返回一个响应,但它是错误的。代码是: // converter_temp1.cpp // converter 3 temp. celsius, fahrenheit e kelvin // entrar: temperatura, escala atual e pretendida #include "stdafx.h" int main() { double t, tempC, tempF, tempk; std::string sa, sp, cel, fah, kel; std::cout << "Enter with your temperature, actual and pretend scale, for celsius = cel, fahrenheit = fah and kelvin = kel" << std::endl; std::cin >> t >> sa >> sp; if (sa == cel && sp == fah) { tempF = 32 + (9 * t) / 5; std::cout << ">>>> Temperature is " << tempF << " F in Fahrenheit!!!! <<<<" << std::endl; }else { if (sa == kel && sp == cel) { tempC = t + 273; std::cout << ">>>> Temperature is " << tempC << " C in Celsius!!!! <<<<" << std::endl; } else { std::cout << ">>>> Temperature scale wrong!!!! <<<<" << std::endl; } } return 0; } //转换器\u temp1.cpp //转换器3温度。摄氏度、华氏度和开尔文 //参赛者:温度表,艾斯卡拉·阿图尔和艾达 #包括“stdafx.h” int main() { 双t,tempC,tempF,tempk; 标准:字符串sa、sp、cel、fah、kel; 标准::cout>>sa>>sp; 如果(sa==cel&&sp==fah){ tempF=32+(9*t)/5; std::cout>>温度标度错误!!!!

如何在c++;? 我是C++初学者,我写了一个简单的程序来研究C++的语法。代码将返回一个响应,但它是错误的。代码是: // converter_temp1.cpp // converter 3 temp. celsius, fahrenheit e kelvin // entrar: temperatura, escala atual e pretendida #include "stdafx.h" int main() { double t, tempC, tempF, tempk; std::string sa, sp, cel, fah, kel; std::cout << "Enter with your temperature, actual and pretend scale, for celsius = cel, fahrenheit = fah and kelvin = kel" << std::endl; std::cin >> t >> sa >> sp; if (sa == cel && sp == fah) { tempF = 32 + (9 * t) / 5; std::cout << ">>>> Temperature is " << tempF << " F in Fahrenheit!!!! <<<<" << std::endl; }else { if (sa == kel && sp == cel) { tempC = t + 273; std::cout << ">>>> Temperature is " << tempC << " C in Celsius!!!! <<<<" << std::endl; } else { std::cout << ">>>> Temperature scale wrong!!!! <<<<" << std::endl; } } return 0; } //转换器\u temp1.cpp //转换器3温度。摄氏度、华氏度和开尔文 //参赛者:温度表,艾斯卡拉·阿图尔和艾达 #包括“stdafx.h” int main() { 双t,tempC,tempF,tempk; 标准:字符串sa、sp、cel、fah、kel; 标准::cout>>sa>>sp; 如果(sa==cel&&sp==fah){ tempF=32+(9*t)/5; std::cout>>温度标度错误!!!!,c++,if-statement,C++,If Statement,您从未为变量cel、fah和kel赋值,因此,它们都是用空字符串初始化的。这就是为什么当您输入任何非空值作为sa和sp,它们永远不等于cel、fah或kel,您将进入else分支 顺便说一句,你自己可以比键入这个问题更快地找到问题。请阅读如何操作。你从不初始化用于比较的字符串。为什么你期望有什么不同?这不是问题所在,但除非你需要额外的东西,否则不要使用std::endl。'\n'结束一行。

您从未为变量
cel
fah
kel
赋值,因此,它们都是用空字符串初始化的。这就是为什么当您输入任何非空值作为
sa
sp
,它们永远不等于
cel
fah
kel
,您将进入
else
分支


顺便说一句,你自己可以比键入这个问题更快地找到问题。请阅读如何操作。

你从不初始化用于比较的字符串。为什么你期望有什么不同?这不是问题所在,但除非你需要额外的东西,否则不要使用
std::endl
'\n'
结束一行。