Problème de calculatrice
Dernière réponse : dans Programmation
Bonjour,
En ce moment j'essaie d'éllaborer une calculatrice aux fonctions basiques ( + , - , * , / ) cependant lors de l'éxecution du programme on me trouve toujours le résultat 0.
Où se situe le problème?
Merci.
En ce moment j'essaie d'éllaborer une calculatrice aux fonctions basiques ( + , - , * , / ) cependant lors de l'éxecution du programme on me trouve toujours le résultat 0.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixOperation = 0, ApremierNombre = 0, AsecondNombre = 0, Aresultat = 0,
DpremierNombre = 0, DsecondNombre = 0, Dresultat = 0,
MpremierNombre = 0, MsecondNombre = 0, Mresultat = 0,
SpremierNombre = 0, SsecondNombre = 0, Sresultat = 0;
Aresultat = ApremierNombre + AsecondNombre;
Dresultat = DpremierNombre / DsecondNombre;
Mresultat = MpremierNombre * MsecondNombre;
Sresultat = SpremierNombre - SsecondNombre;
printf("\n\t== Calculatrice ==\n\n");
printf("1. Addition\n");
printf("2. Division\n");
printf("3. Multiplication\n");
printf("4. Soustraction\n");
printf("\n\n");
printf("\tVotre choix : ");
scanf("%ld", &choixOperation);
switch(choixOperation)
{
case 1 :
printf("\nEntrez votre premier nombre a additionner : ");
scanf("%ld", &ApremierNombre);
printf("\n\nEntrez votre second nombre a additionner : ");
scanf("%ld", &AsecondNombre);
printf("\n\nVoici le resultat de votre addition : %ld\n", Aresultat);
break;
case 2 :
printf("\nEntrez votre premier nombre a diviser : ");
scanf("%ld", &DpremierNombre);
printf("\n\nEntrez votre second nombre a diviser : ");
scanf("%ld", &DsecondNombre);
printf("\n\nVoici le resultat de votre divison : %ld\n", Dresultat);
break;
case 3 :
printf("\nEntrez votre premier nombre a multiplier : ");
scanf("%ld", &MpremierNombre);
printf("\n\nEntrez votre second nombre a multiplier : ");
scanf("%ld", &MsecondNombre);
printf("\n\nVoici le resultat de votre multiplication : %ld\n", Mresultat);
break;
case 4 :
printf("\nEntrez votre premier nombre a soustraire : ");
scanf("%ld", &SpremierNombre);
printf("\n\nEntrez votre second nombre a soustraire : ");
scanf("%ld", &SsecondNombre);
printf("\n\nVoici le resultat de votre soustraction : %ld\n", Sresultat);
break;
default :
printf("\n\nDesole bah ya po... Allez ailleur ! lol");
break;
}
return 0;
}
Où se situe le problème?
Merci.
Autres pages sur : probleme calculatrice
Lassé par la pub ? Créez un compte
Oula, va revoir tout de suite tes cours de c ^^.
toi tu fait:
Mresultat = 0 * 0
Sresultat = 0 - 0
ensuite tu demandes à l'utilisateur des nombres puis tu affiche Dresultat,Mresultat ou Sresultat qui sont égal à zéro ^^. Il faut mettre les calcul dans le switch et non pas au début comment veux-tu que ton programme fasse une opération sans le calcul
toi tu fait:
tu dit donc que Dresultat = 0 / 0
# Aresultat = ApremierNombre + AsecondNombre;
# Dresultat = DpremierNombre / DsecondNombre;
# Mresultat = MpremierNombre * MsecondNombre;
# Sresultat = SpremierNombre - SsecondNombre;
Mresultat = 0 * 0
Sresultat = 0 - 0
ensuite tu demandes à l'utilisateur des nombres puis tu affiche Dresultat,Mresultat ou Sresultat qui sont égal à zéro ^^. Il faut mettre les calcul dans le switch et non pas au début comment veux-tu que ton programme fasse une opération sans le calcul
Merci de m'avoir répondu quarty, en fait je viens de m'y mettre avant hier au langage C, donc pour un début c'est pas trop ça
^^ ...
Sinon, j'ai essayé de mettre les calculs à l'intérieur du switch mais ya un soucis :
Tu pourrais me donner une correction stp ? ^^
^^ ...Sinon, j'ai essayé de mettre les calculs à l'intérieur du switch mais ya un soucis :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixOperation = 0, ApremierNombre = 0, AsecondNombre = 0, Aresultat = 0,
DpremierNombre = 0, DsecondNombre = 0, Dresultat = 0,
MpremierNombre = 0, MsecondNombre = 0, Mresultat = 0,
SpremierNombre = 0, SsecondNombre = 0, Sresultat = 0;
printf("\n\t== Calculatrice ==\n\n");
printf("1. Addition\n");
printf("2. Division\n");
printf("3. Multiplication\n");
printf("4. Soustraction\n");
printf("\n\n");
printf("\tVotre choix : ");
scanf("%ld", &choixOperation);
switch(choixOperation)
{
case 1 :
Aresultat = ApremierNombre + AsecondNombre;
printf("\nEntrez votre premier nombre a additionner : ");
scanf("%ld", &ApremierNombre);
printf("\n\nEntrez votre second nombre a additionner : ");
scanf("%ld", &AsecondNombre);
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", &ApremierNombre, &AsecondNombre, &Aresultat);
break;
case 2 :
Dresultat = DpremierNombre / DsecondNombre;
printf("\nEntrez votre premier nombre a diviser : ");
scanf("%ld", &DpremierNombre);
printf("\n\nEntrez votre second nombre a diviser : ");
scanf("%ld", &DsecondNombre);
printf("\n\nVoici le resultat de votre divison : ");
printf("%ld / %ld = %ld", &DpremierNombre, &DsecondNombre, &Dresultat);
break;
case 3 :
Mresultat = MpremierNombre * MsecondNombre;
printf("\nEntrez votre premier nombre a multiplier : ");
scanf("%ld", &MpremierNombre);
printf("\n\nEntrez votre second nombre a multiplier : ");
scanf("%ld", &MsecondNombre);
printf("\n\nVoici le resultat de votre multiplication : ");
printf("%ld * %ld = %ld", &MpremierNombre, &MsecondNombre, &Mresultat);
break;
case 4 :
Sresultat = SpremierNombre - SsecondNombre;
printf("\nEntrez votre premier nombre a soustraire : ");
scanf("%ld", &SpremierNombre);
printf("\n\nEntrez votre second nombre a soustraire : ");
scanf("%ld", &SsecondNombre);
printf("\n\nVoici le resultat de votre soustraction : ");
printf("%ld - %ld = %ld", &SpremierNombre, &SsecondNombre, &Sresultat);
break;
default :
printf("\n\nDesole bah ya po... Allez ailleur ! lol");
break;
}
return 0;
}
Tu pourrais me donner une correction stp ? ^^
Je te fait une correction rapide, normalement tu devrais mettre ca dans des fonction pour faire plus joli.
Ca devrait marcher.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixOperation = 0, ApremierNombre = 0, AsecondNombre = 0, Aresultat = 0,
DpremierNombre = 0, DsecondNombre = 0, Dresultat = 0,
MpremierNombre = 0, MsecondNombre = 0, Mresultat = 0,
SpremierNombre = 0, SsecondNombre = 0, Sresultat = 0;
printf("\n\t== Calculatrice ==\n\n" );
printf("1. Addition\n" );
printf("2. Division\n" );
printf("3. Multiplication\n" );
printf("4. Soustraction\n" );
printf("\n\n" );
printf("\tVotre choix : " );
scanf("%ld", &choixOperation);
switch(choixOperation)
{
case 1 :
printf("\nEntrez votre premier nombre a additionner : " );
scanf("%ld", &ApremierNombre);
printf("\n\nEntrez votre second nombre a additionner : " );
scanf("%ld", &AsecondNombre);
Aresultat = ApremierNombre + AsecondNombre;
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", &ApremierNombre, &AsecondNombre, &Aresultat);
break;
case 2 :
printf("\nEntrez votre premier nombre a diviser : " );
scanf("%ld", &DpremierNombre);
printf("\n\nEntrez votre second nombre a diviser : " );
scanf("%ld", &DsecondNombre);
Dresultat = DpremierNombre / DsecondNombre;
printf("\n\nVoici le resultat de votre divison : " );
printf("%ld / %ld = %ld", &DpremierNombre, &DsecondNombre, &Dresultat);
break;
case 3 :
printf("\nEntrez votre premier nombre a multiplier : " );
scanf("%ld", &MpremierNombre);
printf("\n\nEntrez votre second nombre a multiplier : " );
scanf("%ld", &MsecondNombre);
Mresultat = MpremierNombre * MsecondNombre;
printf("\n\nVoici le resultat de votre multiplication : " );
printf("%ld * %ld = %ld", &MpremierNombre, &MsecondNombre, &Mresultat);
break;
case 4 :
printf("\nEntrez votre premier nombre a soustraire : " );
scanf("%ld", &SpremierNombre);
printf("\n\nEntrez votre second nombre a soustraire : " );
scanf("%ld", &SsecondNombre);
Sresultat = SpremierNombre - SsecondNombre;
printf("\n\nVoici le resultat de votre soustraction : " );
printf("%ld - %ld = %ld", &SpremierNombre, &SsecondNombre, &Sresultat);
break;
default :
printf("\n\nDesole bah ya po... Allez ailleur ! lol" );
break;
}
return 0;
}
Ca devrait marcher.
Oups un petit oublie de ma part ^^
Quand tu fait printf &nom_de_la_variable ca affiche l'adresse ou est contennu la variable donc les chiffres étaient bon. Voila un code qui devrait fonctionner
Quand tu fait printf &nom_de_la_variable ca affiche l'adresse ou est contennu la variable donc les chiffres étaient bon. Voila un code qui devrait fonctionner
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixOperation = 0, ApremierNombre = 0, AsecondNombre = 0, Aresultat = 0,
DpremierNombre = 0, DsecondNombre = 0, Dresultat = 0,
MpremierNombre = 0, MsecondNombre = 0, Mresultat = 0,
SpremierNombre = 0, SsecondNombre = 0, Sresultat = 0;
while(1)
{
printf("\n\t== Calculatrice ==\n\n" );
printf("1. Addition\n" );
printf("2. Division\n" );
printf("3. Multiplication\n" );
printf("4. Soustraction\n" );
printf("\n\n" );
printf("\tVotre choix : " );
scanf("%ld", &choixOperation);
switch(choixOperation)
{
case 1 :
printf("\nEntrez votre premier nombre a additionner : " );
scanf("%ld", &ApremierNombre);
printf("\n\nEntrez votre second nombre a additionner : " );
scanf("%ld", &AsecondNombre);
Aresultat = ApremierNombre + AsecondNombre;
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", ApremierNombre, AsecondNombre, Aresultat);
break;
case 2 :
printf("\nEntrez votre premier nombre a diviser : " );
scanf("%ld", &DpremierNombre);
printf("\n\nEntrez votre second nombre a diviser : " );
scanf("%ld", &DsecondNombre);
Dresultat = DpremierNombre / DsecondNombre;
printf("\n\nVoici le resultat de votre divison : " );
printf("%ld / %ld = %ld", DpremierNombre, DsecondNombre, Dresultat);
break;
case 3 :
printf("\nEntrez votre premier nombre a multiplier : " );
scanf("%ld", &MpremierNombre);
printf("\n\nEntrez votre second nombre a multiplier : " );
scanf("%ld", &MsecondNombre);
Mresultat = MpremierNombre * MsecondNombre;
printf("\n\nVoici le resultat de votre multiplication : " );
printf("%ld * %ld = %ld", MpremierNombre, MsecondNombre, Mresultat);
break;
case 4 :
printf("\nEntrez votre premier nombre a soustraire : " );
scanf("%ld", &SpremierNombre);
printf("\n\nEntrez votre second nombre a soustraire : " );
scanf("%ld", &SsecondNombre);
Sresultat = SpremierNombre - SsecondNombre;
printf("\n\nVoici le resultat de votre soustraction : " );
printf("%ld - %ld = %ld", SpremierNombre, SsecondNombre, Sresultat);
break;
default :
printf("\n\nDesole bah ya po... Allez ailleur ! lol" );
break;
}
}
return 0;
}
remplace
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", &ApremierNombre, &AsecondNombre, &Aresultat);
par
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", ApremierNombre, AsecondNombre, Aresultat);
sinon tu n'affiches pas les valeurs mais les adresses mémoires ...
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", &ApremierNombre, &AsecondNombre, &Aresultat);
par
printf("\n\nVoici le resultat de votre addition %ld + %ld = %ld", ApremierNombre, AsecondNombre, Aresultat);
sinon tu n'affiches pas les valeurs mais les adresses mémoires ...
Bonsoir,
Merci pour vos réponses, cette fois-ci le code fonctionne...
En plus, je viens de voir les boucles avec <while>, dans ce cas il est très utile
Cependant, pour les divisions, le programme dysfonctionne car le type de variable est <int>, je l'ai donc remplacé lors de la déclaration des variables <int> par <double> et tout les <%ld> par <%lf> mais ça ne marche pas...
HELP please
^^
Merci pour vos réponses, cette fois-ci le code fonctionne...
En plus, je viens de voir les boucles avec <while>, dans ce cas il est très utile
Cependant, pour les divisions, le programme dysfonctionne car le type de variable est <int>, je l'ai donc remplacé lors de la déclaration des variables <int> par <double> et tout les <%ld> par <%lf> mais ça ne marche pas...
HELP please
^^ Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :