sinat_24343049 2015-04-02 03:53 采纳率: 80%
浏览 2158
已采纳

c语言简易计算器小白问题

#include
float fun1(float a,float b)
{
float c;
c=a+b;
return c;
}
float fun2(float a,float b)
{
float c;
c=a-b;
return c;
}
float fun3(float a,float b)
{
float c;
c=a*b;
return c;
}
float fun4(float a,float b)
{
float c;
c=a/b;
return c;
}
int main()
{
int d;
float a,b;
printf("\t\t|--------------------|\n");
printf("\t\t| 简易计算器 |\n");
printf("\t\t|--------------------|\n");
printf("\t\t| 1-加法 |\n");
printf("\t\t| 2-减法 |\n");
printf("\t\t| 3-乘法 |\n");
printf("\t\t| 4-除法 |\n");
printf("\t\t| 0-退出 |\n");
printf("\t\t|--------------------|\n");
printf("选择需要的计算:\n");
scanf("%d",&d);
while(d<=5&&d>0)
{
printf("输入两个数字:\n");
scanf("%f,%f"&a,&b);
switch(d)
{
case 1:
printf("%.2f",fun1(a,b));
break;
case 2:
printf("%.2f",fun2(a,b));
break;
case 3:
printf("%.2f",fun3(a,b));
break;
case 4:
printf("%.2f",fun4(a,b));
break;
case 0:
printf("谢谢使用~~");
break;
}
}
printf("\n谢谢使用~~");
return 0;
}

显示输入那个位置有问题。新手求指导。我自己感觉结构有问题

  • 写回答

7条回答 默认 最新

  • 只此冒泡君 2015-04-02 06:16
    关注

    你是想实现循环运算还是一次运算就结束?
    1.如果一次运算就结束的话:把主函数里的While 改成用if判断! 并且在每个scanf()函数后面各加一个 getchar();
    2.如果是循环运算的话 把选择运算符号的事情放到while里面 while的条件写成1 就ok 然后 用if判断输入的d是否是1 。2。3。4,同样 scanf()后面跟上getchar();

    getchar()会把你每次输入完按的那个enter键给接受掉!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!