Code

abdinelickd Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour...?!
je veux ecrire un programme qui va calculer comme une calculatrice quand je compile le programme il n'y a pas d'erreur de compilation ou d'execution juste dans c'est les instructions de boucle qui s'execute et ce repete par exemple quand je fais le choix d'une operation et que je tape entrer c'est des instructions de la bouce qui ce repete voila le code kindly help me
je travail avec le langage C

#include<stdio.h>
#include<stdlib.h>

int main(){
float b,a;
char op;

do { printf("choosen an operation\n \n");
printf(" 1: addition \n 2: soustration \n 3: multiplication \n 4: division \n");
scanf("%c",&op);
} while ((op !=1) && (op !=2) && (op !=3) && (op !=4));
printf("type the first number");
scanf("%f",a);
printf("type the second number");
scanf("%f",b);

switch(op){
   case '+' : printf("%f + %f=%f",a,b,a+b);
   break;
    case '-' : 
    if (a<b){
     printf("operation impossible a must be compelsary supertior to b");
    }
    else {
     printf(" %f - %f= %f",a,b,a-b);
    }
    break;
    case '*' : printf("%f * %f = %f",a,b,a*b);
    break;
    case'/':
     if(b==0){
      printf("the division by zero is impossible");
     }
     else{
      printf(" %f / %f= %f",a,b,a/b);
     }
     break;
     default: printf("operation incorrect \n");


}


system ("pause");
 return 0;
}


Merci d'avance..!?

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir,
tu ne trouves pas cela bizarre de comparer un nombre à un caractère, quand tu fais
op !=1
?
encore plus bizarre: après avoir demandé que l'utilisateur entre un caractère correspondant à un chiffre, tu fais un " switch case" comme si l'utilisateur avait rentré un caractère correspondant à une opération.
je te suggère de commencer par des exercices plus simples.
0
abdinelickd Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
ok bien recu mais si possible j'aimerai que tu me donne quelque solution
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > abdinelickd Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir, tu écris "bien reçu", alors qu'il me semble que tu ne fais rien avec ce que tu as reçu. je me trompe?
tu as écrit au départ "je veux ecrire un programme", as-tu changé d'avis?
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Ligne 11 : le scanf récupère dans op un caractère car %c (pas un entier)
Ligne 12 : il faut comparer à un caractère, ici ça serait op=='1' || op=='2' || op=='3' || op=='4'
Le switch : là tu compares bien à des caractères '*' '-' '+' '/' par les cases, mais tu as demandé de saisir un caractère correspondant à un chiffre '1' '2' '3' ou '4'.
Est-ce plus clair?
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
je crois que notre ami abdinelickd a eu plein d'explications :

https://forums.commentcamarche.net/forum/affich-34347458-code-erroner#1
0