首页 > 解决方案 > 用c语言制作计算器

问题描述

我想做一个计算器并在下面编程。

  #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    
    int main(void)
    {
        char o;
        int x, y;
        while (1)
        {
            printf("type the problem");
            scanf("%d %s %d", &x, &o, &y);
            
            if (o == '+' );
            {
                printf(" %d\n", x + y);
            }
        
            else if (o == '-');
            {
                printf(" %d\n", x - y);
            }
            
            else if (o == '*');
            {
                printf("%d\n", x*y);
            }
        
            else if (o == '/');
            {
                printf("%d\n", x / y);
            }
            
            else
            {
                printf("wrong input! \n");
            }
            
        }
    
    
    
        return 0;
    }

这个程序不工作!我找不到我错过了哪一部分!例如,如果我输入 1 + 3 (one+space+plus+space+three) 这应该 printf 4 并继续重复计算器(不是结束)感谢阅读:)

标签: c

解决方案


对于这种任务switch ... case要好得多:

    int main(void)
    {
        char o;
        int x, y;
        while (1)
        {
            printf("type the problem");
            scanf("%d %c %d", &x, &o, &y);
            
            switch(o)
            {
                case '+':
                    printf(" %d\n", x + y);
                    break;
                case '-':
                    printf(" %d\n", x - y);
                    break;
                case '/':
                    if(y == 0) printf("Division by zero!!!!")
                    else printf(" %d\n", x / y);
                    break;
                case '*':
                    printf(" %d\n", x * y);
                    break;
                default:
                    printf("wrong input! \n");                
            }
        }
    }

推荐阅读