你想一夜暴富吗,来学银行系统吧———银行界面的简单设计

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


最后,祝大家早日发财!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,411评论 0 2
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,536评论 0 17
  • 控制流 Swift提供了各种控制流程语句。这些包括while循环多次执行任务; if,guard以及switch基...
    Fuuqiu阅读 385评论 0 0
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 408评论 0 0
  • 学习内容全局变量与局部变量switch语句for循环while循环Break与Continue关键字printf与...
    零散的蒲公英阅读 461评论 0 0