Resultat mathematique

Résolu/Fermé
l'etudiant du 50 Messages postés 1303 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 23 octobre 2010 - 9 août 2008 à 16:15
l'etudiant du 50 Messages postés 1303 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 23 octobre 2010 - 9 août 2008 à 16:43
Bonjour,
voila je suis le tuto pour apprendre le C sur le site du zero, et j'ai un probleme :
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
long votrechoix;
{
printf("=== Menu de Calcul ===\n\n");
printf("1. vous voulez faire une addition\n");
printf("2. vous voulez faire une soustraction\n");
printf("3. vous voulez faire une multiplication\n");
printf("4. vous voulez faire une division\n");

scanf("%ld", &votrechoix);
}
switch (votrechoix)
{
long nombre1=0, nombre2=0, resultat=0;

case 1:
printf("entrer le nombre d'origine\n");
scanf("%ld", &nombre1);
printf("entrer le nombre a additionner");
scanf("%ld", &nombre2);
printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
break;


case 2:
printf("entrer le nombre a soustraire\n");
scanf("%ld", &nombre1);
printf("combien voulait vous enlever a ce nombre?\n");
scanf("%ld", &nombre2);
printf("%ld - %ld = %ld", nombre1, nombre2, resultat);
break;

case 3:
printf("entrer le nombre a multiplier\n");
scanf("%ld", &nombre1);
printf("de combien voulez vous multiplier ce nombre ?\n");
scanf("%ld", &nombre2);
printf("%ld * %ld = %ld", nombre1, nombre2, resultat);
break;

case 4:
printf("entrer le nombre a diviser\n");
scanf("%ld", &nombre1);
printf("combien voulait vous diviser ce nombre?\n");
scanf("%ld", &nombre2);
printf("%ld / %ld = %ld", nombre1, nombre2, resultat);
break;

default:
printf("Tu doit chosiir entre ces 4 propositions !");
break;
}

printf("\n\n");

system("PAUSE");
}


voila je compile, tout fonctionne, je lance le programme, et quant je fait un cacul, le resultat n'est jamais bon, il est tjour dans les million pour un simple 2+2 ...

merci d'avance

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
9 août 2008 à 16:26
Ne manque-t-il pas:
resultat=nombre1 + nombre2;
printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
0
l'etudiant du 50 Messages postés 1303 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 23 octobre 2010 166
9 août 2008 à 16:33
si exact, mais meme apres,
je met 1 +1 et il me t le resultat :
1+ un nombre dans les million = 1
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
9 août 2008 à 16:41
affiche une exécution
0
l'etudiant du 50 Messages postés 1303 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 23 octobre 2010 166
9 août 2008 à 16:43
probleme resolu, j'avais changer le long par un double :S
Merci beaucoups quand meme pour cette ligne qui m'a resolu :
resultat=nombre1 + nombre2;
printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
0