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 <iostream>
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";
}
运行结果:

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

1952

被折叠的 条评论
为什么被折叠?



