Bonjour mes amis j'ai un problème avec algorithme en language C et j'ai n'arrive pas a programmer l'algorithme,il n'affiche pas l'opérateur aidez moi:
Voici les consignes de l'exercice :
Ecrire un programme CALCULATRICE qui permet de saisit deux entiers A et B et une opération (+ ou - ou / ou ×) et qui affiche le résultat de cette opération entre ces deux entiers.
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int A,B,R;
char operateur;
printf("saisir la valeur de A : \n");
scanf("%d",&A);
printf("veuillez choisir l'operateur : \n");
scanf("%c",&operateur);
printf("saisir la valeur de B : \n");
scanf("%d",&B);
if(operateur == '+'){
printf("A+B= %d",R=A+B);}
else if(operateur == '*'){
printf("A*B= %d",R=A*B);}
else if(operateur == '-'){
printf("A-B= %d",R=A-B);}
else if(operateur == '/'){
printf("A/B= %d",R=A/B);}
else
{printf("l'operation ne peut pas etre poser");}
return 0;
Ton problème viens qu'au moment de saisir l'opérateur, il reste un caractère dans le buffer clavier. Il y a pas mal de sujet à ce sujet sur le forum. Tu peux faire une recherche pour plus d'explication.
Pour te débloquer, écris la ligne 12 comme ceci :
scanf(" %c",&operateur);
avec un espace avant le %c dans la chaîne de format.
L'éternel problème du \n qui reste dans le buffer clavier.
Quand tu entres un nombre pour A, scanf() laisse le \n (enter ou return, la touche que tu as enfoncée pour valider l'entrée du nombre) dans le buffer clavier, car ce n'est pas un chiffre. Lorsque tu veux entrer l'opérateur, scanf() trouve le \n qui reste dans le buffer clavier, et le prend pour l'opérateur. Solution: vider le buffer clavier après la ligne 10. Plein de codes à ce sujet sur le site et sur le net.
- Edité par edgarjacobs 19 janvier 2021 à 17:42:30
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Calculatrice
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent