标题:简单计算器求助
只看楼主
a631908999
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2014-5-18
结帖率:100%
已结贴  问题点数:2 回复次数:4 
简单计算器求助
// 简单四则运算计算器
#include<stdlib.h>
#include<stdio.h>
int main()
{
    there:
    double number1 = 0.0;           //初始化被除数
    double number2 = 0.0;           //初始化除数
    char operation = '0';
     printf("\n输入算式\n");
     scanf("%lf%c%lf",&number1,&operation,&number2);        //输入符合规定的算式

     /*检查输入的运算符号*/
     switch(operation)
     {
         case '+':
             printf("= %lf\n",number1 + number2);
             break;
         case '-':
            printf("= %lf\n",number1 - number2);
            break;
        case '*':
             printf("= %lf\n",number1 * number2);
             break;
        case '/':
             if(number2 == 0)
                 printf("\n\n除数不能为零!");
             else
                printf("= %lf\n",number1 / number2);
            break;
        case '%':
              if((long)number2 == 0)
                printf("\n\n除数不能为零!!");
              else
                 printf("= %ld\n",(long)number1 % (long)number2);
              break;

        default:
            printf("\n\n非法操作!");
            break;
     }
     fflush(stdin);
     char con;
     printf("\n继续运算? Y or N \n");
         if((con = getchar()) == 'y'||'Y')
             goto there;
         else
          if((con = getchar()) == 'n'||'N')
             exit(0);
return 0;
}      



输入n之后却无法退出程序,求救
搜索更多相关主题的帖子: 计算器 operation include double 
2014-05-21 18:12
杨攀好
Rank: 2
等 级:论坛游民
威 望:1
帖 子:41
专家分:32
注 册:2014-3-24
得分:1 
小试了下  'y'||'Y'和 'n'||'N'把后面的||‘Y’和‘N’去掉就可以了  原因不是很清楚
2014-05-21 21:16
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:1 
"=="的优先级要高于"||",

不论是'Y'还是'N',和你输入的任意字符进行"||"运算都是为真,所以程序不退出.  

加个括号,将代码改一下就可以了:
if((con = getchar()) == ('y'||'Y'))


 if((con = getchar()) ==( 'n'||'N'))
收到的鲜花
  • a6319089992014-05-21 23:16 送鲜花  1朵   附言:我很赞同

代码测试环境:  WinXP+C-Free5.0.
2014-05-21 22:17
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:0 
输入判断有误

我不是砖家,要努力成为砖家。
2014-05-21 22:26
a631908999
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2014-5-18
得分:0 
回复 2 楼 杨攀好
3Q
2014-05-21 23:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-431870-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018627 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved