Calculatrice en C, problème d'initialisation.
Seb
-
tatou_38 Messages postés 1937 Date d'inscription Statut Membre Dernière intervention -
tatou_38 Messages postés 1937 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je cherche à programmer une calculatrice basique ( +, -, *, /), et en cherchant plusieurs heures, j'ai ENFIN réussi à lancer le programme.
L'ennui, c'est que l'initialisation en 0 ne se fait pas !
Je me retrouve donc, si te tape 2 + 3, avec 223434 +32435 = 3245465 ...
Voici ma fonction (avec le switch, pas le if) :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int choixCalcul;
int resultat = 0, nombre1 = 0, nombre2 = 0;
printf ("Quel operation voulez-vous faire ?\n\n1. Addition\n\n2. Soustraction\n\n3. Multiplication\n\n4. Division\n\n");
scanf ("%d", &choixCalcul);
switch (choixCalcul)
{
case 1:
printf ("faites votre addition :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 + nombre2;
printf ("%d + %d = %d", &nombre1, &nombre2, &resultat);
break;
case 2:
printf ("faites votre soustraction :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 - nombre2;
printf ("%d - %d = %d", &nombre1, &nombre2, &resultat);
break;
case 3:;
printf ("faites votre multiplication :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 * nombre2;
printf ("%d * %d = %d", &nombre1, &nombre2, &resultat);
break;
case 4:;
printf ("faites votre division:\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 / nombre2;
printf ("%d / %d = %d", &nombre1, &nombre2, &resultat);
break;
default:
printf ("Commande non reconnue\n\n");
break;
}
return 0;
}
Si vous pouvez m'aider, je vous en serais très reconnaisant.
Seb.
L'ennui, c'est que l'initialisation en 0 ne se fait pas !
Je me retrouve donc, si te tape 2 + 3, avec 223434 +32435 = 3245465 ...
Voici ma fonction (avec le switch, pas le if) :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int choixCalcul;
int resultat = 0, nombre1 = 0, nombre2 = 0;
printf ("Quel operation voulez-vous faire ?\n\n1. Addition\n\n2. Soustraction\n\n3. Multiplication\n\n4. Division\n\n");
scanf ("%d", &choixCalcul);
switch (choixCalcul)
{
case 1:
printf ("faites votre addition :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 + nombre2;
printf ("%d + %d = %d", &nombre1, &nombre2, &resultat);
break;
case 2:
printf ("faites votre soustraction :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 - nombre2;
printf ("%d - %d = %d", &nombre1, &nombre2, &resultat);
break;
case 3:;
printf ("faites votre multiplication :\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 * nombre2;
printf ("%d * %d = %d", &nombre1, &nombre2, &resultat);
break;
case 4:;
printf ("faites votre division:\n\n");
printf ("Tapez votre premier nombre :\n\n");
scanf ("%d", &nombre1);
printf ("Tapez votre deuxieme nombre :\n\n");
scanf ("%d", &nombre2);
printf ("\n\n");
resultat = nombre1 / nombre2;
printf ("%d / %d = %d", &nombre1, &nombre2, &resultat);
break;
default:
printf ("Commande non reconnue\n\n");
break;
}
return 0;
}
Si vous pouvez m'aider, je vous en serais très reconnaisant.
Seb.
A voir également:
- Calculatrice en C, problème d'initialisation.
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Installer calculatrice - Télécharger - Calcul & Conversion
- Ma-calculatrice - Télécharger - Calcul & Conversion
- Calculatrice disparue samsung ✓ - Forum Windows
- L'initialisation du rockstar games launcher a échoué - Forum Jeux PC
1 réponse
printf ("%d + %d = %d", &nombre1, &nombre2, &resultat);
en fait tu affiches l'adresse de nombre1, nombre2 et resultat plutôt que leur valeur !
il faut écrire :
printf ("%d + %d = %d", nombre1, nombre2, resultat);
dans sacanf() il faut passer les arguments par adresse pour que scanf puisse y placer la valeur lue. printf se sufit d'un passage par référence.
en fait tu affiches l'adresse de nombre1, nombre2 et resultat plutôt que leur valeur !
il faut écrire :
printf ("%d + %d = %d", nombre1, nombre2, resultat);
dans sacanf() il faut passer les arguments par adresse pour que scanf puisse y placer la valeur lue. printf se sufit d'un passage par référence.