C语言入门开发--简单模拟ATM机功能

目标

  • 在电脑上简单运行ATM机存款、取款、查询余额等功能。

思路

  • 首页面:输入密码,假如密码错误,则重新输入密码,密码错误次数达3次,则退出程序。密码正确,则进入选择页面。
  • 选择页面:分别为 存款、取款、查询余额、更改密码、退出 5个选项。
  • 在完成每个选项的内容后,需要继续进行选择是否继续,是则重新进入选择页面,否则退出程序。

使用的函数

  • if函数:在需要判断的地方出现。

  • for函数:该函数主要用于需要循环的部分,例如
    1.在首页面输入密码错误时,则需要重新输入密码,若输错3次则跳出循环。

    int wrongTime = 1; int input;

  • switch函数: 在选择页面时,用于选择选项。

scanf("%d",&choice);
        
        //判断操作
        switch(choice){          //  int 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",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("密码设置成功!");
                    old = n1; 
                    break;
                } else{
                    printf("两次输入不一致! "); 
                }
            } 
                break;
                
        default: //退出
            exit(EXIT_SUCCESS); //exit(EXIT_FAILURE);
            break;  
        } 
        

  • 因为在完成一个选项的内容后,都需要用户选择是否继续,所以可以在switch区域后加一个for函数。
//提示是否继续操作
        for(;1 < 2;){
            printf("是否继续(y/n):"); 
            getchar();   //清除缓存区里的内容
            scanf("%c",&goon);
            
            if(goon == 'y' ){
                break;
            }
            if(goon == 'n');{
                exit(EXIT_SUCCESS);
            }
            
              printf("输入无效 ");
               
            }
                

该程序的所有代码为:

#include
#include

int main(){
    int old = 123;                       //原始密码 
    int input ;    
    int wrongTime = 3;
    int total = 1000; //余额 
    
        printf("----------------------\n");
        printf("   欢迎使用建设银行   \n");
        printf("----------------------\n");
        printf("      请输入密码:");
    
    for(int i = 1;i <= wrongTime; i++){       
        scanf("%d",&input);           //接受用户输入的密码 
    
    if(old == input){
    break;                              //密码正确,跳转页面 
    }
    if(i == wrongTime){              //判断密码错误的次数 
        printf("密码错误次数过多,请联系客服\n");
    return 0;
    } 
        printf("密码错误,请重新输入:\n");    
    }  
                        
    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){          //  int 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",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("密码设置成功!");
                    old = n1; 
                    break;
                } 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;
}

展示图

你可能感兴趣的:(C语言入门开发--简单模拟ATM机功能)