So I tried to program a little calculator in C to do addition, subtraction , multiplication , division and modulus everything works perfectly except the modulus operator and I don't know why so here is my code and modulus is inside case 5 in the switch statement :
#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;
}
}
It give me this error :
In function 'main':
calculatrice.c:41:8: error: invalid operands to binary % (have 'float' and 'float')
n3=n1%n2;
^
So if someone could help me or lead me where the problem is it would be gladly appreciated :)