Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculatrice

    19 janvier 2021 à 15:56:37

    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.

    Merci en avance 

    -
    Edité par SamyAbdi1 19 janvier 2021 à 17:36:22

    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2021 à 16:27:26

      Hello,

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        19 janvier 2021 à 17:28:47

        #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;
        }

        -
        Edité par SamyAbdi1 19 janvier 2021 à 17:39:45

        • Partager sur Facebook
        • Partager sur Twitter
          19 janvier 2021 à 17:38:09

          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.

          • Partager sur Facebook
          • Partager sur Twitter
            19 janvier 2021 à 17:40:15

            Re,-

            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

            • Partager sur Facebook
            • Partager sur Twitter

            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.
            • Editeur
            • Markdown