C++快速入门---输出输入小结(4)
题目一
这个程序将向用户提出一个“Y/N”问题,然后把用户输入的值赋值给answer变量
#include <iostream>
int main()
{
char answer;
std::cout << "请问可以格式化你的硬盘吗?[Y/N]" << "\n";
std::cin >> answer;
switch (answer)
{
case 'Y':
case 'y':
std::cout << "随便格式化硬盘是不好的,会让妈妈骂的~~" << "\n";
break;
case 'N':
case 'n':
std::cout << "您的选择是明知的!" << "\n";
break;
default:
std::cout << "您的输入不符合要求!!!" << "\n";
break;
}
std::cin.ignore(100, '\n');//100个字符以内,只要遇到回车,忽略
std::cout << "输入任何字符结束程序!" << "\n";
std::cin.get();
return 0;
}
题目二
编写一个“温度单位转换程序”,提示用户以[xx.xC]或[xx.xF]的格式输入。
要求:如果用户输入的是34.2C程序将自动转换为90.32F并输出
#include <iostream>
int main()
{
// 华氏温度 == 摄氏温度 * 9.0 / 5.0 + 32
const unsigned short ADD_SUBTRACT =32;
const double RATIO = 9.0 / 5.0;
double tempIn, tempOut;
char typeIn, typeOut;
std::cout << "请亲们以[xx.x C]或者[xx.x F]这样的格式输入一个温度:";
std::cin >> tempIn >> typeIn; //tempIn=32.4 typeInC
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\n";
}
std::cout << "请输入任何字符结束程序!" << "\n\n";
std::cin.get();
return 0;
}