题目
一个简单的存取款系统,用户可以选择存钱、取钱、转账、修改密码和退出系统等业务。程序使用了菜单界面来展示业务选项,并根据用户的选择调用相应的函数进行处理。具体功能如下:
-
登录:实现登录功能,需要输入正确密码才能进入菜单系统。
-
菜单:显示菜单界面,列出其他所有业务选项及其选择命令。
-
存钱:实现存钱功能,根据用户输入的数额更新余额。
-
取钱:实现取钱功能,根据用户输入的数额更新余额。
-
转账:实现转账功能。
-
修改密码:修改登录时的密码。
登录
// 定义一个整型变量password,并赋值为123456,作为用户密码
int password = 123456;
// 定义一个名为login的函数,该函数没有参数,返回类型为void,即无返回值
void login(void)
{
// 定义一个整型变量input,用于接收用户输入的密码
int input;
// 定义一个整型变量i,初值为0,用于记录用户输入密码错误的次数
int i = 0;
// 打印欢迎信息,欢迎用户来到银行存取款系统
printf("------------欢迎来到银行存取款系统------------\n");
// 打印一条信息,表示用户插卡成功
printf("尊敬的用户,插卡成功\n");
// 开始一个无限循环,只要用户没有输入正确的密码,就会一直循环下去
while (1)
{
// 提示用户输入6位数字密码
printf("请输入 6 为数字密码:");
// 使用gets函数从标准输入读取用户输入的密码,并存储在input变量中
gets(input);
// 检查用户输入的密码是否和预设的密码相同
if (input== password)
// 如果相同,则结束循环,进入下一步操作(在这个程序中没有下步操作,所以会直接退出程序)
return;
else
{
// 如果不相同,打印错误信息"error"
printf("error\n");
// 将用户输入密码错误的次数加1
i++;
// 如果用户输入密码错误的次数大于或等于3次
if (i >= 3)
{
// 打印错误信息,告诉用户错误次数太多,需要退出系统
printf("错误次数太多,退出系统");
// 使用exit函数退出程序,参数0表示程序正常退出
exit(0);
}
else
{
// 如果用户输入密码错误的次数小于3次,打印剩余尝试次数信息
printf("密码错误,还剩余%d 次机会\n", 3 - i);
}
}
}
}
用户需要输入预设的密码(这里是123456),如果输入正确,则登录成功;如果输入错误,系统会提示用户还剩余几次尝试的机会,最多尝试3次,如果3次都错误,则系统会提示用户错误次数太多,需要退出系统。
菜单
// 定义一个名为 menu 的函数,没有参数,返回类型为 void,即无返回值
void menu(void)
{
// 调用系统函数,清空屏幕,用于显示新的菜单
system("cls");
// 打印一个新行,使接下来的输出在屏幕的下一行开始
printf("\n");
// 打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一个包含“***”和“银行存取款系统”的行,表示这是银行存取款系统的菜单
printf("\n***-------------------------银行存取款系统----------------------------***\n");
// 再次打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一个用“||”和“\n”生成的文本行,表示这是菜单的选项部分
printf("\n || || \n");
// 打印一个包含“存钱业务”和对应的数字“1”的文本行,表示用户可以选择存钱业务
printf("\n || *存钱业务 请按 1 || \n");
// 打印一个包含“取钱业务”和对应的数字“2”的文本行,表示用户可以选择取钱业务
printf("\n || *取钱业务 请按 2 || \n");
// 打印一个包含“转账业务”和对应的数字“3”的文本行,表示用户可以选择转账业务
printf("\n || *转账业务 请按 3 || \n");
// 打印一个包含“修改密码”和对应的数字“4”的文本行,表示用户可以选择修改密码
printf("\n || *修改密码 请按 4 || \n");
// 打印一个包含“退出系统”和对应的数字“0”的文本行,表示用户可以选择退出系统
printf("\n || *退出系统 请按 0 || \n");
// 再次打印一个用“||”和“\n”生成的文本行,表示这是菜单选项的结尾部分
printf("\n || || \n");
// 打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一行提示用户输入选择的文本
printf("请输入您的选择\n");
}
其目的是在终端显示一个模拟的菜单界面,让用户可以通过输入数字选择不同的功能。
存钱
// 定义一个浮点数变量 money 并初始化为 10000
float money = 10000;
// 定义一个名为 Saving 的函数,该函数没有参数并返回 void
void Save_money(void)
{
// 定义一个整型变量 a 并初始化为 0
int a = 0;
// 打印提示用户输入存款金额的选项
printf("请输入您存钱的数额:1、100 2、500\n");
printf(" 3、1000 4、2000\n");
// 使用 scanf_s 函数读取用户输入的数字并存储到变量 a 中
scanf_s("%d", &a);
// 使用 if-else if-else 语句根据用户输入的数字增加相应的存款金额
// 如果 a 等于 1,则将 money 增加 100,并打印“存钱成功”
if (a == 1)
{
money += 100;
printf("存钱成功\n");
}
// 如果 a 等于 2,则将 money 增加 500,并打印“存钱成功”
else if (a == 2)
{
money += 500;
printf("存钱成功\n");
}
// 如果 a 等于 3,则将 money 增加 1000,并打印“存钱成功”
else if (a == 3)
{
money += 1000;
printf("存钱成功\n");
}
// 如果 a 等于 4,则将 money 增加 2000,并打印“存钱成功”
else if (a == 4)
{
money = money + 2000;
printf("存钱成功\n");
}
// 如果 a 不在 1 到 4 的范围内,则打印“3”,等待一秒钟后删除该字符,再打印“2”,再等待一秒钟后删除该字符,再打印“1”,最后打印“输入错误,存钱失败”
else
{
printf("3");
Sleep(1000); // 在此处等待一秒钟,对应于每秒刷新一次屏幕显示。Windows 系统特有的函数。
printf("\b2");// \b 表示删除前面一个显示的数字“3”
Sleep(1000); // 再等待一秒钟。
printf("\b1");// 再删除前面的“2”。
Sleep(1000); // 再等待一秒钟。
printf("输入错误,存钱失败\n"); // 最后打印出错误信息。
}
}
存钱功能的实现首先定义一个全局变量来作为钱的保存地址,在通过固定存取输入命令来改变该变量的值以此达到存钱的目的。
取钱
// 定义一个函数 quqian,该函数没有参数并返回 void
void Withdraw_money(void)
{
// 定义一个整型变量 m,用于存储用户输入的存款金额
int m;
// 打印提示用户输入取款金额的选项
printf("请输入您取款的数额:1、100 2、500\n");
printf(" 3、1000 4、2000\n");
// 使用 scanf_s 函数读取用户输入的数字并存储到变量 m 中
scanf_s("%d", &m);
// 使用 switch 语句根据用户输入的数字减取相应的金额
// 如果 m 等于 1,则从 money 中减去 100,并打印“取款成功”
switch (m)
{
case 1:money -= 100;
printf("取款成功\n"); break;
// 如果 m 等于 2,则从 money 中减去 500,并打印“取款成功”
case 2:money -= 500;
printf("取款成功\n"); break;
// 如果 m 等于 3,则从 money 中减去 1000,并打印“取款成功”
case 3:money -= 1000;
printf("取款成功\n"); break;
// 如果 m 等于 4,则从 money 中减去 2000,并打印“取款成功”
case 4:money -= 2000;
printf("取款成功\n"); break;
// 如果 m 不在 1 到 4 的范围内,则打印“输入错误,取款失败”
default: printf("输入错误,取款失败\n"); break;
}
}
取钱主要原理改变存钱定义的全局变量的修改来到达取钱的实现。
转账
// 定义一个名为 Transfer 的函数,该函数没有参数并返回 void
void Transfer(void)
{
// 定义两个整型变量 a 和 b,分别用于存储需要转账的号码和金额
int a, b;
// 打印提示用户输入需要转账的号码的消息
printf("请输入需要转账的号码:");
// 使用 scanf_s 函数读取用户输入的号码并存储到变量 a 中
scanf_s("%d", &a);
// 打印提示用户输入需要转账的金额的消息
printf("请输入需要转账的金额:");
// 使用 scanf_s 函数读取用户输入的金额并存储到变量 b 中
scanf_s("%d", &b);
// 判断账户余额是否足够支付 b 元,以及 b 是否大于0(不能转账负数金额)
if (money >= b && b > 0)
{
// 睡眠1秒钟(等待处理用户请求)
Sleep(1000);
// 打印“2”字符(可能作为转账过程中的某种标记或效果)
printf("2");
// 再睡眠1秒钟
Sleep(1000);
// 打印退格字符,删除前面的“2”字符(创建动画效果或者为了清空屏幕)
printf("\b1");
// 从账户余额中减去 b 元,更新 money 的值
money = money - b;
// 打印“转账成功”的消息
printf("转账成功\n");
}
else
{
// 睡眠1秒钟(等待处理用户请求)
Sleep(1000);
// 打印“2”字符(可能作为转账过程中的某种标记或效果)
printf("2");
// 再睡眠1秒钟
Sleep(1000);
// 打印退格字符,删除前面的“2”字符(创建动画效果或者为了清空屏幕)
printf("\b1");
// 打印“转账失败,退出程序”的消息,结束程序运行
printf("转账失败,退出程序\n");
}
}
再转账是需要判断是不是钱足够,钱不够的话会转账失败。
修改密码
// 定义一个函数 Change the password,该函数没有参数并返回 void
void Change_the_password(void)
{
// 定义两个整型变量,password1 用于存储用户输入的原始密码,u 用于记录密码输入错误的次数
int password1, u = 0;
// 创建一个无限循环,用于反复询问用户输入密码,直到用户成功输入正确的新密码
while (1)
{
// 打印提示信息,要求用户输入原始密码
printf("请输入原始密码:");
// 使用 scanf_s 函数读取用户输入的密码并存储到 password1 变量中
scanf_s("%d", &password1);
// 判断用户输入的密码是否与数据库中的密码相同
// 如果相同,进入下一步修改密码的流程
if (password == password1)
{
// 定义两个整型变量,password1 和 password2,分别用于存储用户输入的新密码和确认的新密码
int password1, password2;
// 打印提示信息,要求用户输入新密码
printf("请输入新的密码:");
// 使用 scanf_s 函数读取用户输入的新密码并存储到 password1 变量中
scanf_s("%d", &password1);
// 打印提示信息,要求用户确认新密码
printf("请确认新的密码:");
// 使用 scanf_s 函数读取用户确认的新密码并存储到 password2 变量中
scanf_s("%d", &password2);
// 判断用户输入的新密码和确认的新密码是否相同,如果相同,则修改密码成功,退出程序;否则输出错误信息,继续下一次循环
if (password1 == password2)
{
printf("密码修改成功!");
exit(0); // 退出程序
}
else
{
printf("两次密码不同,修改密码失败\n"); // 输出错误信息
exit(0); // 退出程序
}
}
else // 如果用户输入的原始密码错误,则进行相应的处理
{
printf("原密码输入错误\n"); // 输出错误信息
u++; // 增加密码输入错误的次数计数器
if (u >= 3) // 如果错误次数超过3次,则进行相应的处理
{
printf("错误次数太多,退出系统"); // 输出错误信息,提示用户因错误次数过多而退出系统
exit(0); // 退出程序
}
else // 如果错误次数少于3次,则进行相应的处理
{
printf("密码错误,还剩余%d 次机会\n", 3 - u); // 输出剩余尝试次数信息
}
}
} // 结束 while 循环,开始下一次循环询问用户输入密码,直到用户成功输入正确的新密码为止。如果用户已经连续3次输入错误,则退出程序。否则继续询问。
}
-
定义一个无限循环,不断地询问用户输入原始密码。
-
如果用户输入的原始密码正确,则进入下一步修改密码的流程。
-
定义两个整型变量,password1 和 password2,分别用于存储用户输入的新密码和确认的新密码。
-
分别提示用户输入新密码和确认新密码,并使用 scanf_s 函数读取用户输入。
-
判断用户输入的新密码和确认的新密码是否相同,如果相同,则修改密码成功,退出程序;否则输出错误信息,继续下一次循环。
-
如果用户输入的原始密码错误,则进行相应的处理:输出错误信息、增加密码输入错误的次数计数器、判断错误次数是否超过3次。如果错误次数超过3次,则输出错误信息并退出程序;否则输出剩余尝试次数信息。
-
回到第一步,继续询问用户输入原始密码。文章来源:https://www.toymoban.com/news/detail-743869.html
主函数
// 定义一个函数 main(),它是C程序的入口点。这个函数没有返回值,所以它的返回类型是 void。
void main()
{
// 定义一个整型变量 input,用于存储用户的输入。
int input;
// 调用 login() 函数,这可能是一个用于验证用户身份的函数。
login();
// 创建一个无限循环,它将反复执行下面的代码块。
while (1)
{
// 调用 menu() 函数,这可能是一个用于显示菜单的函数。
menu();
// 打印一个提示信息,告诉用户输入他们的选择。
printf("请输入您的选择:");
// 使用 scanf_s() 函数读取用户的输入,并将输入的值存储在 input 变量中。
scanf_s("%d", &input);
// 使用 switch 语句根据用户的输入执行相应的操作。
switch (input)
{
// 如果用户输入 1,则调用 Save_money() 函数。
case 1:Save_money(); break;
// 如果用户输入 2,则调用 Withdraw_money() 函数。
case 2:Withdraw_money(); break;
// 如果用户输入 3,则调用 Transfer() 函数。
case 3:Transfer(); break;
// 如果用户输入 4,则调用 Change_the_password() 函数。
case 4:Change_the_password(); break;
// 如果用户输入 0,则使用 exit(0) 函数退出程序。
case 0:exit(0); break;
// 如果用户输入其他值,则打印一个错误信息。
default:printf("input error\n"); break;
}
// 打印一个消息,告诉用户他们的余额。这需要一个名为 money 的全局变量来存储余额。
printf("您的余额是:%0.2f\n", money);
// 使用 system() 函数调用 pause 命令,这将使程序暂停,直到用户按任意键继续。
system("pause");
}
}
主函数其实主要是对各个功能模块的总和,通过我们输入的命令执行每一个函数的入口,统筹其我们整个系统。文章来源地址https://www.toymoban.com/news/detail-743869.html
调试
- 点击运行调试
- 运行之后登录界面如下
- 输入密码 " 123456",之后显示如下界面
- 输入"1" 之后进入存钱界面,会出现四个存款选项
- 在这里我们大气一点,输入"4"
- 回车后输入" 2"进入取钱界面
- 输入"1",取款100
- 输入"3",进入转账业务。在随便输入我们的号码金额直接填写2000。转完帐,我们的余额就只剩下1900。
- 回车后我们输入"4",执行修改密码功能。在这里我们只是执行了修改功能,并没有做密码保存。
完全源码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <time.h>
#include <windows.h>
// 定义一个整型变量password,并赋值为123456,作为用户密码
int password = 123456;
// 定义一个名为login的函数,该函数没有参数,返回类型为void,即无返回值
void login(void)
{
// 定义一个整型变量input,用于接收用户输入的密码
int input;
// 定义一个整型变量i,初值为0,用于记录用户输入密码错误的次数
int i = 0;
// 打印欢迎信息,欢迎用户来到银行存取款系统
printf("------------欢迎来到银行存取款系统------------\n");
// 打印一条信息,表示用户插卡成功
printf("尊敬的用户,插卡成功\n");
// 开始一个无限循环,只要用户没有输入正确的密码,就会一直循环下去
while (1)
{
// 提示用户输入6位数字密码
printf("请输入 6 为数字密码:");
// 使用scanf函数从标准输入读取用户输入的密码,并存储在input变量中
scanf("%d",&input);
// 检查用户输入的密码是否和预设的密码相同
if (input == password)
// 如果相同,则结束循环,进入下一步操作(在这个程序中没有下步操作,所以会直接退出程序)
return;
else
{
// 如果不相同,打印错误信息"error"
printf("error\n");
// 将用户输入密码错误的次数加1
i++;
// 如果用户输入密码错误的次数大于或等于3次
if (i >= 3)
{
// 打印错误信息,告诉用户错误次数太多,需要退出系统
printf("错误次数太多,退出系统");
// 使用exit函数退出程序,参数0表示程序正常退出
exit(0);
}
else
{
// 如果用户输入密码错误的次数小于3次,打印剩余尝试次数信息
printf("密码错误,还剩余%d 次机会\n", 3 - i);
}
}
}
}
// 定义一个名为 menu 的函数,没有参数,返回类型为 void,即无返回值
void menu(void)
{
// 调用系统函数,清空屏幕,用于显示新的菜单
system("cls");
// 打印一个新行,使接下来的输出在屏幕的下一行开始
printf("\n");
// 打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一个包含“***”和“银行存取款系统”的行,表示这是银行存取款系统的菜单
printf("\n***-------------------------银行存取款系统--------------------------***\n");
// 再次打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一个用“||”和“\n”生成的文本行,表示这是菜单的选项部分
printf("\n || || \n");
// 打印一个包含“存钱业务”和对应的数字“1”的文本行,表示用户可以选择存钱业务
printf("\n || *存钱业务 请按 1 || \n");
// 打印一个包含“取钱业务”和对应的数字“2”的文本行,表示用户可以选择取钱业务
printf("\n || *取钱业务 请按 2 || \n");
// 打印一个包含“转账业务”和对应的数字“3”的文本行,表示用户可以选择转账业务
printf("\n || *转账业务 请按 3 || \n");
// 打印一个包含“修改密码”和对应的数字“4”的文本行,表示用户可以选择修改密码
printf("\n || *修改密码 请按 4 || \n");
// 打印一个包含“退出系统”和对应的数字“0”的文本行,表示用户可以选择退出系统
printf("\n || *退出系统 请按 0 || \n");
// 再次打印一个用“||”和“\n”生成的文本行,表示这是菜单选项的结尾部分
printf("\n || || \n");
// 打印一个包含多个“#”符号的行,用于生成一个分割线
printf("\n#######################################################################\n");
// 打印一行提示用户输入选择的文本
printf("请输入您的选择\n");
}
// 定义一个浮点数变量 money 并初始化为 10000
float money = 10000;
// 定义一个名为 Save_money 的函数,该函数没有参数并返回 void
void Save_money(void)
{
// 定义一个整型变量 a 并初始化为 0
int a = 0;
// 打印提示用户输入存款金额的选项
printf("请输入您存钱的数额:1、100 2、500\n");
printf(" 3、1000 4、2000\n");
// 使用 scanf_s 函数读取用户输入的数字并存储到变量 a 中
scanf_s("%d", &a);
// 使用 if-else if-else 语句根据用户输入的数字增加相应的存款金额
// 如果 a 等于 1,则将 money 增加 100,并打印“存钱成功”
if (a == 1)
{
money += 100;
printf("存钱成功\n");
}
// 如果 a 等于 2,则将 money 增加 500,并打印“存钱成功”
else if (a == 2)
{
money += 500;
printf("存钱成功\n");
}
// 如果 a 等于 3,则将 money 增加 1000,并打印“存钱成功”
else if (a == 3)
{
money += 1000;
printf("存钱成功\n");
}
// 如果 a 等于 4,则将 money 增加 2000,并打印“存钱成功”
else if (a == 4)
{
money = money + 2000;
printf("存钱成功\n");
}
// 如果 a 不在 1 到 4 的范围内,则打印“3”,等待一秒钟后删除该字符,再打印“2”,再等待一秒钟后删除该字符,再打印“1”,最后打印“输入错误,存钱失败”
else
{
printf("3");
Sleep(1000); // 在此处等待一秒钟,对应于每秒刷新一次屏幕显示。Windows 系统特有的函数。
printf("\b2");// \b 表示删除前面一个显示的数字“3”
Sleep(1000); // 再等待一秒钟。
printf("\b1");// 再删除前面的“2”。
Sleep(1000); // 再等待一秒钟。
printf("输入错误,存钱失败\n"); // 最后打印出错误信息。
}
}
// 定义一个函数 Withdraw_money,该函数没有参数并返回 void
void Withdraw_money(void)
{
// 定义一个整型变量 m,用于存储用户输入的存款金额
int m;
// 打印提示用户输入取款金额的选项
printf("请输入您取款的数额:1、100 2、500\n");
printf(" 3、1000 4、2000\n");
// 使用 scanf_s 函数读取用户输入的数字并存储到变量 m 中
scanf_s("%d", &m);
// 使用 switch 语句根据用户输入的数字减取相应的金额
// 如果 m 等于 1,则从 money 中减去 100,并打印“取款成功”
switch (m)
{
case 1:money -= 100;
printf("取款成功\n"); break;
// 如果 m 等于 2,则从 money 中减去 500,并打印“取款成功”
case 2:money -= 500;
printf("取款成功\n"); break;
// 如果 m 等于 3,则从 money 中减去 1000,并打印“取款成功”
case 3:money -= 1000;
printf("取款成功\n"); break;
// 如果 m 等于 4,则从 money 中减去 2000,并打印“取款成功”
case 4:money -= 2000;
printf("取款成功\n"); break;
// 如果 m 不在 1 到 4 的范围内,则打印“输入错误,取款失败”
default: printf("输入错误,取款失败\n"); break;
}
}
// 定义一个名为 Transfer 的函数,该函数没有参数并返回 void
void Transfer(void)
{
// 定义两个整型变量 a 和 b,分别用于存储需要转账的号码和金额
int a, b;
// 打印提示用户输入需要转账的号码的消息
printf("请输入需要转账的号码:");
// 使用 scanf_s 函数读取用户输入的号码并存储到变量 a 中
scanf_s("%d", &a);
// 打印提示用户输入需要转账的金额的消息
printf("请输入需要转账的金额:");
// 使用 scanf_s 函数读取用户输入的金额并存储到变量 b 中
scanf_s("%d", &b);
// 判断账户余额是否足够支付 b 元,以及 b 是否大于0(不能转账负数金额)
if (money >= b && b > 0)
{
// 睡眠1秒钟(等待处理用户请求)
Sleep(1000);
// 打印“2”字符(可能作为转账过程中的某种标记或效果)
printf("2");
// 再睡眠1秒钟
Sleep(1000);
// 打印退格字符,删除前面的“2”字符(创建动画效果或者为了清空屏幕)
printf("\b1");
// 从账户余额中减去 b 元,更新 money 的值
money = money - b;
// 打印“转账成功”的消息
printf("转账成功\n");
}
else
{
// 睡眠1秒钟(等待处理用户请求)
Sleep(1000);
// 打印“2”字符(可能作为转账过程中的某种标记或效果)
printf("2");
// 再睡眠1秒钟
Sleep(1000);
// 打印退格字符,删除前面的“2”字符(创建动画效果或者为了清空屏幕)
printf("\b1");
// 打印“转账失败,退出程序”的消息,结束程序运行
printf("转账失败,退出程序\n");
}
}
// 定义一个函数 Change the password,该函数没有参数并返回 void
void Change_the_password(void)
{
// 定义两个整型变量,password1 用于存储用户输入的原始密码,u 用于记录密码输入错误的次数
int password1, u = 0;
// 创建一个无限循环,用于反复询问用户输入密码,直到用户成功输入正确的新密码
while (1)
{
// 打印提示信息,要求用户输入原始密码
printf("请输入原始密码:");
// 使用 scanf_s 函数读取用户输入的密码并存储到 password1 变量中
scanf_s("%d", &password1);
// 判断用户输入的密码是否与数据库中的密码相同
// 如果相同,进入下一步修改密码的流程
if (password == password1)
{
// 定义两个整型变量,password1 和 password2,分别用于存储用户输入的新密码和确认的新密码
int password1, password2;
// 打印提示信息,要求用户输入新密码
printf("请输入新的密码:");
// 使用 scanf_s 函数读取用户输入的新密码并存储到 password1 变量中
scanf_s("%d", &password1);
// 打印提示信息,要求用户确认新密码
printf("请确认新的密码:");
// 使用 scanf_s 函数读取用户确认的新密码并存储到 password2 变量中
scanf_s("%d", &password2);
// 判断用户输入的新密码和确认的新密码是否相同,如果相同,则修改密码成功,退出程序;否则输出错误信息,继续下一次循环
if (password1 == password2)
{
printf("密码修改成功!");
exit(0); // 退出程序
}
else
{
printf("两次密码不同,修改密码失败\n"); // 输出错误信息
exit(0); // 退出程序
}
}
else // 如果用户输入的原始密码错误,则进行相应的处理
{
printf("原密码输入错误\n"); // 输出错误信息
u++; // 增加密码输入错误的次数计数器
if (u >= 3) // 如果错误次数超过3次,则进行相应的处理
{
printf("错误次数太多,退出系统"); // 输出错误信息,提示用户因错误次数过多而退出系统
exit(0); // 退出程序
}
else // 如果错误次数少于3次,则进行相应的处理
{
printf("密码错误,还剩余%d 次机会\n", 3 - u); // 输出剩余尝试次数信息
}
}
} // 结束 while 循环,开始下一次循环询问用户输入密码,直到用户成功输入正确的新密码为止。如果用户已经连续3次输入错误,则退出程序。否则继续询问。
}
// 定义一个函数 main(),它是C程序的入口点。这个函数没有返回值,所以它的返回类型是 void。
void main()
{
// 定义一个整型变量 input,用于存储用户的输入。
int input;
// 调用 login() 函数,这可能是一个用于验证用户身份的函数。
login();
// 创建一个无限循环,它将反复执行下面的代码块。
while (1)
{
// 调用 menu() 函数,这可能是一个用于显示菜单的函数。
menu();
// 打印一个提示信息,告诉用户输入他们的选择。
printf("请输入您的选择:");
// 使用 scanf_s() 函数读取用户的输入,并将输入的值存储在 input 变量中。
scanf_s("%d", &input);
// 使用 switch 语句根据用户的输入执行相应的操作。
switch (input)
{
// 如果用户输入 1,则调用 Save_money() 函数。
case 1:Save_money(); break;
// 如果用户输入 2,则调用 Withdraw_money() 函数。
case 2:Withdraw_money(); break;
// 如果用户输入 3,则调用 Transfer() 函数。
case 3:Transfer(); break;
// 如果用户输入 4,则调用 Change_the_password() 函数。
case 4:Change_the_password(); break;
// 如果用户输入 0,则使用 exit(0) 函数退出程序。
case 0:exit(0); break;
// 如果用户输入其他值,则打印一个错误信息。
default:printf("input error\n"); break;
}
// 打印一个消息,告诉用户他们的余额。这需要一个名为 money 的全局变量来存储余额。
printf("您的余额是:%0.2f\n", money);
// 使用 system() 函数调用 pause 命令,这将使程序暂停,直到用户按任意键继续。
system("pause");
}
}
到了这里,关于银行存取款系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!