A voir également:
- Probleme calculatrice en langage C
- Langage ascii - Guide
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
5 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
21 févr. 2011 à 22:02
21 févr. 2011 à 22:02
Bonsoir,
A première vue, ta variable operateur devrait plutôt être un caractère et non un entier (dans la déclaration et dans le scanf). Le dernier printf est inutile.
@+
A première vue, ta variable operateur devrait plutôt être un caractère et non un entier (dans la déclaration et dans le scanf). Le dernier printf est inutile.
@+
operateur doit etre un caractère (char).
et si vous n'etes pas trop fan du "if" comme moi utiliser switch. attention a ne pas gener le compilateur : "rectifier toutes vos scanf
bonne chance
et si vous n'etes pas trop fan du "if" comme moi utiliser switch. attention a ne pas gener le compilateur : "rectifier toutes vos scanf
bonne chance
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 21/02/2011 à 22:17
Modifié par fiddy le 21/02/2011 à 22:17
Bonjour,
Que ta variable te renvoie 2 est une coïncidence. En fait, elle renvoie sa valeur initiale. Et comme elle n'a pas été initialisée, cela renvoie une valeur bidon.
Pour ta variable "operateur", tu vas lui rentrer des valeurs au clavier : '/', '-', '*' et '+'. Ce sont des caractères. A moins, que tu veuilles rentrer le code ascii ^^.
Donc, mets plutôt : char operateur; et surtout : scanf("%c",&operateur); ou plus simplement operateur=getchar();
Attention, il y aura un '\n' dans le buffer clavier à cause des scanf("%d",...), il faut l'enlever. Tu peux utiliser pour ceci : getchar();
Pour récapituler :
Et attention, tu affiches plusieurs fois : "le résultat est".
Sinon, en conseil : tu as mis des "else if", t'aurais dû mettre en plus un "else" (pour dire par exemple "choix incorrect". Cela t'aurait permis de voir le problème.
Cdlt,
Google is your friend
Que ta variable te renvoie 2 est une coïncidence. En fait, elle renvoie sa valeur initiale. Et comme elle n'a pas été initialisée, cela renvoie une valeur bidon.
Pour ta variable "operateur", tu vas lui rentrer des valeurs au clavier : '/', '-', '*' et '+'. Ce sont des caractères. A moins, que tu veuilles rentrer le code ascii ^^.
Donc, mets plutôt : char operateur; et surtout : scanf("%c",&operateur); ou plus simplement operateur=getchar();
Attention, il y aura un '\n' dans le buffer clavier à cause des scanf("%d",...), il faut l'enlever. Tu peux utiliser pour ceci : getchar();
Pour récapituler :
char operateur; getchar(); operateur=getchar(); /*ou scanf("%c",&operateur);*/
Et attention, tu affiches plusieurs fois : "le résultat est".
Sinon, en conseil : tu as mis des "else if", t'aurais dû mettre en plus un "else" (pour dire par exemple "choix incorrect". Cela t'aurait permis de voir le problème.
Cdlt,
Google is your friend
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question