模拟自动售货机
实例说明:
设计一个自动售货机的程序,运行程序,提示用户输入要选择的选项,当用户输入以后,提示所选择的内容。本程序使用 switch分支结构,来解决程序中的选择问题。
实现过程:
1. 在VC++6.0中创建一个C文件。
2.引用头文件,代码如下:
#include <stdio.h>
#include <stdlib.h>
3.程序主要代码如下:
#include <stdio.h>
#include <stdlib.h>
void main (){
int button;
system("cls");
printf("***************************\n");
printf("* 可选择的按键: *\n");
printf("* 1.巧克力 *\n");
printf("* 2.蛋糕 *\n");
printf("* 3.可口可乐 *\n");
printf("***************************\n");
printf("从1-3中选择按键\n");
scanf("%d",&button);
switch(button){
case 1:
printf("你选择了巧克力\n");
break;
case 2:
printf("你选择了蛋糕\n");
break;
case 3:
printf("你选择了可口可乐\n");
break;
default:
printf("输入错误!\n");
break;
}
printf("\n");
}
指点迷津:
使用清屏语句system("cls");需要引用stdlib.h
运行结果:
技术要点:
本实例中主要用到了switch语句。switch语句是多分支选择语句,其一般形式如下:
swith(表达式)
{
case 常量表达式 1: 语句1;
case 常量表达式 2: 语句2;
case 常量表达式 3: 语句3;
......
case 常量表达式 n: 语句n;
default:语句n+1;
}
其语义是:计算表达式的值,并逐个与其后的常量表达式值比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面case 后的所有语句。当表达式的值与所有case后的常量表达式的值均不相同时,则执行default后的语句。
关于switch语句有一下几点说明:
1. 每一个case 的常量表达式的值必须互不相同,否则就会出现相互矛盾的现象。
2. 各个case和default的出现次序不影响执行结果。
3. 在执行一个 case 分支后,如果想使流程跳出switch结构,即终止switch语句的执行,可以在相应语句后加 break来实现。最后一个default 可以不加 break 语句。