188124276.jpg
那么首先,我们先来介绍一下要用到的语句
switch语句
1.switch语句可读性比if语句高
2.同样功能 if-else if-else if-else
使用
switch (已经确定值的变量-int/char-ASCII/bool){
case 10 'c':
break ;
default:
break;
}
int a = 0;
printf("请输入一个数字:");
scanf("%d",&a);
switch(a){
case 1:
printf("你输入的是一\n");
break;
case 2;
printf("你输入的是二\n");
break;
default:
printf("你输入的是叁\n");
break;
}
for循环
重复的事情用for循环
使用
for(循环控制变量;运行的条件;控制变量的变化)
for循环中间条件是必循要的,其他部分可以省略,分号不能省略
for(;1<2;)>>死循环
循环和控制变量的初始化只执行一次
问:循环控制变量什么时候变化?
答:当这一次循环结束之后再执行
注:变量的作用域
局部变量{ } 局部变量的优先级最大
全局变量
静态变量
例:实现输出1~10的死循环
#include <stdio.h>
int main(){
for(int i = 1;i <= 10;i++){
printf("i = %d\n",i);
if(i==10){
i=0;
}
}
return 0;
}
小贴士:
break
跳出switch
跳出for循环
#include <stdio.h>
int main(){
for(int i = 1;i <= 10;i++){
printf("i = %d\n",i);
if(i==5){
break;
}
}
return 0;
}
小贴士:
continue
结束当前这次循环 继续进行下一次循环
#include <stdio.h>
int main(){
for(int i = 1;i <= 10;i++){
if(i==5){
continue;
}
printf("i = %d\n",i);
}
return 0;
}
下面我们就来做一下ATM自动取款机的页面系统
要求如下:
欢迎使用中国建设银行
请输入密码:
密码错误请重新输入
密码错误次数过多 请联系工作人员
1.存款
2.取款
3.更改密码
请输入新密码
请确认密码
设置成功
两次密码不一致
请输入新密码
4.余额查询
5.退出
参考代码如下
#include <stdio.h>
#include <stdlib.h>
int main(){
int old = 123;//原始密码
int input;//输入密码
int wrongTime = 3; //错误次数
int total = 1000;
printf("**********************\n");
printf(" 欢迎使用建设银行系统\n");
printf("**********************\n");
//int i = 1;
printf("请输入密码:");
for(int i = 1;i <= wrongTime; i++){
scanf("%d", &input);
//判断密码
if(input == old){
//密码正确
break;
}
if(i == wrongTime){
printf("错误次数过多!\n");
return 1;
}
//密码不正确
printf("密码不正确,请重新输入密码:");
}
//接收用户是否输入
int choice;
char goon;
for(;1<2;){
printf("***************************************\n");
printf("1.存款\n");
printf("2.取款\n");
printf("3.查询余额\n");
printf("4.更改密码\n");
printf("5.退出\n");
printf("***************************************\n");
printf("请选择操作");
scanf("%d",&choice);
switch(choice){
case 1:
int temp;
printf("请输入存款金额:");
scanf("%d", &temp);
total += temp;
printf("存款成功!当前余额为:%d\n",total);
break;
case 2:
int temp2;
for(;1<2;){
printf("输入取款金额:");
scanf("%d", &temp2);
if(temp2 > total){
printf("余额不足 ");
}else{
total -= temp2;
printf("取款成功 余额为%d\n",total);
break;
}
case 3:
printf("当前余额为%d\n",total);
break;
case 4:
int n1;
int n2;
for(;1<2;){
printf("请输入新密码:");
scanf("%d",&n1);
printf("请输再次密码:");
scanf("%d",&n2);
if(n1 == n2){
printf("密码设置成功\n");
old = n1;
}else{
printf("两次输入不一致!");
}
}
break;
default:
exit(EXIT_SUCCESS);//正常退出 exit(EXIT_FAILURE)错误退出
break;
}
}
//提示是否继续
for(;1<2;){
printf("是否继续(y/n):");
getchar();
scanf("%c",&goon);
if(goon == 'y'){
break;
}
if(goon == 'n'){
exit(EXIT_SUCCESS);
}
printf("输入无效");
}
}
return 0;
}
运行结果示例
X59@SOO10`NUVK_QX_AQEEI.png
最后,祝大家早日发财!