长安的花

当学问走过漫漫古道
凿刻入千窟,心也从愚昧中苏醒

0%

c++学习04-switch

cpp简单整理,精益求精,从基础开始深度学习cpp

tips:C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入 return 0 ,表示程序正常退出,但是不是所有的编译器都是如此做, 有的是提示错误, 有的会提示warning自动添加。

switch的应用案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>

int main(){
/*
' '表示字符

" "表示是字符串
*/

char answer;
std::cout << "can i clean you disk?[y/n]" << "\n";
std::cin >> answer;


switch (answer)
{
case 'Y':
case 'y':
std::cout << "it is not good to clear the disk" << "\n";

break;
case 'N':
case 'n':
std::cout <<"you choose is right" << "\n";
break;
default:
std::cout <<"your input is wrong" << "\n";

break;
}
/*
将程序窗口进行停留
*/
std::cin.ignore(100,'\n');
std::cout<<"input whatever to stop"<<"\n";
std::cin.get();

return 0;

}

switch 合法性检查

不要相信任何程序的输入,尤其是由用户输入的东西

往好处说,非法输入会让程序变得毫无用处;

往坏处说,非法输入会导致程序甚至是整个系统崩溃。

对输入数据进行合法性检查的具体做法取决于具体的变量类型和它们的取值范围

检查某个数值是不是一个正数(例如商品的价格、老妈的年龄、老婆的体重)

检查某个数值是不是落在给定的范围(例如女朋友的年龄不能小于0或者大于120吧?)

检查某个字符是不是一个特定的值(例如前边的Y或者N)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>

void convertTemperature(double tempIn, char typeIn);

int main()
{
double tempIn;
char typeIn;

std::cout << "please input as xx.x c or xx.c F: ";
std::cin >> tempIn >> typeIn;
std::cin.ignore(100, '\n');
std::cout << "\n";

convertTemperature(tempIn, typeIn);

return 0;
}

void convertTemperature(double tempIn, char typeIn)//封装
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;

float tempOut;
char typeOut;

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 << "input not suitable!" << "\n\n";
}

std::cout << "input any word!" << "\n";
std::cin.get();
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道