我正在尝试在Celsius和Fahrenheit之间制作转换器,但我遇到了问题。当我运行我的代码时,输入" Celsius to Fahrenheit"它终止了。 这是我的代码:
t_up = pg.TextItem(cell, (255, 255, 255), anchor=(0, 0))
t_up.setPos(i + 0.5, -j + 0.5)
答案 0 :(得分:0)
cin
在遇到空格时会停止阅读ftc
,因此它只会读取一个单词。请改用std::getline()
。这应该有效:
#include <iostream>
#include <string>
int main() {
std::string ftc;
int f;
int c;
std::cout << "Celsius to Fahrenheit or Fahrenheit to Celcius ";
std::getline(std::cin, ftc);
if(ftc == "Celsius to Fahrenheit") {
std::cout << "(c to f) Please provide input ";
std::cin >> c;
f = (c*1.8)+32;
std::cout << f;
} else if(ftc == "Fahrenheit to Celsius") {
std::cout << "(f to c) Please provide input ";
std::cin >> f;
c = (f-32)*0.5556;
std::cout << c;
}
}
阅读本文以获取更多信息:http://www.cplusplus.com/doc/tutorial/basic_io/
答案 1 :(得分:0)
问题在于
if(ftc ==&#34; Celsius to Fahrenheit&#34;)尝试单词如
if(ftc ==&#34; Celsius&#34;)
作品!这样