急
小明有一张银行卡,假设银行卡账号只有6位,其账号为:625210,其密码为:123123,卡内金额共10元,现小明需要进行以下操作:
1、登录:输入账号和密码进行登录,若账号和密码正确,则登录成功,登录成功后跳到操作界面,操作界面包括查询、取款、存款、结束操作,否则只允许登录3次,超过3次程序结束。
2、查询:当选择1时,则进行查询操作,显示其账号和卡内余额。
3、存款:当选择2时,通过输入所存入的金额,使余额发生变化。
4、取款:当选择3时,通过输入取款金额,判断若卡内余额大于取款金额,则正常取出,否则提醒卡内余额步骤,回到操作界面。
5、结束:当选择4时,程序结束 ↵
以下是完整代码实现和注释,望采纳
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define ACCOUNT "625210"
#define PASSWORD "123123"
int balance = 10;
// 卡内余额
// 登录
bool login() {
char account[7], password[7];
printf("请输入您的银行卡账号:");
scanf("%s", account);
printf("请输入您的密码:");
scanf("%s", password);
return strcmp(account, ACCOUNT) == 0 && strcmp(password, PASSWORD) == 0;
}
// 查询
void query() {
printf("您的银行卡账号为:%s\n", ACCOUNT);
printf("您的卡内余额为:%d\n", balance);
}
// 存款
void deposit() {
int amount;
printf("请输入您要存款的金额:");
scanf("%d", &amount);
balance += amount;
}
// 取款
void withdraw() {
int amount;
printf("请输入您要取款的金额:");
scanf("%d", &amount);
if (amount > balance) {
printf("卡内余额不足!\n");
return;
}
balance -= amount;
printf("取款成功!\n");
}
int main() {
int retry = 3;
// 登录机会
while (retry > 0) {
if (login()) {
break;
} else {
printf("您的账号或密码不正确,请重试,您还有%d次机会。\n", retry - 1);
retry--;
}
}
if (retry == 0) {
printf("您的登录机会已经用完,程序结束。\n");
return 0;
}
int option;
while (true) {
printf("请选择您要进行的操作:\n");
printf("1. 查询\n");
printf("2. 存款\n");
printf("3. 取款\n");
printf("4. 结束\n");
scanf("%d", &option);
if (option == 1) {
query();
} else if (option == 2) {
deposit();
} else if (option == 3) {
withdraw();
} else {
break;
}
}
printf("感谢您的使用,程序结束。\n");
return 0;
}
比较简单