[debutant] probleme avec IF en langage c
Résolu/Fermé
shivery
Messages postés
8
Date d'inscription
mercredi 29 novembre 2006
Statut
Membre
Dernière intervention
17 février 2008
-
17 févr. 2008 à 16:38
shivery Messages postés 8 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 17 février 2008 - 17 févr. 2008 à 17:18
shivery Messages postés 8 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 17 février 2008 - 17 févr. 2008 à 17:18
A voir également:
- [debutant] probleme avec IF en langage c
- Langage ascii - Guide
- Débuter langage batch windows - Guide
- Symboles langage sms ✓ - Forum Loisirs / Divertissements
- Logiciel de programmation pour débutant - Guide
- Cours d'infographie pour debutant - Forum Graphisme
6 réponses
ibou52
Messages postés
81
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
24 août 2008
60
17 févr. 2008 à 16:40
17 févr. 2008 à 16:40
le signe + doit etre entre guilemets
exple: "+"
exple: "+"
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
17 févr. 2008 à 16:41
17 févr. 2008 à 16:41
Salut
Il y avait une deuxième erreur au niveau du scanf.
Je te corrige tout :
Cordialement
Il y avait une deuxième erreur au niveau du scanf.
Je te corrige tout :
#include<stdio.h> main(){ float a,b,somme; char signe; printf ("Entrez le signe opératoire (+):\n",signe); scanf ("%c",&signe); printf ("Entrez deux nombres reels a b:\n"); scanf ("%f %f",&a,&b); if (signe == '+'){ printf ("Vous avez choisi une SOMME\n",somme); somme = a + b; printf ("%f\n",somme); } system ("pause"); return 0; }
Cordialement
ibou52
Messages postés
81
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
24 août 2008
60
17 févr. 2008 à 16:45
17 févr. 2008 à 16:45
c'est vrai.
shivery
Messages postés
8
Date d'inscription
mercredi 29 novembre 2006
Statut
Membre
Dernière intervention
17 février 2008
1
17 févr. 2008 à 16:54
17 févr. 2008 à 16:54
Merci beaucoup!
cela fait deux heures que je penchais sur cette erreur!
Merci beaucoup!
cela fait deux heures que je penchais sur cette erreur!
Merci beaucoup!
shivery
Messages postés
8
Date d'inscription
mercredi 29 novembre 2006
Statut
Membre
Dernière intervention
17 février 2008
1
17 févr. 2008 à 17:09
17 févr. 2008 à 17:09
avec la correction fournie, j'ai terminé mon programme.
#include<stdio.h>
main(){
float a,b,somme,difference,produit,divise,signe;
printf ("Entrez le signe opératoire (+,-,* ou /):\n",signe);
scanf ("%c",&signe);
printf ("Entrez deux nombres reels a b:\n");
scanf ("%f %f",&a,&b);
if (signe = '+'){
somme = a + b;
printf ("Resultat: %f + %f = %f \n",a,b,somme);
}
if (signe = '-'){
difference = a - b;
printf ("Resultat: %f - %f = %f \n",a,b,somme);
}
if (signe = '*'){
produit = a * b;
printf ("Resultat: %f * %f = %f \n",a,b,somme);
}
if (signe = '/'){
divise = a / b;
printf ("Resultat: %f / %f = %f \n",a,b,somme);
}
system ("pause");
return 0;
}
Cependant il ne fait pas les diverses opérations. Il marque le tout sans effectuer le calcul. que dois modifier svp.
Merci.
#include<stdio.h>
main(){
float a,b,somme,difference,produit,divise,signe;
printf ("Entrez le signe opératoire (+,-,* ou /):\n",signe);
scanf ("%c",&signe);
printf ("Entrez deux nombres reels a b:\n");
scanf ("%f %f",&a,&b);
if (signe = '+'){
somme = a + b;
printf ("Resultat: %f + %f = %f \n",a,b,somme);
}
if (signe = '-'){
difference = a - b;
printf ("Resultat: %f - %f = %f \n",a,b,somme);
}
if (signe = '*'){
produit = a * b;
printf ("Resultat: %f * %f = %f \n",a,b,somme);
}
if (signe = '/'){
divise = a / b;
printf ("Resultat: %f / %f = %f \n",a,b,somme);
}
system ("pause");
return 0;
}
Cependant il ne fait pas les diverses opérations. Il marque le tout sans effectuer le calcul. que dois modifier svp.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
17 févr. 2008 à 17:12
17 févr. 2008 à 17:12
Salut,
C'est normal, tu stockes les résultats dans produit, somme, divise, difference et tu affiches toujours somme.
Voici donc la modification ;)
C'est normal, tu stockes les résultats dans produit, somme, divise, difference et tu affiches toujours somme.
Voici donc la modification ;)
#include<stdio.h> main(){ float a,b,somme,difference,produit,divise,signe; printf ("Entrez le signe opératoire (+,-,* ou /):\n",signe); scanf ("%c",&signe); printf ("Entrez deux nombres reels a b:\n"); scanf ("%f %f",&a,&b); if (signe = '+'){ somme = a + b; printf ("Resultat: %f + %f = %f \n",a,b,somme); } if (signe = '-'){ difference = a - b; printf ("Resultat: %f - %f = %f \n",a,b,difference); } if (signe = '*'){ produit = a * b; printf ("Resultat: %f * %f = %f \n",a,b,produit); } if (signe = '/'){ divise = a / b; printf ("Resultat: %f / %f = %f \n",a,b,divise); } system ("pause"); return 0; }
shivery
Messages postés
8
Date d'inscription
mercredi 29 novembre 2006
Statut
Membre
Dernière intervention
17 février 2008
1
17 févr. 2008 à 17:18
17 févr. 2008 à 17:18
Merci bcp!
17 févr. 2008 à 16:43
Non, il ne doit pas être entre guillemets, mais entre apostrophe : il s'agit d'un char ;)
Cordialement