Code

abdinelickd Messages postés 2 Statut Membre -  
[Dal] Messages postés 6373 Statut Contributeur -
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 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 
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 Statut Membre
 
ok bien recu mais si possible j'aimerai que tu me donne quelque solution
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > abdinelickd Messages postés 2 Statut Membre
 
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 720 Statut Membre 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 6373 Statut Contributeur 1 106
 
je crois que notre ami abdinelickd a eu plein d'explications :

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