Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chapitre 5 : Ma calculette 1.0

Le script plante

    8 décembre 2005 à 17:08:13

    Voilà je suis en train de lire le chapitre 5 du cours C/C++
    Et j'ai crée un petit truc pour m'entrainer ^^
    Le problème c'est que quand je le compile il me met des erreurs en bas mais n'affiche rien, pourtant j'ai beau relire je ne trouve pas d'erreurs :(

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

    int main(int argc, char *argv[])
    {
        long resultat_addition = 0.00,resultat_soustraction = 0.00,resultat_multiplication = 0.00,resultat_division = 0.00, nombre1 = 0.00, nombre2 = 0.00;
        printf("Bienvenue sur la calculo 1.0 cree par Guillou\n");
        printf("Entrez deux nombres et je calcule pour vous\n");
        prinft("Nombre 1 : ");
        scanf("%ld\n", &nombre1);
        printf("Nombre 2 : ");
        scanf("%ld\n", &nombre2);
       
        resultat_addition = nombre1 + nombre2;
        resultat_soustraction = nombre1 - nombre2;
        resultat_multiplication = nombre1 * nombre2;
        resultat_division = nombre1 / nombre2;
       
        printf("%ld + %ld = %ld\n", nombre1, nombre2, resultat_addition);
        printf("%ld - %ld = %ld\n", nombre1, nombre2, resultat_soustraction);
        printf("%ld * %ld = %ld\n", nombre1, nombre2, resultat_multiplication);
        printf("%ld : %ld = %ld\n", nombre1, nombre2, resultat_division);
        system("PAUSE");
        return 0;
    }


    [08-12-2005 rotoclap] Je me suis permis de virer les balises "<gras><italique><taille valeur="gros"><couleur nom="rouge">" sinon ça fait mal aux yeux :)
    • Partager sur Facebook
    • Partager sur Twitter
      8 décembre 2005 à 17:11:30

      S'il te plaît n'écrit pas si gros je ne comprend rien à ton code ;)
      • Partager sur Facebook
      • Partager sur Twitter
        8 décembre 2005 à 17:13:05

        Ca serai pas mal que tu formates ton post dans qq chose de lisible.

        long resultat_addition = 0.00

        long est un type entier. Donc il faut mettre 0.
        • Partager sur Facebook
        • Partager sur Twitter
          8 décembre 2005 à 17:20:28

          les seules 2 erreurs qui s'étaient glissées :
          1) une fois tu as écris prinft au lieu de printf
          2) quand tu utilises scanf() ne met jamais de retour à la ligne après la variable ca pose un bleme quand tu lances le programme.

          Citation : The Dooft


          long resultat_addition = 0.00


          long est un type entier. Donc il faut mettre 0.



          The DOoft et Havok ==> non il peut très bien mettre un long = 0.00

          voila le code :
          #include <stdio.h>
          #include <stdlib.h>

          int main(int argc, char *argv[])
          {
              long resultat_addition = 0.00,resultat_soustraction = 0.00,resultat_multiplication = 0.00,resultat_division = 0.00, nombre1 = 0.00, nombre2 = 0.00;
              printf("Bienvenue sur la calculo 1.0 cree par Guillou\n");
              printf("Entrez deux nombres et je calcule pour vous\n");
              printf("Nombre 1 : ");
              scanf("%ld", &nombre1);
              printf("Nombre 2 : ");
              scanf("%ld", &nombre2);
             
              resultat_addition = nombre1 + nombre2;
              resultat_soustraction = nombre1 - nombre2;
              resultat_multiplication = nombre1 * nombre2;
              resultat_division = nombre1 / nombre2;
             
              printf("%ld + %ld = %ld\n", nombre1, nombre2, resultat_addition);
              printf("%ld - %ld = %ld\n", nombre1, nombre2, resultat_soustraction);
              printf("%ld * %ld = %ld\n", nombre1, nombre2, resultat_multiplication);
              printf("%ld : %ld = %ld\n", nombre1, nombre2, resultat_division);
              system("PAUSE");
              return 0;
          }
          • Partager sur Facebook
          • Partager sur Twitter
            8 décembre 2005 à 17:20:30

            Merci Rotoclap ;)
            Ouais effectivement je pense aussi que cela vienne du 0.00.
            • Partager sur Facebook
            • Partager sur Twitter
              8 décembre 2005 à 17:30:19

              Citation : Neodyme


              non il peut très bien mettre un long = 0.00



              Bon premierement je ne sais pas pourquoi il utilise long dans ce cas :euh: ...

              Apres ce n'est pas parceque ca marche qu'il faut le faire. Le type long est fait pour y mettre des nombres entiers longs. Apres on peut bien sur faire plein de chose avec un long, par exemple long nb_joueur = 'a'... :colere:

              Pour moi quelqu'un qui met un nombre reel dans un type entier n'a pas encore compris le principe des types en C.
              • Partager sur Facebook
              • Partager sur Twitter
                8 décembre 2005 à 17:41:35

                Ok merci ;)
                Puis The dooft a raison j'aurais pas du mettre un long ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  8 décembre 2005 à 18:03:22

                  Et surtout, pourquoi se faire chier à taper 3 caractères ".00" en surplus ? :p
                  Le codeur est parfois fainéant, j'vous le rappelle :lol:
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 décembre 2005 à 18:24:58

                    Ni a-il pas une fonction qui permet d'arrondir par exemple à deux chiffre après la virgule ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 décembre 2005 à 20:20:25

                      Tu peux la faire toi-même :

                      #include <math.h>

                      double
                      roundp(double x, double p, double radix)
                      {
                              double z;
                              z = pow(radix, p);
                              return round(x * z) / z;
                      }


                      A peu près ça.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 décembre 2005 à 20:53:44

                        Citation : rotoclap

                        Le codeur est parfois fainéant, j'vous le rappelle


                        Parfois seulement ? :lol:
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 décembre 2005 à 20:55:30

                          Citation : aranaud

                          Ni a-il pas une fonction qui permet d'arrondir par exemple à deux chiffre après la virgule ?



                          Bah jpense que si tu multiplie par 100, apres tu enregistre le resultat ddans une variable double (en redivisant par 100) et ça fait un nombre arrodi à 2 chiffres apres la virgule. :) C'est vachement lourd mais ça doit marcher !

                          Vous me dites si je me trompe. :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 décembre 2005 à 19:11:12

                            Citation : BaDaBouM

                            Citation : aranaud

                            Ni a-il pas une fonction qui permet d'arrondir par exemple à deux chiffre après la virgule ?



                            Bah jpense que si tu multiplie par 100, apres tu enregistre le resultat ddans une variable double (en redivisant par 100) et ça fait un nombre arrodi à 2 chiffres apres la virgule. :) C'est vachement lourd mais ça doit marcher !

                            Vous me dites si je me trompe. :p



                            Sauf que cela ne marche pas à tous les coups. Comme par exemple -0,56 qui devient 0,560000000001 ou 8,62 qui devient 8,619999999999. :(
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Chapitre 5 : Ma calculette 1.0

                            × 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