Probleme calculatrice c
Résolu
laraby
-
salame -
salame -
Bonjour,
Je suis un débutant en C et je seche sur ce bout de code pour faire des calculs
le programme est bien compilé mais renvoie une erreur de calculatrice.exe,après demande d'opération
merci d'avance
code c:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long nombre1 = 0, nombre2 = 0, ChoixMenu = 0, resultat = 0 ;
printf("=== MENU ===\n\n");
printf("1.Addition\n");
printf("2.Soustraction\n");
printf("3.Multiplication\n");
printf("4.Division\n\n");
printf("Votre choix?\n");
scanf("%ld", &ChoixMenu);
printf("\n");
switch(ChoixMenu)
{
case 1:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 + nombre2;
printf("\n");
printf("%ld + %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 2:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 - nombre2;
printf("\n");
printf("%ld - %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 3:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 * nombre2;
printf("\n");
printf("%ld * %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 4:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 / nombre2;
printf("\n");
printf("%ld / %ld = %ld\n", nombre1, nombre2, resultat);
break;
default:
printf("Cette opération n'existe pas\n");
printf("Entrez les chiffres de 1 a 4\n");
break;
}
system("PAUSE");
return 0;
}
Je suis un débutant en C et je seche sur ce bout de code pour faire des calculs
le programme est bien compilé mais renvoie une erreur de calculatrice.exe,après demande d'opération
merci d'avance
code c:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long nombre1 = 0, nombre2 = 0, ChoixMenu = 0, resultat = 0 ;
printf("=== MENU ===\n\n");
printf("1.Addition\n");
printf("2.Soustraction\n");
printf("3.Multiplication\n");
printf("4.Division\n\n");
printf("Votre choix?\n");
scanf("%ld", &ChoixMenu);
printf("\n");
switch(ChoixMenu)
{
case 1:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 + nombre2;
printf("\n");
printf("%ld + %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 2:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 - nombre2;
printf("\n");
printf("%ld - %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 3:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 * nombre2;
printf("\n");
printf("%ld * %ld = %ld\n", nombre1, nombre2, resultat);
break;
case 4:
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
scanf("%ld", nombre2);
resultat = nombre1 / nombre2;
printf("\n");
printf("%ld / %ld = %ld\n", nombre1, nombre2, resultat);
break;
default:
printf("Cette opération n'existe pas\n");
printf("Entrez les chiffres de 1 a 4\n");
break;
}
system("PAUSE");
return 0;
}
A voir également:
- Probleme calculatrice c
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Installation calculatrice - Télécharger - Calcul & Conversion
- Ma-calculatrice - Télécharger - Calcul & Conversion
- Calculatrice windows 7 - Télécharger - Calcul & Conversion
- Log sur calculatrice ti collège plus - Forum calculatrices
2 réponses
Salut,
dans ton case 2 :
scanf("%ld", nombre2);
tu as oublié un '&' (mais tu as du avoir des problèmes à la compilation, tout au moins un warning, parce que ça, c'est une erreur de typage).
de plus, le résultat de ta division sera-t-il entier forcément?
si il ne l'est pas, il ne faut pas le renvoyer dans un long mais dans un double.
et pour ton choixmenu, vu qu'il ne varie qu'entre 1 et 4, un int fait amplement l'affaire.
en plus, ta section
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
est répétée dans tous tes case à l'exception du default... tu pourais regrouper le tout pour avoir un code plus lisible, qui teste dans un 1er temps si on a bien un choixmenu entre 1 et 4, et si oui, on demande les nombres et ensuite tu fais ton switch pour faire les calculs.
à+
Seb
dans ton case 2 :
scanf("%ld", nombre2);
tu as oublié un '&' (mais tu as du avoir des problèmes à la compilation, tout au moins un warning, parce que ça, c'est une erreur de typage).
de plus, le résultat de ta division sera-t-il entier forcément?
si il ne l'est pas, il ne faut pas le renvoyer dans un long mais dans un double.
et pour ton choixmenu, vu qu'il ne varie qu'entre 1 et 4, un int fait amplement l'affaire.
en plus, ta section
printf("Entrez le nombre 1:\n");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2:\n");
est répétée dans tous tes case à l'exception du default... tu pourais regrouper le tout pour avoir un code plus lisible, qui teste dans un 1er temps si on a bien un choixmenu entre 1 et 4, et si oui, on demande les nombres et ensuite tu fais ton switch pour faire les calculs.
à+
Seb
merci
a+