Code
abdinelickd
Messages postés
2
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 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
Merci d'avance..!?
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. |
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir,
tu ne trouves pas cela bizarre de comparer un nombre à un caractère, quand tu faisop !=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. -
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?-
je crois que notre ami abdinelickd a eu plein d'explications :
https://forums.commentcamarche.net/forum/affich-34347458-code-erroner#1
-