Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de compilation

    24 décembre 2005 à 12:20:55


    voila mon code :



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

    int main(int argc, char *argv[])
    {
      long adition = 0;
      printf("VOICI MA CALCULETTE QUI CALCULE QUE DES NOMBRE ENTIERS\n");   
      printf("tape 1 si veux faire un adition, tape 2 si tu veux faire une soustraction\n");
      scanf("%ld", &adition);
      system("\nPAUSE");
      if (adition == 1);
      {
      long resultat = 0, nbr1 = 0, nbr2 = 0;
      print("tape le nombre 1\n");
      scanf("%ld", nbr1);
      print("tape le nombre 2\n");
      scanf("%ld", nbr2);
      system("\nPAUSE");
     
      resultat = nbr1 + nbr2;
      printf("le resultat est : %ld\n", resultat);
      system("\nPAUSE");
      return 0;
      }
      if (adition == 2);
      {
      long result = 0, n1 = 0, n2 = 0;
      print("tape le nombre 1\n");
      scanf("%ld", n1);
      print("tape le nombre 2\n");
      scanf("%ld", n2);
      system("\nPAUSE");
      result = n1 - n2;
      printf("le resultat est : %ld\n", result);
      system("\nPAUSE");
      return 0;
      }
    }


    le truc c'est que dev-c++ n'arrive pas a le compiler je sais pas pouqu'oi au début sa marche et m'intenan il me le compile pas sans me dire ou est l'erreur c'est pour ca que je m'adresse a vous
    voila merci
    • Partager sur Facebook
    • Partager sur Twitter
      24 décembre 2005 à 12:30:57

      Si ça compilait avant, c'est que ça vient du compilateur et non du code.

      Oui je sais, je ne fais pas avancer le shmilblick...
      • Partager sur Facebook
      • Partager sur Twitter
        24 décembre 2005 à 13:07:29

        Salut,
        tu as mis quelques "print" au lieu de "printf".
        et aussi le signe "&" au variables des scanf qui suivent ces printf.


        if (adition == 1);
          {
          long resultat = 0, nbr1 = 0, nbr2 = 0;
          printf("tape le nombre 1\n")//ici
          scanf("%ld", &nbr1);      //<== &nbr1
          printf("tape le nombre 2\n")//ici
          scanf("%ld", &nbr2);      //<== &nbr2
          system("\nPAUSE");

        //[...]

        long result = 0, n1 = 0, n2 = 0;
          printf("tape le nombre 1\n");   //ici
          scanf("%ld", &n1);      //<== &n1
          printf("tape le nombre 2\n");   // et ici
          scanf("%ld", &n2);      //<== &n2

        EDIT : pour les scanf.

        @+
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          24 décembre 2005 à 15:09:55

          Au passage, enlèves les \n dans les system("pause"); et déclares tes variables au début, tu changeras leur valeur ensuite si besoin.

          Et si il compile pas sans te dire d'erreurs, ça vient sans doute de dev-c++ : tu as bien installé la version complète avec GCC ? Il est pas dans Program Files ? Vérifies dans les options les chemins vers GCC et tout, si ils sont vides, soit réinstalles dans C:\ soit re-télécharges la version complète.

          ;)
          • Partager sur Facebook
          • Partager sur Twitter
            24 décembre 2005 à 17:18:47

            ca vient bien de print f mais pour la declaration de variable je l'ai pourtant bien fai non????
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              24 décembre 2005 à 17:28:46

              Il faut éviter de déclarer des variables dans un if. Regardes simplement ton code : si l'utilisateur tappe une valeur autre que 1 ou 2, aucun des if n'est exécuté. Et si après tes if tu as besoin d'utiliser ces variables, elles n'auraient été créées que dans certains cas, dans d'autres boum variable inexistante :waw: , et c'est pas comme en PHP : pas de if(isset()). Il faut donc mieux initialiser les variables au début, c'est plus sûr.

              Donc, écris au début du programme ou du main tes long machin et si tu as besoin, dans chaque if tu peux remettre à 0.

              ;)
              • Partager sur Facebook
              • Partager sur Twitter
                24 décembre 2005 à 17:33:59

                oué bon en tout cas mon programme cale quand je léxucute il souvre mes kan jrrive a la ligne d'entré un nombre (2) il menvoi un raport dérreur
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  24 décembre 2005 à 17:35:55

                  Tu as oublié les & dans les scanf.

                  Le & sert dans les scanf mais pas les printfs, c'est comme ça :D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 décembre 2005 à 1:02:17

                    Surveille ton écriture s'il te plaît.

                    Citation

                    Le & sert dans les scanf mais pas les printfs, c'est comme ça


                    C'est surtout que le printf affiche une valeur, alors que le scanf remplit une case mémoire de l'ordinateur pour contenir une valeur. le & indique l'adresse de la valeur à l'ordinateur.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    problème de compilation

                    × 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