
188124276.jpg
那么首先,我們先來介紹一下要用到的語句
switch語句
1.switch語句可讀性比if語句高
2.同樣功能 if-else if-else if-else
使用
switch (已經(jīng)確定值的變量-int/char-ASCII/bool){
case 10 'c':
break ;
default:
break;
}
int a = 0;
printf("請輸入一個數(shù)字:");
scanf("%d",&a);
switch(a){
case 1:
printf("你輸入的是一\n");
break;
case 2;
printf("你輸入的是二\n");
break;
default:
printf("你輸入的是叁\n");
break;
}
for循環(huán)
重復的事情用for循環(huán)
使用
for(循環(huán)控制變量;運行的條件;控制變量的變化)
for循環(huán)中間條件是必循要的,其他部分可以省略,分號不能省略
for(;1<2;)>>死循環(huán)
循環(huán)和控制變量的初始化只執(zhí)行一次
問:循環(huán)控制變量什么時候變化?
答:當這一次循環(huán)結(jié)束之后再執(zhí)行
注:變量的作用域
局部變量{ } 局部變量的優(yōu)先級最大
全局變量
靜態(tài)變量
例:實現(xiàn)輸出1~10的死循環(huán)
#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循環(huán)
#include <stdio.h>
int main(){
for(int i = 1;i <= 10;i++){
printf("i = %d\n",i);
if(i==5){
break;
}
}
return 0;
}
小貼士:
continue
結(jié)束當前這次循環(huán) 繼續(xù)進行下一次循環(huán)
#include <stdio.h>
int main(){
for(int i = 1;i <= 10;i++){
if(i==5){
continue;
}
printf("i = %d\n",i);
}
return 0;
}
下面我們就來做一下ATM自動取款機的頁面系統(tǒng)
要求如下:
歡迎使用中國建設(shè)銀行
請輸入密碼:
密碼錯誤請重新輸入
密碼錯誤次數(shù)過多 請聯(lián)系工作人員
1.存款
2.取款
3.更改密碼
請輸入新密碼
請確認密碼
設(shè)置成功
兩次密碼不一致
請輸入新密碼
4.余額查詢
5.退出
參考代碼如下
#include <stdio.h>
#include <stdlib.h>
int main(){
int old = 123;//原始密碼
int input;//輸入密碼
int wrongTime = 3; //錯誤次數(shù)
int total = 1000;
printf("**********************\n");
printf(" 歡迎使用建設(shè)銀行系統(tǒng)\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("錯誤次數(shù)過多!\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("密碼設(shè)置成功\n");
old = n1;
}else{
printf("兩次輸入不一致!");
}
}
break;
default:
exit(EXIT_SUCCESS);//正常退出 exit(EXIT_FAILURE)錯誤退出
break;
}
}
//提示是否繼續(xù)
for(;1<2;){
printf("是否繼續(xù)(y/n):");
getchar();
scanf("%c",&goon);
if(goon == 'y'){
break;
}
if(goon == 'n'){
exit(EXIT_SUCCESS);
}
printf("輸入無效");
}
}
return 0;
}
運行結(jié)果示例

X59@SOO10`NUVK_QX_AQEEI.png
最后,祝大家早日發(fā)財!