为什么 switch 语句在这个 C 计算器中显示默认值?

阿卜杜拉·扎雷亚 |

当我运行这个程序时,它会忽略switch语句中的所有内容,并显示default. 我正在使用代码::块。请向我解释为什么会遇到这个逻辑错误,也许它是 Code::Blocks 中的错误而不是代码中的错误——我应该在另一个 IDE 上尝试它吗?

#include <stdio.h>
    int main()
    {
        double a,b;
        int choose,subtract,divide;
        printf("My first Calculater in c\n");
        printf("\n");
        printf("Enter your two numbers\n");
        scanf("%lf",&a);
        scanf("%lf",&b);
        printf("Please choose an operation\n");
         printf("1.add two no.(s)\n");
         printf("2.subtract two no.(s)\n");
         printf("3.multiply two no.(s)\n");
         printf("4.divide two no.(s)\n");
         printf("please choose an operation ");
           scanf("%lf", &choose);

    switch(choose){

     case 1:
        printf("sum of a+b is : %lf\n",(a+b));
        break;

     case 2:
        printf("1.a-b?\n");
        printf("2.b-a?\n");
        scanf("%d", &subtract);
        switch(subtract)
        {
         case 1:
            printf("\ndiff of a-b is : %lf",(a-b));
            break;

         case 2:
            printf("\ndiff of b-a is : %lf",(b-a));
             break;

        }
     case 3:
            printf("\nproduct of a*b is : %lf",(a*b));
             break;

     case 4:
            printf("\n1.divide a/b?,a!=0");
            printf("\n2.divide b/a?,b!=0");
            scanf("%d", &divide);
            switch(divide)
            {
            case 1:
                if(b==0)
                    printf("\ndivision by zero is undefined");
                    else
                       printf("\nquotient of a/b is : %lf",(a/b));
                    break;
            case 2:

                if(a==0)
                    printf("\ndivision by zero is undefined");
                    else
                        printf("\nquotient of b/a is : %lf",(b/a));
                        break;
           }
     default:
          printf("please choose either 1,2,3 or 4 options\n");
        }

    }
斯蒂芬·多西

你正在双读 choose

scanf("%lf", &choose);

改为读取小数

scanf("%d", &choose);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在这个十二生肖程序的switch语句中减去数字4?

来自分类Dev

为什么在C / C ++中交织switch / for / if语句是有效的?

来自分类Dev

为什么switch语句中不是默认值的每种情况都属于例外情况?

来自分类Dev

这个 RxJS 示例中的 switch 语句有什么作用?

来自分类Dev

为什么C ++要求在switch语句中中断?

来自分类Dev

为什么不在switch语句中处理char?C ++

来自分类Dev

为什么在这个c float转换中结果是nan?

来自分类Dev

为什么 crtl-C 或 ctrl-Z 在这个程序中不起作用?

来自分类Dev

为什么我在这个 C 代码中得到了错误的答案?

来自分类Dev

为什么 SELECT INTO sql 语句在这个 Pl/SQL 函数中给我一个错误?

来自分类Dev

默认值的执行:在 C++ 中的 switch-case 选择语句中

来自分类Dev

为什么对布尔switch语句有编译器警告?

来自分类Dev

为什么在这个 XML 示例中显示了 "<" 、 ">" 、" 和 '?

来自分类Dev

我在这个 PowerShell 脚本中的 do while 语句有什么问题?

来自分类Dev

为什么这个 Switch 语句需要为“Switch Value”和“Compound case”加上括号?

来自分类Dev

在 C 中,为什么这个语句 - 'i = 5i' 编译并将 'i' 设置为零?

来自分类Dev

为什么只使用在这个 C 程序的参数列表中声明的指针传递引用?

来自分类Dev

为什么在字符串常量上的switch-case语句在Visual Studio 2019(16.0.3之前)中需要默认值,而在Visual Studio 2017中却不需要默认值?

来自分类Dev

为什么if语句优先于switch语句?

来自分类Dev

PyTorch:在这个简单的例子中,为什么损失不变?

来自分类Dev

为什么在这个While循环示例中答案变量是?

来自分类Dev

为什么我在这个div中没有滚动?

来自分类Dev

为什么在这个动态数组中抛出异常?

来自分类Dev

C 中 switch-case 语句的替代方法是什么?

来自分类Dev

当我们在switch语句中不使用'break'语句时,为什么在默认值以下的其他情况之前先评估'默认'?

来自分类Dev

C中switch语句的语法?

来自分类Dev

C ++中的switch语句错误

来自分类Dev

C++ 中的 switch 语句

来自分类Dev

为什么我的程序忽略了switch语句?

Related 相关文章

  1. 1

    为什么在这个十二生肖程序的switch语句中减去数字4?

  2. 2

    为什么在C / C ++中交织switch / for / if语句是有效的?

  3. 3

    为什么switch语句中不是默认值的每种情况都属于例外情况?

  4. 4

    这个 RxJS 示例中的 switch 语句有什么作用?

  5. 5

    为什么C ++要求在switch语句中中断?

  6. 6

    为什么不在switch语句中处理char?C ++

  7. 7

    为什么在这个c float转换中结果是nan?

  8. 8

    为什么 crtl-C 或 ctrl-Z 在这个程序中不起作用?

  9. 9

    为什么我在这个 C 代码中得到了错误的答案?

  10. 10

    为什么 SELECT INTO sql 语句在这个 Pl/SQL 函数中给我一个错误?

  11. 11

    默认值的执行:在 C++ 中的 switch-case 选择语句中

  12. 12

    为什么对布尔switch语句有编译器警告?

  13. 13

    为什么在这个 XML 示例中显示了 "<" 、 ">" 、" 和 '?

  14. 14

    我在这个 PowerShell 脚本中的 do while 语句有什么问题?

  15. 15

    为什么这个 Switch 语句需要为“Switch Value”和“Compound case”加上括号?

  16. 16

    在 C 中,为什么这个语句 - 'i = 5i' 编译并将 'i' 设置为零?

  17. 17

    为什么只使用在这个 C 程序的参数列表中声明的指针传递引用?

  18. 18

    为什么在字符串常量上的switch-case语句在Visual Studio 2019(16.0.3之前)中需要默认值,而在Visual Studio 2017中却不需要默认值?

  19. 19

    为什么if语句优先于switch语句?

  20. 20

    PyTorch:在这个简单的例子中,为什么损失不变?

  21. 21

    为什么在这个While循环示例中答案变量是?

  22. 22

    为什么我在这个div中没有滚动?

  23. 23

    为什么在这个动态数组中抛出异常?

  24. 24

    C 中 switch-case 语句的替代方法是什么?

  25. 25

    当我们在switch语句中不使用'break'语句时,为什么在默认值以下的其他情况之前先评估'默认'?

  26. 26

    C中switch语句的语法?

  27. 27

    C ++中的switch语句错误

  28. 28

    C++ 中的 switch 语句

  29. 29

    为什么我的程序忽略了switch语句?

热门标签

归档