怎么做成这样子的程序啊,求解,

img


用double定义a,b,sum
加减乘除的简易计算机,效果图如上图,求解

以下是用C语言实现的简易计算器代码:

#include <stdio.h>

int main() {
    double a, b, sum;
    int choice;
    while (1) {
        printf("请输入要进行的操作:\n");
        printf("1.加法\n2.减法\n3.乘法\n4.除法\n5.退出\n");
        scanf("%d", &choice);
        if (choice == 5) {
            printf("程序已退出!\n");
            break;
        }
        printf("请输入两个数:\n");
        scanf("%lf %lf", &a, &b);
        switch (choice) {
            case 1:
                sum = a + b;
                printf("和为:%.2lf\n", sum);
                break;
            case 2:
                sum = a - b;
                printf("差为:%.2lf\n", sum);
                break;
            case 3:
                sum = a * b;
                printf("积为:%.2lf\n", sum);
                break;
            case 4:
                if (b == 0) {
                    printf("错误:除数不能为0!\n");
                } else {
                    sum = a / b;
                    printf("商为:%.2lf\n", sum);
                }
                break;
            default:
                printf("错误:无效的操作!\n");
                break;
        }
    }
    return 0;
}

程序中使用了一个while循环,不断接受用户输入,直到用户选择退出。用户输入选择操作的数字,然后输入两个数a和b,根据选择的操作进行相应的计算,并输出结果。其中,用double类型定义了a、b和sum,保证了计算的精度。在除法运算中,需要判断除数是否为0,如果为0,则输出错误提示信息。最后,程序返回0,表示正常退出。

我的思路如下:

首先,可以定义四个运算的函数,函数计算出对应运算的结果,并打印结果;

接着,在main函数先打印菜单,然后从输入获取被除数和除数,以及选项序号,接着使用switch-case结构,根据选项序号来调用对应的函数,最后使用default分支处理输入序号错误的情况就可以了。

代码如下:

参考链接:


#include <stdio.h>
#include <stdlib.h>

// 加法运算 
void add(double a,double b){
    
    double result = a+b;
    printf("\n两个数的运算结果为:%.3f\n",result);
    
}

// 减法运算 
void sub(double a,double b){
    
    double result = a-b;
    printf("\n两个数的运算结果为:%.3f\n",result);
    
}


// 乘法运算 
void mul(double a,double b){
    
    double result = a*b;
    printf("\n两个数的运算结果为:%.3f\n",result);
    
}

// 除法运算 
void div(double a,double b){
    
    double result = a/b;
    if(b!=0){
        printf("\n两个数的运算结果为:%.3f\n",result);
// https://baijiahao.baidu.com/s?id=1739514460924957427                
    }else{  // 除数为0,则打印错误提示信息 
        printf("\n除数不能为0!\n");
    }
    
}

// 打印菜单 
void menu(){
    printf("----------------简易计算器---------------------\n\n");
    printf("1 加法运算                     2 减法运算\n");
    printf("3 乘法运算                     4 除法运算\n\n");
    printf("----------------------------------\n") ;
    
}

int main(void){
    
    double a,b; // 分别存储被除数和除数 
    int choice;  // 存储输入的选项序号 
    
    menu();
    printf("请输入两个操作数: ");
    scanf("%lf%lf",&a,&b);  // 从输入获取除数和被除数 
    printf("请选择你要的服务(1、2、3、4): ");
    scanf("%d",&choice);  // 获取服务选项序号 
    
    // 根据输入的序号,调用对应的运算函数 
    switch(choice){
    
        case 1:add(a,b);
               break;
        case 2:sub(a,b);
               break;
        case 3:mul(a,b);
               break;       
        case 4:div(a,b);
               break;    
        default:  // 如果输入的序号不是1到4,则打印错误信息 
               printf("\n输入错误!\n");
               break;        
    }
     
    
    system("pause");
    
    return 0; 
    
} 

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7681903
  • 以下回答来自chatgpt:

    我可以解决该问题。

    针对本题,可以按照以下步骤进行操作:

    1.使用double类型定义a、b、sum,这样就可以进行加减乘除运算。

    2.使用scanf函数获取用户输入的a和b的值,采用"%.2lf"格式,保留两位小数。

    3.根据用户的选择进行相应的运算,可以使用if或者switch语句,根据输入的符号来确定应该进行加减乘除运算。

    4.输出结果,可以使用printf函数,使用"%lf"格式来输出结果,同样保留两位小数。

    以下是代码实现示例,以加法为例:

    #include <stdio.h>
    
    int main()
    {
        double a, b, sum;
        char symbol;
    
        // 获取用户输入的a和b的值
        printf("please input two numbers:");
        scanf("%.2lf %.2lf", &a, &b);
    
        // 获取用户选择的符号,根据选择执行相应的运算
        printf("please input a symbol:");
        scanf(" %c", &symbol);
        switch(symbol)
        {
            case '+':
                sum = a + b;
                printf("%.2lf + %.2lf = %.2lf", a, b, sum);
                break;
            // 同样的方式可以处理减法、乘法、除法运算
            // case '-':
            // case '*':
            // case '/':
            default:
                printf("invalid input");
                break;
        }
    
        return 0;
    }
    

    注意:此处为示例代码,还需要对用户输入值的合法性进行判断和处理,本例中未加入。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^