[Débutant ] Créer une calculatrice

rockerguitar Messages postés 6 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 18 décembre 2006 - 14 déc. 2006 à 20:53
Slidi Messages postés 3 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 18 décembre 2006 - 18 déc. 2006 à 17:37
Bonsoir à tous !
Je suis nouveau dans le monde de la programmation. J'ai commencé il y a 3 jours. Mon projet est de créer un jeu musical sur la Nintendo Wii, en utilisant la Wiimote. Comme vous le voyez, je suis un amoureux des jeux vidéos ^^
J'ai 15 ans, j'habite à Marseille, et mon prénom, c'est Olivier. Voila.

J'ai voulu créer une calculatrice dans la console Win32, mais il y a une problème, je ne saurait l'expliquer, mais je vous donne mon code, pour que vous puissiez tou de même m'aider :


#include
<stdio.h>



#include






<stdlib.h>

int



main(

int
argc,

char
*argv[]){


long
choixOperation;

printf(


"Operation\n\n"
);printf(


"1. Addition\n"
);printf(


"2. Soustraction\n"
);printf(


"3. Multiplication\n"
);printf(


"4. Division\n"
);printf(


"\nVotre choix ? "
);scanf(


"%ld"
, &choixOperation);

printf(


"\n"
);


switch
(choixOperation){


case
1:printf(


"Addition"
);


break
;


case
2:printf(


"Soustraction"
);


break
;


case
3:printf(


"Multiplication"
);


break
;


case
4:printf(


"Division"
);


break
;


default
:printf(


"C'est pourtant pas dur de choisir entre 1, 2, 3 et 4 non ?"
);


break
;}

printf(


"\n\n"
);


long
resultat 0, nombre1 0, nombre2 = 0;printf(


"Entrez le nombre 1 : "
);scanf(


"%ld"
, &nombre1);printf(


"Entrez le nombre 2 : "
);scanf(


"%ld"
, &nombre2);


// Et on affiche l'addition à l'écran :






if
(choixOperation == 1);{

resultat = nombre1 + nombre2;

printf (


"%ld + %ld = %ld\n"
, nombre1, nombre2, resultat);}


if
(choixOperation == 2);{

resultat = nombre1 - nombre2;

printf (


"%ld - %ld = %ld\n"
, nombre1, nombre2, resultat);}


if
(choixOperation == 3);{

resultat = nombre1 * nombre2;

printf (


"%ld * %ld = %ld\n"
, nombre1, nombre2, resultat);}


if
(choixOperation == 4);{

resultat = nombre1 / nombre2;

printf (


"%ld / %ld = %ld\n"
, nombre1, nombre2, resultat);}

system(


"PAUSE"
);}

Je programme sous Visual C++ 2005 Express. Je tiens à vous dire que ce code comporte tous les points-virgule et guillemets ou autre, simplement, il ne marche pas correctement.
Merci d'avance.

22 réponses

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
18 déc. 2006 à 17:21
Je maintient ce que je dis sur l'histoire des if / if ...else, les else sont totalement inutile pour résoudre ton problème et j'ai enfin trouvé pourquoi, d'ailleurs le fait que ca marche avec des else est un coup de chance.

Dans ton :
if (choixOperation == 4);
{
...
}

y'a que moi que ca choque le ; à la fin !!!

Je suis sur que si tu l'enlève ca marchera beaucoup mieu, car dans ce cas les { } seront associées au if et plus vu comme une portion de code !!!!

<hr size="2" width="100%" />TuRn3r
0
Slidi Messages postés 3 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 18 décembre 2006
18 déc. 2006 à 17:37
Ah oui effectivement, les ";" sont en trop, je ne les avaient pas vu car j'avais tout éffacé pour réécrire.
Donc oui les else sont inutile mais c'est plus correct, c'est un peu pour ce genre de chose qu'ils existent nan, sinon il n'y aurait que des If?

Turnerom tu aurais un exemple ou le else if ne marcherait pas ? ça m'intrigue pas mal, le fait que ça marche par chance :S
0
Rejoignez-nous