优化这段代码 将main( )函数中的switch语句, 改写成if else if 语句
时间: 2023-10-31 07:05:20 浏览: 156
下面是将原代码中的switch语句改写成if else if语句的优化版本:
```
#include <stdio.h>
#include <Windows.h>
double count;
void save();
void draw();
int main()
{
int sel;
while (1)
{
system("cls");
printf("\t|-存钱取钱程序菜单-|\n");
printf("\t|\t1:存钱\t\t\t|\n");
printf("\t|\t2:取钱\t\t\t|\n");
printf("\t|t0:退出\t\t\t|\n");
printf("\t 请输入您的选择0~2:");
scanf_s("%d", &sel);
if (sel == 1)
{
save();
}
else if (sel == 2)
{
draw();
}
else if (sel == 0)
{
printf("谢谢使用,再见。\n");
Sleep(1500);
return 0;
}
else
{
printf("输入错误!请重新输入:n");
}
getch();
}
return 0;
}
void draw()
{
int errn = 0;
float n;
printf("当前账户余额为:%0.2f元。 \n", count);
printf("请输入您要取款数额:");
while (1)
{
scanf("%f", &n);
if (n >= count || (int)n % 100 != 0)
{
printf("输入的金额有误!请重新输入:");
errn++;
if (errn >= 3)
{
printf("输入错误次数过多!\n");
Sleep(1000);
return;
}
}
else
{
count -= n;
printf("取钱成功!最新余额为: %0.2f元。\n", count);
return;
}
}
}
void save()
{
float n;
printf("当前账户余额为:%0.2f元。 \n", count);
printf("请输入您要存款数额:");
scanf("%f", &n);
count += n;
printf("存钱成功!最新余额为: %0.2f元。\n", count);
}
```
这个版本将原来的switch语句改写成了if else if语句,这样可以使代码更加简洁,易读性更高。如果用户输入的是1,则调用存钱函数save();如果输入的是2,则调用取钱函数draw();如果输入的是0,则退出程序;如果输入的是其他数字,则提示用户重新输入。
阅读全文