Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculette

voila ma 1er caculette

    9 décembre 2005 à 15:22:10

    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");
    return 0; //on quitte le programme
    }
    }
    • Partager sur Facebook
    • Partager sur Twitter
    Oalley.fr une carte intelligente pour se déplacer et se retrouver !
      9 décembre 2005 à 15:37:01

      Salut,

      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) ...

      Bon début ;)

      ++
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 décembre 2005 à 15:48:35

        Bravo mais il y a une autre technique beaucoup plus rapide et claire que celle-ci :

        ...
        int a,b,c;
        scanf("%d",&a);
        switch(a)
        {
        case '1':
        print("addition");
        scanf("%d",&b);
        scanf("%d",&c);
        printf("%d + %d = %d"b,c,b+c);
        ...
        case '2':
        printf("soustraction");
        ...
        }


        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" :


        ...
        case '1':
        case '2':
        case '3':
        printf("...",...");
         


        Voilà a+
        • Partager sur Facebook
        • Partager sur Twitter
          9 décembre 2005 à 17:05:05

          Merci pour vos conseil la je vais rajouter les puissance ... @++
          • Partager sur Facebook
          • Partager sur Twitter
          Oalley.fr une carte intelligente pour se déplacer et se retrouver !
            9 décembre 2005 à 17:54:01

            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 ;)
            • Partager sur Facebook
            • Partager sur Twitter

            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.
            • Editeur
            • Markdown