Voila je vient de réaliser ma 1er caculette mais quand je fais une opération autre que l'additions il ne passe pas par le message else et il quitte directement voila mon code :
#include <stdio.h> #include <stdlib.h>
int main(int argc, char *argv[]) { long choix, nombre1, nombre2, resultat; //on creer les variable
choix = 0; nombre1 = 0; nombre2 = 0; resultat = 0; printf("Choissiser une operation \n *1* une addition\n *2*une soustraction \n *3* une multiplication \n *4* une division \n");
scanf("%ld",&choix);// on choisis l'opération que l'on veut faire
system("cls"); //on efface l'écran if(choix == 1)//on regarde ce qu'a choisis l'utilisateur comme choix { printf("Choissisez votre 1er nombre :"); //on lui dit de choisir sont premier nombre
scanf("%ld", &nombre1); printf("\nVous avez choisis comme nombre %ld\n", nombre1);//on lui redonne sont premier nombre printf("\nChoissisez votre 2eme nombre :");//on lui fait choisir sont 2éme nombre
scanf("%d", &nombre2); printf("\nVous avez choisis comme nombre %ld\n\n", nombre2);//on lui redonne sont 2eme nombre
system("pause");
resultat = nombre1 + nombre2;// on fait le cacul printf("Votre resultat est %ld + %ld = %ld\n", nombre1, nombre2, resultat);//on qffiche le resultat
system("pause"); } if(choix == 2) { printf("Choissisez votre 1er nombre :");
scanf("%ld",&nombre1); printf("\nVous avez choisis comme nombre %ld\n", nombre1); printf("\nChoissisez votre 2eme nombre :");
scanf("%ld", &nombre2); printf("\nVous avez choisis comme nombre %ld\n", nombre2);
system("pause");
resultat = nombre1 - nombre2; printf("Votre resultat est %ld - %ld = %ld\n", nombre1, nombre2, resultat);
system("pause"); } if(choix == 3) { printf("Choissisez votre 1er nombre :");
scanf("%ld", &nombre1); printf("\nVous avez choisis comme nombre %ld\n", nombre1); printf("\nChoissisez votre 2eme nombre :");
scanf("%ld", &nombre2); printf("\nVous avez choisis comme nombre %ld\n\n", nombre2);
system("pause");
resultat = nombre1 * nombre2; printf("Votre resultat est %ld * %ld = %ld\n", nombre1, nombre2, resultat);
system("pause"); } if(choix ==4) { printf("Choissisez votre 1er nombre :");
scanf("%ld", &nombre1); printf("\nVous avez choisis comme nombre %ld\n", nombre1); printf("\nChoissisez votre 2eme nombre :");
scanf("%ld", &nombre2); printf("\nVous avez choisis comme nombre %ld \n\n", nombre2);
system("pause");
resultat = nombre1 / nombre2; printf("Votre resultat est %ld / %ld = %ld\n", nombre1, nombre2, resultat);
system("pause"); } else {
system("cls"); //on efface ce qu'il ya avant printf("Merci d'avoir utiliser cette caculette aurevoir\n");//message de fin
choix = 0, nombre1 = 0, nombre2 = 0, resultat = 0; //on remet les variable a 0
system("pause"); return0; //on quitte le programme } }
Oalley.fr une carte intelligente pour se déplacer et se retrouver !
Ton bloc else tout à la fin ne porte que sur le if (choix == 4).
Toutes les autres conditions sont testées mais ne prennent pas le else en compte.
Soit tu veux afficher ce message tout le temps et tu dois tester toutes les valeurs de choix ou bien tu rajoutes un 5e choix (quitter) ...
En fait si a correspond a une valeur après case ici 1 ou 2 alors le prog affiche le contenu de cette case sinon il quitte. Cela marche aussi avec plusieurs "cases" :
Moi j'aurais une petite astuce a donner...
Je ne l'ai pas encore essayé mais je suis presque sûr que tu serais capable de réaliser cette même calculatrice avec seulement deux variables..;
Je te lance le défi!§bonne chance!!
(ps:je ne pense pas quil soit utile d'indiquer à l'utilisateur qu'elle nombre à t'il choisi..Sachant qu'il est indiqué juste au dessus...Mais l'initiative est bonne
Calculette
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.