Informatique

Question

salut
j ai un probleme dans l execution de ce programme, mais la complitation est vraie
Je ne sais pas pourquoi il me donne pas l acces à ecrire le caractere O;


voici le programme
Ecrire un algorithme qui permet de saisir deux variables réelles A et B et un caractère O
Si O=’S’, on calcule la somme et on l’affiche
Si O=’s’, on calcule la soustraction et on l’affiche
Si O=’P’, on calcule le produit et on l’affiche
Si O=’R’ et b est non nul, on calcule le rapport et on l’affiche

#include
#include
#include
main()
{//declaration
float A , B , S , s , P , R;
char O ;
//lecture
printf("Donner la valeur de A =\n", A);
scanf("%f",&A);
printf("Donner la valeur de B=\n", B);
scanf("%f",&B);
printf("Donner la valeur de O=\n", O);
scanf("%c",&O);
//traitement
{if (O='S')
{S=A+B;
printf("La somme est =", S);
}else if (O='s')
{s=A-B;
printf("la soustraction est =", s);
}else if(O='P')
{P=A*B;
printf("le produit est =", P);
}else if(O='R' && B!=0)
{R=A/B;
printf("le rapport est =",R);
}
}
}

1 Réponse

  • Réponse :

    Bonsoir,

    explications :

    Pour tester l'égalité il faut écrire ==

    #include <stdio.h>

    int main(int argc, char *argv[])

    {

       float A , B , S , s , P , R;

       char O="+", hit="e" ;

       A=1.0;

       B=2.0;

       

    /*

       printf("Donner la valeur de A =\n", A);

       scanf("%f",&A);

       printf("Donner la valeur de B=\n", B);

       scanf("%f",&B);

    */

       printf("Signe de l'opération + -  * / \n", O);

       scanf("%c",&O);

       printf("la valeur de O=%c \n", O);

       switch (O)

       {

               case '+':

                   S=A+B;

                   printf("La somme de %f et de %f est = %f \n", A,B,S);

                   break;

               case '-':

                   S=A-B;

                   printf("La différence entre %f et de %f est = %f \n", A,B,S);

                   break;

               case '*':

                   S=A*B;

                   printf("Le produit de %f par %f est = %f \n", A,B,S);

                   break;

               case '/':

                   S=A/B;

                   printf("Le quotient de %f et de %f est = %f \n", A,B,S);

                   break;

       };

       printf("hit q to stop ");

       while((hit=getchar())!='q');

    /*

    //traitement

       {if (O=='S')

       {

           S=A+B;

           printf("La somme est =", S);

       }

       else if (O=='s')

       {

           s=A-B;

           printf("la soustraction est =", s);

       }

       else if(O=='P')

       {

           P=A*B;

           printf("le produit est =", P);

       }

       else if(O=='R' && B!=0)

       {

           R=A/B;

           printf("le rapport est =",R);

       }

    }

         printf("Press enter to continue ...");

    */

     return 0;

    };

Autres questions