Calculette fantaisiste

Résolu/Fermé
jypill77 Messages postés 7 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 13 février 2009 - 18 janv. 2009 à 04:35
jypill77 Messages postés 7 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 13 février 2009 - 18 janv. 2009 à 16:00
Bonjour,
Bonjour, j'étudie le langage C sur un site et on nous demande d'élaborer une calculette en mode console, voila ce que j'ai fait :
#include <stdio.h>
#include <stdlib.h>

int main()
{

long operation, nombre1, nombre2, resultat;
printf ("==== Opération ===\n");
printf ("1. Addition\n");
printf ("2. Soustraction\n");
printf ("3. Multiplication\n");
printf ("4. Division\n\n");
printf ("Quel est votre choix ?\n");
scanf ("%ld", &operation);
printf ("Entrez le premier nombre\n");
scanf ("%ld", &nombre1);
printf ("Entrez le deuxième nombre\n");
scanf ("%ld", &nombre2);


switch (operation)
{
case 1: printf ("%ld + %ld == %ld", nombre1, nombre2, resultat");
break;
case 2: printf ("%ld - %ld == %ld", nombre1, nombre2, resultat);
break;
case 3: printf ("%ld * %ld == %ld", nombre1, nombre2, resultat);
break;
case 4: printf ("%ld / %ld == %ld", nombre1, nombre2, resultat);
break;
default : printf ("Ceci n'est pas une opération");
break;

}
return 0;
}
ca marche mais la calculette donne des chiffres fantaisiste genre 2+3=854698
Où est l'erreur ?
Merci d'avance !
A voir également:

2 réponses

---vivi--- Messages postés 76 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 23 octobre 2009 11
18 janv. 2009 à 13:58
Salut, tu à mis " après résultat pour l'addition. Ce n'est pas dans le printf que tu doit faire des calcules, le printf se contente d'afficher ce que tu met. Si tu avais initialisé tes variables à zéro( ex: long nombre = 0; )tu aurais vu que la valeur de résultat ne changeait pas. Si tu veux améliorer ta calculatrice, tu peut utiliser double au lieu de long et remplacer %ld par %lf (comme ca, tu pourras calculer les nombres décimaux).
0
jypill77 Messages postés 7 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 13 février 2009
18 janv. 2009 à 16:00
J'ai trouvé !
Avant chaque "printf", j'ai mis
resultat = nombre1 +nombre2 !
Et ça marche !
0