C++语言程序设计

对于一条路线需要分为多个分支路线时，用前面的if 语句书写变得异常繁琐，而且不易阅读。为此，C++提供了另外一套语句形式--switch语句
下面我们通过一个具体例子来进一步加深对if-else控制结构的认识，程序的功能是：要求用户输入一个整数，整数范围为1~5之间，然后，计算机根据整数的值，发出鸣叫声。例如，输入数字1，则鸣叫一声，输入数字2，则鸣叫两声，…，如果是1~5之外的数，则没有叫声。程序中定义了一个宏BEEP，当程序中遇到BEEP，便用cout << "\a \n"替换，有关宏的内容在第9章详细介绍。\a是一个转义字符，它使计算机发出鸣叫声。

| 例4-12

#include <iostream.h>
#define BEEP cout << "\a \n"
void main()
{
int num;
cout << "Please enter a number: ";
cin >> num;
// Use multiple if statements to beep.
if (num == 1){
BEEP;
}
else if (num == 2){
BEEP;BEEP;
}
else if (num == 3){
BEEP; BEEP; BEEP;
}
else if (num == 4){
BEEP; BEEP; BEEP; BEEP;
}
else if (num == 5){
BEEP; BEEP; BEEP; BEEP; BEEP;
}
}

由于这个程序if嵌套的次数较多，不是很直观。其实，这个程序用可以处理多分支的switch语句，会更加清晰，可读性更好：

| 例4-13

#include <iostream.h>
#define BEEP cout << "\a \n"
void main()
{
int num;
cout << "Please enter a number: ";
cin >> num;
switch (num)
{
case 1: BEEP;
break;
case 2: BEEP; BEEP;
break;
case 3: BEEP; BEEP; BEEP;
break;
case 4: BEEP; BEEP; BEEP; BEEP;
break;
case 5: BEEP; BEEP; BEEP; BEEP; BEEP;
}
}