刚开始自学C语言,试着编写了一个简单的计算器,遇到有关问题,望各位帮忙解答一下
刚开始自学C语言,试着编写了一个简单的计算器,遇到问题,望各位帮忙解答一下
运行结果没有问题,问题是每次运算一次过后程序就结束了,不能继续进行下一个运算。
刚开始学,不知道怎么弄,望好心人帮一下忙。
以下是代码:
# include <stdio.h>
int main(void)
{
int a,b;
char ch;
printf("请输入一个式子(比如:4+6):\n");
scanf("%d",&a);
ch=getchar();
scanf("%d",&b);
switch(ch)
{
case'+':printf("%d+%d=%d\n",a,b,a+b);break;
case'-':printf("%d-%d=%d\n",a,b,a-b);break;
case'*':printf("%d*%d=%d\n",a,b,a*b);break;
case'/':printf("%d/%d=%d\n",a,b,a/b);break;
default:printf("enter data error!please enter again!\n");
}
return 0;
}
------解决方案--------------------
最简单的方法就是加一层循环,不过这种方法会让程序一直运行,直到你ctrl+c。
------解决方案--------------------
弄个死循环~~再设置个跳出循环的条件,就行了
while(true)
{
do something;
if(condition)
{
break;
}
}
运行结果没有问题,问题是每次运算一次过后程序就结束了,不能继续进行下一个运算。
刚开始学,不知道怎么弄,望好心人帮一下忙。
以下是代码:
# include <stdio.h>
int main(void)
{
int a,b;
char ch;
printf("请输入一个式子(比如:4+6):\n");
scanf("%d",&a);
ch=getchar();
scanf("%d",&b);
switch(ch)
{
case'+':printf("%d+%d=%d\n",a,b,a+b);break;
case'-':printf("%d-%d=%d\n",a,b,a-b);break;
case'*':printf("%d*%d=%d\n",a,b,a*b);break;
case'/':printf("%d/%d=%d\n",a,b,a/b);break;
default:printf("enter data error!please enter again!\n");
}
return 0;
}
------解决方案--------------------
最简单的方法就是加一层循环,不过这种方法会让程序一直运行,直到你ctrl+c。
# include <stdio.h>
int main(void)
{
int a,b;
char ch;
while (1) {
printf("请输入一个式子(比如:4+6):\n");
scanf("%d",&a);
ch=getchar();
scanf("%d",&b);
switch(ch)
{
case'+':printf("%d+%d=%d\n",a,b,a+b);break;
case'-':printf("%d-%d=%d\n",a,b,a-b);break;
case'*':printf("%d*%d=%d\n",a,b,a*b);break;
case'/':printf("%d/%d=%d\n",a,b,a/b);break;
default:printf("enter data error!please enter again!\n");
}
}
return 0;
}
------解决方案--------------------
弄个死循环~~再设置个跳出循环的条件,就行了
while(true)
{
do something;
if(condition)
{
break;
}
}