赞
踩
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";
- }
运行结果:
程序虽然不难,但是其思想很重要!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。