Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mon (petit) programme qui foire :'(

quelques lignes.... mais ou est l'erreur

Sujet résolu
    21 octobre 2006 à 23:48:55

    Bonjour
    Je ne suis qu'aux premières leçons, je viens d'essayer de faire un petit programme qui divise 2 nombres et affiche le résultat... mais ca ne marche pas, le résultat est toujours: 1.#INFOO (ce qui me laisse supposer à un résultat infini...
    Si quelqu'un voit le problème... merci

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


    int main(int argc, char *argv[])
    {float resultat , numerateur , denominateur;
    printf("Bienvenue dans notre diviseur intéractif!!!\n\n");

    //rentrer les 2 nombres
            printf("donne le numerateur : ");
            scanf("%lf",&numerateur);
            printf("\ndonne le dénominateur : ");
            scanf("%lf",&denominateur);
            resultat = numerateur / denominateur;
            printf("\n\n ton rapport est egal a %lf!!",resultat);

    //au revoir !

            printf("\n\n ****Bonne journee****\n ;-)\n\n");
            system("PAUSE");
            return 0;
    }


    J'ai bien essayé aussi en mettant au depart
    float numerateur=0, denominateur= O, etc...

    Mais le résultat est toujorus le même...

    HELP ?
    • Partager sur Facebook
    • Partager sur Twitter
      21 octobre 2006 à 23:58:16

      Salut,

      Tu déclares tes variables en float mais après, tu utilises lf qui correspond au type double.
      Donc modifie cela.
      Rappel :

      Code de format Variable associée
      c char
      d int
      u unsigned int
      hd short int
      hu unsigned short
      ld long int
      lu unsigned long
      f float (notation décimale)
      e float (notation exponentielle)
      lf double (notation décimale)
      le double (notation exponentielle)
      s chaîne de caractère

      • Partager sur Facebook
      • Partager sur Twitter
        21 octobre 2006 à 23:58:55

        Citation : Glius

        Bonjour
        Je ne suis qu'aux premières leçons, je viens d'essayer de faire un petit programme qui divise 2 nombres et affiche le résultat... mais ca ne marche pas,


        Commence par corriger ça :
        Project : Forums
        Compiler : GNU GCC Compiler (called directly)
        Directory : C:\dev\forums2\
        --------------------------------------------------------------------------------
        Switching to target: default
        Compiling: main.c
        main.c: In function `main':
        main.c:11: warning: double format, float arg (arg 2)
        main.c:13: warning: double format, float arg (arg 2)
        Linking console executable: C:\dev\forums2\console.exe
        Process terminated with status 0 (0 minutes, 1 seconds)
        0 errors, 2 warnings


        Une fois que les types sont corrects :
        Bienvenue dans notre diviseur intÚractif!!!

        donne le numerateur : 10

        donne le dÚnominateur : 20


        ton rapport est egal a 0.500000!!

        ****Bonne journee****
        ;-)

        Appuyez sur une touche pour continuer...
        • Partager sur Facebook
        • Partager sur Twitter
        Music only !
          22 octobre 2006 à 0:08:54

          Merci beaucoup.
          En effet, j'ai fait une erreur dans la déclaration de la variable...
          Je ne cherche pas d'excuse, mais cette année j'ai des cours en C (au bahut), et le prof m'a tellement embrouillé que je suis venu ici pour apprendre VRAIMENT le C (et pas un charabia incompréhensible)

          MAIS MERCI BEAUCOUP A VOUS.... je vais enfin pouvoir aller dormir
          • Partager sur Facebook
          • Partager sur Twitter
            22 octobre 2006 à 0:10:56

            Puisque ton sujet est résolu, penses à l'indiquer. Merci.
            (petit lien vert en bas à gauche)
            • Partager sur Facebook
            • Partager sur Twitter
              22 octobre 2006 à 0:12:53

              Citation : seb13


              Code de format Variable associée
              c char
              d int
              u unsigned int
              hd short int
              hu unsigned short
              ld long int
              lu unsigned long
              f float (notation décimale)
              e float (notation exponentielle)
              lf double (notation décimale)
              le double (notation exponentielle)
              s chaîne de caractère




              Ah chouette, les types non signés je les connaissais pas par coeur.

              Par contre, comment note-t-on le type long double ? :) (il me semble qu'il existe, en tout cas ça marche bien dans mes programmes)
              • Partager sur Facebook
              • Partager sur Twitter
                22 octobre 2006 à 0:18:24

                Je viens de voir sur le net un lg pour long double mais cela reste à confirmer.
                • Partager sur Facebook
                • Partager sur Twitter
                  22 octobre 2006 à 0:19:56

                  Citation : seb13

                  Je viens de voir sur le net un lg pour long double mais cela reste à confirmer.



                  J'ai un peu la flemme d'essayer là, mais à l'occasion j'essayerai d'y penser, pour voir.

                  Merci :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 octobre 2006 à 0:37:34

                    Citation : seb13

                    Je viens de voir sur le net un lg pour long double mais cela reste à confirmer.


                    Oui, les formats d'affichage des doubles (*printf), sont "%e" ou "%f" ou "%g" alors pour les long doubles, ce sont "%le" ou "%lf" ou "%lg"

                    Lire son livre de C habituel pour les détails... (ou la norme)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Music only !
                      22 octobre 2006 à 1:11:31

                      %f pour un double ? Et %lf c'est pour un float alors ? XD
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 octobre 2006 à 1:23:10

                        Citation : Oblivion

                        %f pour un double ? Et %lf c'est pour un float alors ? XD


                        Avec printf () ? Qu'en pense ton livre de C ?

                        Il ne faut pas chercher à deviner. Si on ne sait pas, on regarde la référence, c'est tout.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Music only !
                          22 octobre 2006 à 1:31:59

                          Encore faut-il être en possession d'un livre autre que:
                          Le livre du C premier langage, pour les vrais débutants en programmation.
                          (Claude Delannoy)

                          xD

                          Ok --->[]
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 octobre 2006 à 1:38:31

                            Citation : Yno

                            Encore faut-il être en possession d'un livre autre que:
                            Le livre du C premier langage<...>


                            J'ai donné la référence de la norme... C'est un peu geek, mais ça se lit...

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Music only !
                              22 octobre 2006 à 4:03:30

                              Citation : Yno

                              Encore faut-il être en possession d'un livre autre que:
                              Le livre du C premier langage, pour les vrais débutants en programmation.
                              (Claude Delannoy)

                              xD

                              Ok --->[]



                              J'ai ce livre et je le trouve vraiment bof, bof par rapport au SDZ.

                              Kurapix
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 octobre 2006 à 8:18:28

                                Citation : Kurapix


                                J'ai ce livre et je le trouve vraiment bof, bof par rapport au SDZ.

                                Kurapix

                                C'est sur que sur le SdZ sa rentre tout seul, mais la il faut un minimum de <acronym title="cervelle">brain</acronym> ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 octobre 2006 à 8:22:48

                                  Oui ça rentre tout seul mais il n'y a pas tout qui rentre.
                                  Je veux dire que même dans le livre de Delannoy, il y a plus de choses sur les bases du C que dans les tutos de M@teo (pas la sdl bien sur). Mais il est vrai que M@teo détaille plus certains points.
                                  Il faut savoir aller chercher les bonnes informations là ou elles se trouvent et ne pas se limiter au sdz.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    22 octobre 2006 à 9:17:34

                                    Euh vous savez, mon livre je l'ai acheté il y a deux ans, quand je commencais la programmation, mais ça fait longtemps que je ne l'ai plus ouvert.

                                    D'ailleurs, si quelqu'un a un bon livre de C++ assé complet à me proposer, çe ne serait pas de refus :) (peut-être qu'un sujet en post-it sur les livres de C -biens- serait pas mal ?)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      22 octobre 2006 à 11:11:23

                                      Citation : Yno

                                      D'ailleurs, si quelqu'un a un bon livre de C++ assé complet à me proposer, çe ne serait pas de refus :) (peut-être qu'un sujet en post-it sur les livres de C -biens- serait pas mal ?)



                                      ==> Je suis pour la création d'un petite rubrique sur le SDZ pour référencer les différents livres existants sur le C... et que chacun puisse donner son avis, etc...
                                      Faut dire que je voyage souvent en train, et que c'est plus pratique d'avoir un bouquin quand on a pas internet (a quand internet dans le TGV?)... :p
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        22 octobre 2006 à 11:15:14

                                        A ce moment là autant le faire pour tout les langages les plus utilisés sur ce site à savoir C, C++, PHP, XHTML et CSS (pas des langages mais bon), Python, Flash, Java, JS, VB...
                                        Parceque les bons livres il doit pas y en avoir beaucoup pour chaque langage.
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Mon (petit) programme qui foire :'(

                                        × 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