繁体   English   中英

模运算符在我的 C 计算器应用程序中不起作用

[英]Modulo Operator don't work in my calculator app in C

所以我试图用 C 编写一个小计算器来做加法、减法、乘法、除法和模数,除了模数运算符之外,一切都很好,我不知道为什么,所以这是我的代码,模数在 switch 语句中的 case 5 中:

#include <stdio.h>

void main(){

    float n1=0.0;
    float n2=0.0;
    float n3=0.0;
    int choix=0;
        printf("\nRentrer le Premier Chiffre:");
        scanf("%f" , &n1);
        
        printf("\nRentrer le Deuxieme Chiffre:");
        scanf("%f" , &n2);

    printf("\n\tEcrire 1 pour une addition\n\tEcrire 2 pour une soustraction\n\tEcrire 3 pour une multiplication\n\tEcrire 4 pour une division\n\tEcrire 5 pour modulus:");
    scanf("%d" , &choix);

    switch (choix)
    {
        case 1: 
        n3=n1+n2;
        printf("L'addition de %.2f+%.2f=%.2f" , n1 , n2, n3);
        break;

        case 2: 
        n3=n1-n2;
        printf("La soustraction %.2f-%.2f=%.2f" , n1 , n2, n3);
        break;

        case 3:
        n3=n1*n2;
        printf("La multiplication %.2f*%.2f=%.2f" , n1 , n2, n3);
        break;

        case 4:
        n3=n1/n2;
        printf("La division %.2f/%.2f=%.2f" , n1 , n2, n3);
        break;

        case 5:
        n3=n1%n2;
        printf("Le modulus de %.2f et %.2f=%.2f" , n1 , n2, n3);
        break;

        default: 
        printf("Entrer un choix valide!");
        break;

    }

}

它给了我这个错误:

In function 'main':
calculatrice.c:41:8: error: invalid operands to binary % (have 'float' and 'float')
   n3=n1%n2;
    ^

因此,如果有人可以帮助我或引导我解决问题所在,我们将不胜感激:)

看一下这个:

https://www.geeksforgeeks.org/modulus-two-float-double-numbers/

另外我认为你把它当作 =% 而不是 %=

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM