C语言学习之简易ATM机程序

一、目的

  • 了解C语言的学习内容与重点
  • 学习C语言中for、while、switch、do...while循环与if,else等语句的使用。
  • 在不使用函数的情况下,制作一个简易的ATM机程序来熟悉各种语句的使用。

二、技术及其使用

1.利用printf设计欢迎界面
printf("\n1.取款\n");
printf("2.存款\n");
printf("3.更改密码\n");
printf("4.退出\n");
printf("请选择你的操作:");
2.利用for循环限制密码错误次数
//输入并判断密码
for (int i = 1; i <= 4; i++) {
        scanf_s("%d", &key);
        if (key == password) {
            break;
        }
        if (key != password) {
            printf("密码输入错误,请重新输入 (还可以输入%d次):", (j - i));    
        }
        if (i == 4) {
            printf("此卡已冻结,请联系客服\n");
            return 0;
        }
}
3.利用If、goto语句switch循环编写取款程序
S2:printf("开始取款\n");
                printf("请输入金额:");
                scanf_s("%d",&qu);
                if ((Q - qu) >= 0) {
                    printf("取款成功,当前余额为:%d\n", (Q - qu));
                    goto S1;//回到操作选项
                }
                else {
                    printf("余额不足,是否继续1/0\n");
                    S3:scanf_s("%d", &t);
                    switch (t)
                    {
                    case 1:
                        goto S2;//回到取款页面
                        break;
                    case 0:
                        goto S1;//回到操作选项
                        break;
                    }
                }
4.利用for循环,goto、If语句编写修改密码程序
for (int i = 1; i <= 4; i++) {
                    printf("开始更改密码\n");
                    printf("请输入原密码:");
                    scanf_s("%d", &key);
                    if (key == password) {
                        printf("请设置密码:");
                        scanf_s("%d", &keys);
                        password = keys;//将修改的密码赋给password
                        printf("请确认密码:");
                    S5:scanf_s("%d", &keyss);
                        if (keys == keyss) {
                            printf("修改密码成功\n");
                            goto S4;//回到输入密码的初始页面(重新输入修改后的密码)
                        }
                        else {
                            printf("输入的密码与设置的不同,请重新输入:");
                            goto S5;
                        }
                    }
                    if (key != password) {
                        printf("密码输入错误,请重新输入 (还可以输入%d次):", (j - i));
                    }
                    if (i == 4) {
                        printf("此卡已冻结,请联系客服\n");
                        return 0;
                    }
                }

三、简易ATM机程序预览(GIF)

简易ATM机.gif

四、结束语

今天的这个ATM机小程序的编写花了我很长时间,因为在不使用函数的情况下,虽然思路很简单但写起代码来很复杂。毕竟我要在各种循环里嵌入另外的循环,及其容易跳不出来,尤其因为我的能力有限而选择了goto语句导致动不动就到了奇怪的地方,不过好在经历长时间的修改后,整个程序正按照我的预想正常的运行。

你可能感兴趣的:(C语言学习之简易ATM机程序)