Création d'une calculatrice en C.

Niiack -  
oni Messages postés 34 Statut Membre -
Bonjour,

ce matin, je me suis lancé dans la création d'une calculatrice qui peut faire les soustractions et les additions...
Après une quinzaines de minutes de codages, voilà ce que j'ai fait :


#include <stdio.h>
#include <stdlib.h>

int main()
{
int choix = 0;
printf("Voulez-vous faire une : \n\n");
printf("1.Addition\n\n");
printf("2.Soustraction\n\n");
printf("Tapez 1 ou 2 : ");

scanf("%d", &choix);

if (choix = 1)
{
int resultat = 0;
int premierchiffre = 0;
int deuxiemechiffre = 0;
printf("\n\nEntrer les deux chiffres que vous voulez additionner !\n\n\n");
printf("Nombre 1 : ");
scanf("%d", &premierchiffre);
printf("\n\nNombre 2 : ");
scanf("%d", &deuxiemechiffre);
resultat = premierchiffre + deuxiemechiffre;
printf("\n\n%d + %d = %d\n\n", premierchiffre, deuxiemechiffre, resultat);
}

else

{
int resultat2 = 0;
int nombre1 = 0;
int nombre2 = 0;

printf("\n\nEntrer les deux chiffres que vous voulez soustraire !\n\n\n");
printf("Nombre 1 : ");
scanf("%d", &nombre1);
printf("\n\nNombre 2 : ");
scanf("%d", &nombre2);
resultat2 = nombre1 + nombre2;
printf("%d - %d = %d\n\n", nombre1, nombre2, resultat2);
}
return 0;
}


Le problème c'est que j'ai beau taper 2 au départ, il me propose toujours de faire une addition...

Merci d'avance pour vos réponses...

Cordialement, Niiack.
A voir également:

3 réponses

oni Messages postés 34 Statut Membre
 
Bonjour,

Tu avais simplement oublié un " = " dans le if, ce qui, du coup, n'est plus un test, mais toujours vrai.

Avec cela ca fonctionne :)
0
Niiack
 
Pourrait tu écrire la ligne en la corrigeant stp?
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Correction : if (choix == 1)
0
oni Messages postés 34 Statut Membre
 
Il suffit de mettre if (choix == 1) au lieu de if (choix = 1)
un " == " est un test, un " = " est une affectation. Si tu laisse if (choix = 1), tu donne en fait à choix la valeur 1, et donc il se passera forcement ce qu'il y a dans le if et ta variable "choix" vaudra 1 par la suite
0