簡體   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