编写一个程序,显示提供加法、减法、乘法的菜单,该程序只接受菜单提供的选项,程序提示用户输入两个数字。要求是输入q退出,输入数字时有误要求重新输入,除数为零的时候报错并要求重新输入。
这个是自己做的尽量最简版本了,如果有改进的地方请大佬指出。
#include<stdio.h>
int main()
{
float x,y,z;
char ch;
while(ch!='q')
{
printf("输入你的选项\n");
printf("a.加 b.减\nc.乘 d.除\nq.退出\n");
scanf(" %c",&ch);
if(ch=='q')
{
break;
}
if(ch!='a'&&ch!='b'&&ch!='c'&&ch!='d'&&ch!='q')
{
printf("输入选项无效重新输入\n");
continue;
}
printf("输入第一个数:");
while((scanf(" %f",&x))==0)
{
printf("这个不是数,重新输入\n");
fflush(stdin);
}
printf("输入第二个数:");
while ((scanf(" %f",&y))==0)
{
printf("这个不是数,重新输入\n");
fflush(stdin);
}
while(1)
{
if(ch=='d'&&y==0)
{
printf("0不能作为除数请重新输入\n");
fflush(stdin);
scanf("%f",&y);
}
else
{
break;
}
}
switch(ch)
{
case 'a':
z=x+y;
break;
case 'b':
z=x-y;
break;
case 'c':
z=x*y;
break;
case 'd':
z=x/y;
break;
case 'q':
break;
}
printf("\n结果是%.2f\n",z);
}
return 0;
}