Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mini Calculatrice

petit problème

    17 juin 2006 à 17:21:31

    bonjour à tous, je suis le cours de mateo sur le langage C/C++ et je dois faire une mini calculatrice. (pour être plus précis c'est dans le chapitre sur les conditions en dessous du QCM.
    Comme vous vous en doutez j'ai un problème.
    Voici mon code peut être il y a une erreur dedans :
    Je suis un vrai zéro :D



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

    int main(int argc, char *argv[])
    {
      long choixMenu = 0;
      long nombre1 = 0;
      long nombre2 = 0;
      long resultat = 0;
     
      printf("=== Menu de la Calculatrice===\n\n");
      printf("1. Addition\n");
      printf("2. Soustraction\n");
      printf("3. Multiplication\n");
      printf("4. Division\n\n");
     
      printf("Votre choix ?  ");
      scanf("%ld", &choixMenu);
     
      switch (choixMenu)
    {
      case 1:
        printf("\nFaites une addition\n");
        printf("Choisissez le premier nombre : ");
        scanf("%ld", &nombre1);
        printf("Choisissez un deuxieme nombre : ");
        scanf("%ld", &nombre2);
       
        nombre1 + nombre2 = resultat;
        printf("%ld + %ld = %ld" nombre1, nombre2, resultat);
        break;
      case 2:
        printf("Faites une soustraction");
        break;
      case 3:
        printf("Faites une multiplication");
        break;
      case 4:
        printf("Faites une division");
        break;         
      default:
        printf("Vous avez mal choisi");
    }
     
      system("PAUSE");     
      return 0;
    }

    Notez que je n'ai pas fini je me suis arrêté à la case 1 car elle doit être
    fausse. :o
    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2006 à 17:23:24

      Tu fais
      nombre1 + nombre2 = resultat

      et il faut faire :
      resultat = nombre1 + nombre2;

      pour que ça marche
      ++
      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2006 à 17:24:18

        il faut mettre :
        resultat = nombre1 + nombre2;

        Et pas l'inverse sinon tu force nombre1+nombre2 à être égal à 0 :p !


        Bouh ! Grilled :p


        Bon sinon quelques optimisations : c'est embêtant de mettre 56 ligne commençant par long non ? Alors :
        long machin1 = 0, machin2 = 0, resultat = 0, trucbidule = 56, continuer = 1; //berf autant que tu veux à séparer par des virgules !


        Ensuite tu a mis l'éntrée des nombres dans ton case, ça veut dire que tu va devoir le remettre à chaque case ! Comme à chaque coup tu veux deux nombres, il vaut mieux demander avant le switch et seulement gérer l'opération dans le case !

        Voilà bonne chance pour le reste de ton apprentissage jeune codeur ^^
        • Partager sur Facebook
        • Partager sur Twitter
          17 juin 2006 à 17:25:23

          En clair


          nombre1 + nombre2 = resultat;


          nombre1 + nombre2 n'est pas une lvalue. Tu dois faire l'assignation dans l'autre sens comme il l'a été signalé
          • Partager sur Facebook
          • Partager sur Twitter
            17 juin 2006 à 17:26:02

            à d'accord ça marche merci pour vos réponses et votre aide :D
            • Partager sur Facebook
            • Partager sur Twitter

            Mini Calculatrice

            × 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