Se connecter avec
S'enregistrer | Connectez-vous

Petit morceau de calculette en C

Dernière réponse : dans Programmation

Bonjour , j'ai un petit probleme au niveau de ma calculette en langage C. Je debute dans la programmation et je ne comprends pas mon erreur , voici mon code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.  
  7. float chiffre1,chiffre2,resultat;
  8. char operateur[50];
  9.  
  10. printf("Donnez un chiffre\n");
  11. scanf("%f",&chiffre1);
  12.  
  13. printf("Quelle operation souhaitez-vous realiser?\n");
  14. scanf("%s",&operateur);
  15.  
  16. printf("Donnez un autre chiffre\n");
  17. scanf("%f",&chiffre2);
  18.  
  19. if (operateur,'+')
  20. {
  21. printf("Le resultat est:\n""%f",resultat=(chiffre1)+(chiffre2));
  22. }
  23.  
  24.  
  25.  
  26. else if (operateur,'-')
  27.  
  28. {
  29.  
  30. printf("Le resultat est:\n""%f",resultat=(chiffre1)-(chiffre2));
  31. }
  32.  
  33.  
  34.  
  35. else
  36. {
  37. printf("ERREUR");
  38. }
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. system("PAUSE");
  47. return 0;
  48. }


Lorsque je fais un addition , cela marche , lorsque je demande une soustraction , il m'additionne quand meme les chiffres , et lorsque je met n'importe quel caractere aussi ^^
Merci !

Autres pages sur : petit morceau calculette

Lassé par la pub ? Créez un compte
Expert Programmation

Pour comparer 2 chaînes de caractères en C, il faut utiliser la fonction strcmp qui retourne 0 si c'est égal:
  1. if( strcmp(operateur, "+") == 0 )


En C, les chaînes de caractères ne sont que des tableaux de caractères, et on ne peut pas comparer directement 2 tableaux. La fonction strcmp() compare les chaînes caractère par caractère
Lassé par la pub ? Créez un compte
Tom's guide dans le monde