求组
#include <iostream>int main()
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
double tempIn,tempOut;
char typeIn,typeOut;
std::cout<<"请输入**.* C或**>* F\n";
std::cin>>tempIn>>typeIn;
std::cin.ignore(100,'\n');
std::cout<<"\n";
switch(typeIn)
{
case 'C':
case 'c':
tempOut=tempIn*RATIO+ADD_SUBTRACT;
typeOut='F';
typeIn='C';
break;
case 'F':
case 'f':
tempOut=(tempIn-ADD_SUBTRACT)/RATIO;
typeOut='C';
typeIn='F';
break;
default:
typeOut='E';
break;
}
if(typeOut!='E')
{
std::cout<<tempIn<<typeIn<<'='<<tempOut<<typeOut<<"\n\n";
}
else
{
std::cout<<"输入错误!"<<"\n";
}
std::cout<<"请输入任意字符结束程序"<<"\n";
std::cin.get();
return 0;
}
这是小甲鱼的C++快速入门的一道题。华氏度与摄氏度的互换。利用do while函数在输入不正确的情况下再次输入,结果进入死循环,求解释,不懂。
我已经纠结很久,求助 没有人{:10_249:} 你再看看那个视频,还有cin.clear()cin.ignore() 你没写,cin的状态错误的时候要清除他错误的状态才能继续正常的输入 逻辑问题建议画个流程图再写代码
页:
[1]