C语言程序设计四则运算计算器

img


请问我差哪几种格式?
自定义函数放在哪里?
是按什么逻辑,如何让输入A就可以走加法运算?

我这里列举了add、sub,乘法和除法一样的。

int calc_add(int a, int b)
{
    return a + b;
}

int calc_sub(int a, int b)
{
    return a - b;
}

void func()
{
    char opt;
    int a, b;

    printf("请输入要参加的运算:");
    scanf("%c", &opt);
    switch() {
    case 'A':
        printf("请输入两个数:");
        scanf("%d%d", &a, &b);
        printf("结果为:%d\n", add(a,b));
        break;
    case 'B':
        printf("请输入两个数:");
        scanf("%d%d", &a, &b);
        printf("结果为:%d\n", sub(a,b));
        break;
     default:
        printf("运算符输入有误!");
        break;
    }
}

自定义函数可以直接放在main函数之前,这样就不需要再单独申明函数了
scanf("%c",&opr);
swtich(opr)
{
case 'A':
add(a,b);
break;
}
这样子写。自己写个add函数,实现a+b并输出结果,其实就是
void add(int a,int b)
{
printf("%d+%d=%d\n",a,b,a+b);
}

供参考:

#include<stdio.h>
int main()
{
    int a, b;
    char c;
    printf("请输入要参加的运算:");
    scanf(" %c", &c);
    printf("请输入两个数:");
    scanf("%d%d", &a, &b);
    switch(c){
        case 'A':
                 printf("%d+%d=%d",a,b,a + b);
                 break;
        case 'B':
                 printf("%d-%d=%d",a,b,a - b);
                 break;
        case 'C':
                 printf("%d*%d=%d",a,b,a * b);
                 break;
        case 'D':
                 if(b)
                    printf("%d/%d=%.2f",a,b,(float) a / b);
                 else
                    printf("除数不能为零!");
                 break;
        default: printf("输入错误!");
                 break;
    }
    return 0;
}