输入输出小结
问题:这个程序将向用户提出一个“Y/N”问题,然后把用户输入的值赋值给answer变量
要求:1)针对用户输入的Y,y和N,n进行过滤;2)发掘程序可能存在的任何问题,如何解决
#include<iostream>
using namespace std;
int main()
{
char answer;
cout << "请问可以格式化您的硬盘吗?【Y/N】" << "\n";
cin >> answer;
switch (answer)
{
case 'Y':
case 'y':
cout << "随便格式化硬盘是不好的,会让妈妈骂~\n";
break;
case 'N':
case 'n':
cout << "您的选择是明智的!\n";
break;
default:
cout << "您的输入不符合要求!!!";
break;
}
cin.get();
return 0;
}
问题:编写一个温度单位转换程序,提示用户以【xx.x C】或【xx.x F】的格式输入
要求:如果用户输入34.2 C,程序将自动转换位90.32 F并输出。
#include<iostream>
using namespace std;
//华氏温度==摄氏温度*9.0/5.0+32
int main()
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
double tempIn, tempOut;
char typeIn, typeOut;
cout << "请亲们以这样的格式【xx.x C】或者【xx.x F】输入一个温度:";
cin >> tempIn >> typeIn;
cin.ignore(100, '\n');
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')
{
cout << tempIn << typeIn << "=" << tempOut << typeOut<<"\n";
}
else
{
cout << "输入错误\n";
}
cout << "请输入任意字符结束程序:";
cin.get();
return 0;
}