【C++】switch语句用法详解

switch语句并不是为了处理取值范围而设计的。switch语句中的每一个case标签必须是一个单独值,这个值必须是整数(包括char),因此它也无法处理浮点运算。另外,case标签值必须是常量。

如果是取值范围的话,用If esle 判断,如果选项超过两个,且固定,使用switch语句更加简单明了 

switch()中的选项必须是一个结果为整数值得表达式

swtich( 结果为整数值的表达式 )
{
    case label1 : statement(s)
    case label2 : statement(s)
    ....
    default     : statement(s)
}

 程序跳到switch中特定代码后,将依次执行之后所有语句,除非有明确其他指示break,都在将一直执行下去。

	cin >> choice;
	while (choice != 'Q' && choice !='q')
	{
		switch (choice)
		{	
            case 'a'
		case 'A': cout << "\a\n";
			break;
            case 'r'
		case 'R': report();
			break;
            case 'l'
		case 'L': cout << "The boss was in all day .\n";
			break;
            case 'c'
		case 'C':comfort();
			break;
		default: cout << "没有这个选项.\n";
			break;
		}
		showmenu();
		cin >> choice;
	}

 


一些破解软件最简单的界面选项程序 

#include 
using namespace std;
void showmenu();
void report();
void comfort();
int main()
{
	showmenu();
	int choice;
	cin >> choice;
	while (choice != 5)
	{
		switch (choice)
		{	
		case 1: cout << "\a\n";
			break;
		case 2: report();
			break;
		case 3: cout << "The boss was in all day .\n";
			break;
		case 4:comfort();
			break;
		default: cout << "没有这个选项.\n";
			break;
		}
		showmenu();
		cin >> choice;
	}
	cout << "Bye!\n";
	system("pause");
	return 0;
}

void showmenu()
{
	cout << "Please enter 1, 2 ,3 ,4 ,5: \n"
		"1) alarm              2) report\n"
		"3) alibi              4) comfort\n"
		"5) quit\n";
}
void report()
{
	cout << "这周心情不错\n"
		"赚钱了!!!!!!\n";
}
void comfort()
{
	cout << "你刚刚被任命为CEO!\n";
}

 运行结果:

【C++】switch语句用法详解_第1张图片

 程序虽然不难,但是其思想很重要! 

你可能感兴趣的:(C++,Primer,Plus,C++,Primer,Plus)