Partage
  • Partager sur Facebook
  • Partager sur Twitter

FAQ C --- les réponses à _vos_ questions fréquentes

A LIRE avant tout topic

    12 décembre 2005 à 12:47:34

    [rz0] Merci à pepe pour le formattage en zCode de la FAQ. :)
    Maintenant il n'y a plus personne pour vous défendre si vous ne cherchez pas ici d'abord. ;)

    Je vais essayer ici de répondre aux questions les plus fréquemment
    posées que j'ai pu voir sur ces forums. Les questions sont numérotées
    sous la forme (index). Il vous suffit de faire une recherche du numéro
    dans la page.

    (1) Quelle forme de la fonction ``main'' utiliser ?

    (2) Pourquoi ne pas utiliser system("pause") ?

    (3) Quelle est la manière de faire une pause de façon portable (sur
    tous les systèmes) ?

    (4) Comment effacer la console ?

    (5) Comment afficher du texte à un endroit précis ? Comment effacer
    certaines parties de la console ?

    (6) Pourquoi ``scanf'' est mal ?

    (7) Pourquoi ``fflush'' ne doit pas être utilisé sur ``stdin'' ?

    (8) Comment enlever les restes de scanf ?

    (9) Pourquoi ne pas utiliser `char' pour stocker des entiers
    négatifs ? Que faut-il utiliser à la place ?

    (10) Comment récupérer des entiers avec ``scanf'' ? des flottants ?

    (11) Comment définir des chaînes de caractères ?

    (12) Comment comparer des chaînes de caractères ?

    (13) Comment obtenir un nombre au hasard ?

    (14) L'instruction `goto' existe-t-elle ? Quand l'utiliser ?

    (15) Comment lancer un autre programme ?

    (16) Comment définir un caractère ?

    (17) Comment affecter une valeur à une chaîne de caractères ?

    (18) Comment récupérer un caractère avec ``scanf'' ? une chaîne ?

    (19) Comment récupérer proprement une chaîne de caractères ?

    (20) Comment ne pas toujours avoir les mêmes nombres aléatoires avec
    ``rand'' ?

    (21) Comment obtenir un nombre aléatoire entre a et b ?


    (1) Quelle forme de la fonction ``main'' utiliser ?

    Il existe deux formes valides de partout :

    int main(void);
    int main(int argc, char *argv[]);


    Contentez-vous de celles-ci, les autres formes ont parfois la même
    signification que celle-ci mais tant que vous ne comprenez pas
    précisément ce que vous écrivez, ne modifiez pas ces déclarations.

    La forme "void main(void)" n'est pas valide.

    (2) Pourquoi ne pas utiliser system("pause") ?

    La fonction ``system'' lance un autre programme à travers une ligne de
    commande. ``PAUSE'' étant un programme spécifique à MS Windows, cette
    ligne se trouve invalide sur la plupart des systèmes.

    De plus, la plupart des systèmes disposant d'une vraie console n'ont
    pas besoin et n'apprécient pas les pauses en fin de programme ; la
    console étant un environnement persistant et qui ne se ferme pas comme
    sous Windows.


    (3) Quelle est la manière de faire une pause de façon portable (sur
    tous les systèmes) ?


    À la place de system("pause"), il est possible d'utiliser la fonction
    ``getchar'' qui s'appelle ainsi :

    getchar();


    Celle-ci attend l'appui de la touche Entrée. Il faut inclure
    ``stdio.h'' si ce n'est déjà fait.


    (4) Comment effacer la console ?


    En C purement standard et portable, on ne peut pas. Il faut utiliser
    des commandes ou des fonctions dans des bibliothèques tierces. Évitez
    ce genre d'idées pour l'heure, il n'est généralement pas besoin de ça
    et l'utilisateur n'apprécie pas que l'on lui vide sa console dans la
    majorité des cas.


    (5) Comment afficher du texte à un endroit précis ? Comment effacer
    certaines parties de la console ?


    De même que la 4.


    (6) Pourquoi ``scanf'' est mal ?


    Lorsque ``scanf'' lit correctement les entrées, tout se passe à peu
    près sans peine. Lorsque l'utilisateur n'entre pas la valeur voulue,
    ``scanf'' se contente d'arrêter de lire et de tout laisser en plant de
    sorte que si vous réessayez d'utiliser ``scanf'' à la suite, il
    tentera de relire ce qu'il n'a pas su lire et laissera à nouveau tout
    en désordre. Il faut nettoyer ce que la fonction laisse derrière elle.


    (7) Pourquoi ``fflush'' ne doit pas être utilisé sur ``stdin'' ?


    Tout simplement parce que ce comportement n'est pas défini par le
    standard, ce qui signifie que tout peut arriver. C'est donc une très
    mauvaise idée car le résultat est imprévisible.

    (8) Comment enlever les restes de scanf ?

    Il faut utiliser une fonction de lecture telle que ``getchar'' en
    boucle jusqu'à lire le caractère de retour à la ligne `\n'. Si vous
    avez besoin de nettoyer c'est que vous connaissez déjà le principe des
    boucles pour demander une valeur continuellement à l'utilisateur.

    void
    cleanscan(void)
    {
            int c;
            do
                    c = getchar();
            while (c != '\n' && c != EOF);
    }



    (9) Pourquoi ne pas utiliser `char' pour stocker des entiers
    négatifs ? Que faut-il utiliser à la place ?


    `char' est un type qui peut ou pas contenir des entiers négatifs selon
    votre compilateur et votre système. Il vaut mieux utiliser à la place
    le type `signed char' qui est assuré de pouvoir contenir des entiers
    négatifs et positifs.


    (10) Comment récupérer des entiers avec ``scanf'' ? des flottants ?

    Il existe un format (une chaîne à donner à ``scanf'') par type de
    variable que vous souhaitez récupérer. N'utiliser QUE "%ld" et "%lf"
    n'apportera que des bogues à vos programmes.

    Les entiers :
    • %hhd signed char
    • %hhu unsigned char
    • %d int
    • %u unsigned int
    • %ld long int
    • %lu unsigned long int


    Les flottants :
    • %f float
    • %lf double


    (11) Comment définir des chaînes de caractères ?

    Une chaîne de caractères est un tableau de caractères. Vous n'avez pas
    encore vu les tableaux ; leur manipulation risque d'être délicate.

    /* 20 caractères max dont 1 pour le caractère terminal */
    char s[20];


    (12) Comment comparer des chaînes de caractères ?

    De même, on ne peut comparer directement avec l'opérateur `=='. Il
    faut utiliser ``strcmp'' qui renvoie 0 si les chaînes sont égales.

    if (strcmp(s1, "hello") == 0)
            printf("world\n");



    (13) Comment obtenir un nombre au hasard ?

    Il faut utiliser la fonction ``rand'' qui renvoie un nombre entre 0 et
    ``RAND_MAX''. Il faut initialiser le générateur de nombre aléatoire
    avec une valeur arbitraire, le plus simple étant de prendre la date
    courante.

    #include <time.h>

    /* ... */

    int d;

    srand((unsigned int) time(NULL));
    d = rand();


    (14) L'instruction `goto' existe-t-elle ? Quand l'utiliser ?

    `goto' existe et n'est pas conseillé pour l'utilisation générale. La
    règle est en principe que si l'on peut faire sans `goto' et sans
    rendre le code complètement obscure, tordu, ou trop volumineux, on
    fait sans.


    (15) Comment lancer un autre programme ?

    On doit utiliser ``system'' en lui donnant une commande comme on
    l'aurait entrée dans une console.

    (16) Comment définir un caractère ?

    Un caractère se déclare/définit avec le type `char'.

    (17) Comment affecter une valeur à une chaîne de caractères ?

    À proprement parler, cela n'est pas possible ; pour faire quelque
    chose de similaire, il faut copier le contenu d'une chaîne dans une
    autre. C'est une copie de tableau. Il y a aussi moyen de manipuler
    directement les pointeurs mais vous n'avez sûrement pas idée de
    comment cela se fait et il ne vaut mieux pas essayer de faire
    n'importe comment.

    strcpy(dest, src);


    (18) Comment récupérer un caractère avec ``scanf'' ? une chaîne ?

    Ce sont les formats "%c" et "%s", respectivement. De part sa nature de
    tableau, il n'y a pas besoin de placer un `&' devant le nom de la
    variable. (Vous comprendrez quand vous ferez les relations pointeur à
    tableau et tableau à pointeur)

    À noter que cette méthode n'est pas propre du tout pour les chaînes
    car si l'utilisateur entre un mot plus long que la taille de votre
    chaîne... c'est la fin.


    (19) Comment récupérer proprement une chaîne de caractères ?

    Il existe deux méthodes selon ce que vous souhaitez récupérer. Si vous
    souhaitez lire un mot, il faut utiliser ``scanf'' comme précédemment
    en ajoutant devant le `s' de "%s" un nombre indiquant la taille de la
    chaîne moins 1 (pour le caractère terminal).

    /* 20 - 1 = 19 */
    scanf("%19s", s);


    Si vous souhaitez lire une ligne, vous pouvez directement utiliser
    ``fgets'' de la manière suivante :

    /* avec la déclaration plus haut : 20 est la taille totale de la
       variable, inclus le caractère terminal */

    fgets(s, 20, stdin);


    (20) Comment ne pas toujours avoir les mêmes nombres aléatoires avec
    ``rand'' ?

    Voir question 13.


    (21) Comment obtenir un nombre aléatoire entre a et b ?

    Il existe plusieurs méthodes. La plus simple est d'utiliser
    l'opérateur de reste `%'. (Réfléchissez un peu, vous devriez
    comprendre comment)

    La seconde est simplement de faire une boucle jusqu'à obtenir un
    nombre dans l'intervalle mais peut donner des comportements longs.


    -----------------------------

    Si vous voulez accéder à la version originale, elle se trouve ici :
    http://perso.wanadoo.fr/rzplog/sdz-c-faq.text
    • Partager sur Facebook
    • Partager sur Twitter
      12 décembre 2005 à 18:14:44

      Citation : rz0

      Cela ne vous dispense pas de lire la FAQ.


      ahah, même moi je trouve ca over-austère, tu crois quand même pas que tous les zeros qui font du C vont lire ce truc :D:D

      Pour info il est pas prévu _pour le moment_ de régler ca, donc essaie de faire avec, ou fais en un rtf jsais pas moi, mais force pas les gens à lire ca ^^

      Attention je critique pas le fond hein :)
      • Partager sur Facebook
      • Partager sur Twitter
        12 décembre 2005 à 19:09:21

        négatif, lien alive chez moi :]

        super FAQ, mais ce serais plus lisible pour des zéros et non pour des geeks en html formated :D
        • Partager sur Facebook
        • Partager sur Twitter
          12 décembre 2005 à 19:12:36

          Si quelqu'un veut le mettre en zCode, qu'il n'hésite pas à se dévouer et euh, le lien n'est pas mort normalement.
          • Partager sur Facebook
          • Partager sur Twitter
            13 décembre 2005 à 15:10:49

            Je confirme, le fond est bon, la forme est pourrie.

            Les gens ne liront jamais cela, même si le fond est bon, car ils n'en auront jamais le courage.

            Tu as bien lu ce que tu as écrit ? :p
            Je cite :

            Citation : Pas de titre

            Les questions sont numérotées sous la forme (index). Il vous suffit de faire une recherche du numéro dans la page.



            Ca relève de la science-fiction, un lien vers une ancre aurait pas coûté cher ;)


            Bref, l'idée est bonne mais pas la réalisation. Il faut juste le mettre en zCode ou en HTML, même en RTF ça sera mieux :p
            C'est dommage de passer du temps sur des FAQ si c'est pour que personne ne les lise :(
            • Partager sur Facebook
            • Partager sur Twitter

            If you'd like to join us, read "How do we work at OpenClassrooms"! :)

              13 décembre 2005 à 18:16:26

              Puisque personne ne veut le faire, et que j'ai du temps ;) :p

              Citation : FAQ rz0


              Je vais essayer ici de répondre aux questions les plus fréquemment
              posées que j'ai pu voir sur ces forums. Les questions sont numérotées
              sous la forme (index). Il vous suffit de faire une recherche du numéro
              dans la page.

              (1) Quelle forme de la fonction ``main'' utiliser ?

              (2) Pourquoi ne pas utiliser system("pause") ?

              (3) Quelle est la manière de faire une pause de façon portable (sur
              tous les systèmes) ?

              (4) Comment effacer la console ?

              (5) Comment afficher du texte à un endroit précis ? Comment effacer
              certaines parties de la console ?

              (6) Pourquoi ``scanf'' est mal ?

              (7) Pourquoi ``fflush'' ne doit pas être utilisé sur ``stdin'' ?

              (8) Comment enlever les restes de scanf ?

              (9) Pourquoi ne pas utiliser `char' pour stocker des entiers
              négatifs ? Que faut-il utiliser à la place ?

              (10) Comment récupérer des entiers avec ``scanf'' ? des flottants ?

              (11) Comment définir des chaînes de caractères ?

              (12) Comment comparer des chaînes de caractères ?

              (13) Comment obtenir un nombre au hasard ?

              (14) L'instruction `goto' existe-t-elle ? Quand l'utiliser ?

              (15) Comment lancer un autre programme ?

              (16) Comment définir un caractère ?

              (17) Comment affecter une valeur à une chaîne de caractères ?

              (18) Comment récupérer un caractère avec ``scanf'' ? une chaîne ?

              (19) Comment récupérer proprement une chaîne de caractères ?

              (20) Comment ne pas toujours avoir les mêmes nombres aléatoires avec
              ``rand'' ?

              (21) Comment obtenir un nombre aléatoire entre a et b ?


              (1) Quelle forme de la fonction ``main'' utiliser ?

              Il existe deux formes valides de partout :

              int main(void);
              int main(int argc, char *argv[]);



              Contentez-vous de celles-ci, les autres formes ont parfois la même
              signification que celle-ci mais tant que vous ne comprenez pas
              précisément ce que vous écrivez, ne modifiez pas ces déclarations.

              La forme "void main(void)" n'est pas valide.

              (2) Pourquoi ne pas utiliser system("pause") ?

              La fonction ``system'' lance un autre programme à travers une ligne de
              commande. ``PAUSE'' étant un programme spécifique à MS Windows, cette
              ligne se trouve invalide sur la plupart des systèmes.

              De plus, la plupart des systèmes disposant d'une vraie console n'ont
              pas besoin et n'apprécient pas les pauses en fin de programme ; la
              console étant un environnement persistant et qui ne se ferme pas comme
              sous Windows.


              (3) Quelle est la manière de faire une pause de façon portable (sur
              tous les systèmes) ?


              À la place de system("pause"), il est possible d'utiliser la fonction
              ``getchar'' qui s'appelle ainsi :

              getchar();



              Celle-ci attend l'appui de la touche Entrée. Il faut inclure
              ``stdio.h'' si ce n'est déjà fait.


              (4) Comment effacer la console ?


              En C purement standard et portable, on ne peut pas. Il faut utiliser
              des commandes ou des fonctions dans des bibliothèques tierces. Évitez
              ce genre d'idées pour l'heure, il n'est généralement pas besoin de ça
              et l'utilisateur n'apprécie pas que l'on lui vide sa console dans la
              majorité des cas.


              (5) Comment afficher du texte à un endroit précis ? Comment effacer
              certaines parties de la console ?


              De même que la 4.


              (6) Pourquoi ``scanf'' est mal ?


              Lorsque ``scanf'' lit correctement les entrées, tout se passe à peu
              près sans peine. Lorsque l'utilisateur n'entre pas la valeur voulue,
              ``scanf'' se contente d'arrêter de lire et de tout laisser en plant de
              sorte que si vous réessayez d'utiliser ``scanf'' à la suite, il
              tentera de relire ce qu'il n'a pas su lire et laissera à nouveau tout
              en désordre. Il faut nettoyer ce que la fonction laisse derrière elle.


              (7) Pourquoi ``fflush'' ne doit pas être utilisé sur ``stdin'' ?


              Tout simplement parce que ce comportement n'est pas défini par le
              standard, ce qui signifie que tout peut arriver. C'est donc une très
              mauvaise idée car le résultat est imprévisible.

              (8) Comment enlever les restes de scanf ?

              Il faut utiliser une fonction de lecture telle que ``getchar'' en
              boucle jusqu'à lire le caractère de retour à la ligne `\n'. Si vous
              avez besoin de nettoyer c'est que vous connaissez déjà le principe des
              boucles pour demander une valeur continuellement à l'utilisateur.

              void
              cleanscan(void)
              {
                      int c;
                      do
                              c = getchar();
                      while (c != '\n' && c != EOF);
              }




              (9) Pourquoi ne pas utiliser `char' pour stocker des entiers
              négatifs ? Que faut-il utiliser à la place ?


              `char' est un type qui peut ou pas contenir des entiers négatifs selon
              votre compilateur et votre système. Il vaut mieux utiliser à la place
              le type `signed char' qui est assuré de pouvoir contenir des entiers
              négatifs et positifs.


              (10) Comment récupérer des entiers avec ``scanf'' ? des flottants ?

              Il existe un format (une chaîne à donner à ``scanf'') par type de
              variable que vous souhaitez récupérer. N'utiliser QUE "%ld" et "%lf"
              n'apportera que des bogues à vos programmes.

              Les entiers :

              • %hhd signed char
              • %hhu unsigned char
              • %d int
              • %u unsigned int
              • %ld long int
              • %lu unsigned long int



              Les flottants :

              • %f float
              • %lf double



              (11) Comment définir des chaînes de caractères ?

              Une chaîne de caractères est un tableau de caractères. Vous n'avez pas
              encore vu les tableaux ; leur manipulation risque d'être délicate.

              /* 20 caractères max dont 1 pour le caractère terminal */
              char s[20];



              (12) Comment comparer des chaînes de caractères ?

              De même, on ne peut comparer directement avec l'opérateur `=='. Il
              faut utiliser ``strcmp'' qui renvoie 0 si les chaînes sont égales.


              if (strcmp(s1, "hello") == 0)
                      printf("world\n");




              (13) Comment obtenir un nombre au hasard ?

              Il faut utiliser la fonction ``rand'' qui renvoie un nombre entre 0 et
              ``RAND_MAX''. Il faut initialiser le générateur de nombre aléatoire
              avec une valeur arbitraire, le plus simple étant de prendre la date
              courante.

              #include <time.h>

              /* ... */

              int d;

              srand((unsigned int) time(NULL));
              d = rand();



              (14) L'instruction `goto' existe-t-elle ? Quand l'utiliser ?

              `goto' existe et n'est pas conseillé pour l'utilisation générale. La
              règle est en principe que si l'on peut faire sans `goto' et sans
              rendre le code complètement obscure, tordu, ou trop volumineux, on
              fait sans.


              (15) Comment lancer un autre programme ?

              On doit utiliser ``system'' en lui donnant une commande comme on
              l'aurait entrée dans une console.

              (16) Comment définir un caractère ?

              Un caractère se déclare/définit avec le type `char'.

              (17) Comment affecter une valeur à une chaîne de caractères ?

              À proprement parler, cela n'est pas possible ; pour faire quelque
              chose de similaire, il faut copier le contenu d'une chaîne dans une
              autre. C'est une copie de tableau. Il y a aussi moyen de manipuler
              directement les pointeurs mais vous n'avez sûrement pas idée de
              comment cela se fait et il ne vaut mieux pas essayer de faire
              n'importe comment.

              strcpy(dest, src);



              (18) Comment récupérer un caractère avec ``scanf'' ? une chaîne ?

              Ce sont les formats "%c" et "%s", respectivement. De part sa nature de
              tableau, il n'y a pas besoin de placer un `&' devant le nom de la
              variable. (Vous comprendrez quand vous ferez les relations pointeur à
              tableau et tableau à pointeur)

              À noter que cette méthode n'est pas propre du tout pour les chaînes
              car si l'utilisateur entre un mot plus long que la taille de votre
              chaîne... c'est la fin.


              (19) Comment récupérer proprement une chaîne de caractères ?

              Il existe deux méthodes selon ce que vous souhaitez récupérer. Si vous
              souhaitez lire un mot, il faut utiliser ``scanf'' comme précédemment
              en ajoutant devant le `s' de "%s" un nombre indiquant la taille de la
              chaîne moins 1 (pour le caractère terminal).

              /

              * 20 - 1 = 19 */
              scanf("%19s", s);



              Si vous souhaitez lire une ligne, vous pouvez directement utiliser
              ``fgets'' de la manière suivante :

              /* avec la déclaration plus haut : 20 est la taille totale de la
                 variable, inclus le caractère terminal */

              fgets(s, 20, stdin);



              (20) Comment ne pas toujours avoir les mêmes nombres aléatoires avec
              ``rand'' ?

              Voir question 13.


              (21) Comment obtenir un nombre aléatoire entre a et b ?

              Il existe plusieurs méthodes. La plus simple est d'utiliser
              l'opérateur de reste `%'. (Réfléchissez un peu, vous devriez
              comprendre comment)

              La seconde est simplement de faire une boucle jusqu'à obtenir un
              nombre dans l'intervalle mais peut donner des comportements longs.





              Voilà :D .

              EDIT : J'aurais bien mis des ancres, mais j'ai pas trouvé comment on créer :) .
              • Partager sur Facebook
              • Partager sur Twitter
                13 décembre 2005 à 19:48:59

                Tu fais un post par question, et un lien vers chaque post, avec l'ancre qui va bien.
                • Partager sur Facebook
                • Partager sur Twitter
                  13 décembre 2005 à 20:10:23

                  [EDIT] Suite à un MP de rz0, je fais la FAQ en plusieurs posts ;)

                  Je vais essayer ici de répondre aux questions les plus fréquemment
                  posées que j'ai pu voir sur ces forums. Les questions sont numérotées
                  sous la forme (index). Il vous suffit de faire une recherche du numéro
                  dans la page.

                  (1) Quelle forme de la fonction ``main'' utiliser ?

                  (2) Pourquoi ne pas utiliser system("pause") ?

                  (3) Quelle est la manière de faire une pause de façon portable (sur
                  tous les systèmes) ?

                  (4) Comment effacer la console ?

                  (5) Comment afficher du texte à un endroit précis ? Comment effacer
                  certaines parties de la console ?

                  (6) Pourquoi ``scanf'' est mal ?

                  (7) Pourquoi ``fflush'' ne doit pas être utilisé sur ``stdin'' ?

                  (8) Comment enlever les restes de scanf ?

                  (9) Pourquoi ne pas utiliser `char' pour stocker des entiers
                  négatifs ? Que faut-il utiliser à la place ?

                  (10) Comment récupérer des entiers avec ``scanf'' ? des flottants ?

                  (11) Comment définir des chaînes de caractères ?

                  (12) Comment comparer des chaînes de caractères ?

                  (13) Comment obtenir un nombre au hasard ?

                  (14) L'instruction `goto' existe-t-elle ? Quand l'utiliser ?

                  (15) Comment lancer un autre programme ?

                  (16) Comment définir un caractère ?

                  (17) Comment affecter une valeur à une chaîne de caractères ?

                  (18) Comment récupérer un caractère avec ``scanf'' ? une chaîne ?

                  (19) Comment récupérer proprement une chaîne de caractères ?

                  (20) Comment ne pas toujours avoir les mêmes nombres aléatoires avec
                  ``rand'' ?

                  (21) Comment obtenir un nombre aléatoire entre a et b ?

                  PS : Je mettrais les liens après.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 décembre 2005 à 15:21:30

                    (1) Quelle forme de la fonction ``main'' utiliser ?

                    Il existe deux formes valides de partout :

                    int main(void);
                    int main(int argc, char *argv[]);


                    Contentez-vous de celles-ci, les autres formes ont parfois la même
                    signification que celle-ci mais tant que vous ne comprenez pas
                    précisément ce que vous écrivez, ne modifiez pas ces déclarations.

                    La forme "void main(void)" n'est pas valide.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 décembre 2005 à 17:57:32

                      Tu devrais plutôt faire un nouveau topic pour ça. On va pas aller chercher en bas à chaque fois ^^
                      • Partager sur Facebook
                      • Partager sur Twitter

                      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                        14 décembre 2005 à 18:57:04

                        Il a pas besoin de faire un nouveau sujet. Il fait tous les posts un à un dans ce sujet, et rz0 aura plus qu'a changer son 1er sujet par une liste de liens.

                        Tant qu'a faire, si tu fais ces posts, pense à mettre un lien vers le 1er post du sujet en bas de chaque post, pour qu'on puisse naviguer facilement...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 décembre 2005 à 7:27:26

                          Le problème c'est qu'avec le script anti-flood, ça va en mettre du temps à poster les 20 questions :-°.

                          A+
                          • Partager sur Facebook
                          • Partager sur Twitter
                            16 décembre 2005 à 17:20:46

                            Moi aussi et avec la forme pepe !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              18 décembre 2005 à 14:42:23

                              Olala c vrai que la j'ai la fleme de lire et pourtant sa m'intérésse vu que je suis débutant fais un tuto ça serait bien !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 décembre 2005 à 14:24:37

                                C'est pas très long à lire ^^

                                Moi j'ai lu tout ça :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 décembre 2005 à 14:48:15

                                  Ce n'est pas que c'est long mais c'est mal organisé je trouve.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    19 décembre 2005 à 15:50:00

                                    C'est pas fait pour être lu d'un seul bloc mais on peut au moins lire les questions en haut ; c'est 20 lignes et après suffit de regarder celle qui nous intéresse. De toute façon, si ça vous plait tant d'être encore, soyez-le ; j'ai écrit la FAQ pour ceux qui se donnerait la peine d'essayer de sortir de l'abrutissement, c'est tout.

                                    Je me suis donné la peine de rassembler les questions que je vois sur le forum mais si vous voulez quelque chose de vrai, de bon, d'organisé, allez donc lire de _vraies_ FAQs :
                                    http://www.eskimo.com/~scs/C-faq/top.html
                                    http://c.developpez.com/faq/c/

                                    Maintenant celui qui pose une question qui a sa réponse là dedans jle mache ; vous n'allez pas me dire que ce n'est pas bien ordonné hein...

                                    Secret (cliquez pour afficher)
                                    Evidemment que je n'ai pas le droit mais si franchement vous croyez que tout le monde sera toujours aussi sympa de vous apporter tout prêt des réponses à vos questions stupides que vous ne daignez même pas regarder, vous n'avez certainement rien compris au monde de la programmation...

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      19 décembre 2005 à 20:26:29

                                      vous pouvez nous dire comment faire un chiffre aleatoire entre a et b au lieu de nous balancer un phrase enigmatique , cest bidon :p
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        19 décembre 2005 à 20:36:34

                                        jveux pas dire rz0, mais http://c.developpez.com/faq/c/ (lien que tu as donné toi hein) respecte _exactement_ la structure que m@teo&mack proposent :D
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          20 décembre 2005 à 14:41:58

                                          Bonjour je viens de commencer le C: C++ jai une petite question je croit que je vais passer pour un stupide mais bon...


                                          <question></question>

                                          double absolu = 0, nombre=-27;

                                          absolu = fabs(nombre);


                                          alors voila c'est le truc là j'ai bien mis le "#include <math.h> " et tout ce qui faut (la jai mis que le petit bout biensur)

                                          - Nomarlement mon programme devrait me dire "27" mais la il dit rien il affiche pas cette partie

                                          alors voila Merci d'avance
                                          ++
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            30 décembre 2005 à 11:52:20

                                            Bonjour,

                                            J'adore ce site, mais je trouve la FAQ pas très claire :( .
                                            Sans vouloir faire de la pub :p , cette faq pour le c++ et cette faq pour le C sont plus complète ;) , mais j'espère que vos ameliorations futur permettront de faire une meilleure faq que celle que je vous propose. ;)

                                            Amicalement
                                            Uims
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              30 décembre 2005 à 15:29:38

                                              Comment fait on les variables variables en C??

                                              C'est une question pour mettre des points a chaque joueurs au mode plusieurs joueur dans le jeu plus ou moins :)
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                30 décembre 2005 à 16:17:29

                                                J'ai quelques questions, moin courantes, mais utile ^^
                                                Comment rediriger la sortie de printf? Comment capter les resultats de programmer executer?
                                                Comment stoper l'execution du programme, a tout moment?
                                                (Reponse : exit(1); // Quite et renvoi 1, ce qui signifie une ereur. Si on est dans main, on peut aussi utiliser return 1;)

                                                C'est tout pour le moment ^^
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  31 décembre 2005 à 1:10:05

                                                  Q: Comment rediriger la sortie de printf?
                                                  A: utilise les autres fonctions *printf pour ca. sprintf renvoie une chaine au lieu d'afficher, et je pense que fprintf(buf, "%d", truc) écris dans le buffer buf.

                                                  Q : Comment capter les resultats de programmer executer?
                                                  Q : ca veut dire quoi ?

                                                  Q : Comment stoper l'execution du programme, a tout moment?
                                                  Effectivement exit() est une solution, et tu peux mettre tout sauf 0 (pas forcément 1), sachant que certains ont probablement une signification précise.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    31 décembre 2005 à 13:33:34

                                                    Citation : bluestorm

                                                    Q: Comment rediriger la sortie de printf?
                                                    A: utilise les autres fonctions *printf pour ca. sprintf renvoie une chaine au lieu d'afficher, et je pense que fprintf(buf, "%d", truc) écris dans le buffer buf.


                                                    fprintf écrit dans le pointeur de fichier donné en premier paramaètre. Exemple

                                                    FILE* fichier = fopen("file.txt","w");
                                                    fprintf(fichier,"Salut");
                                                    fclose (fichier);

                                                    Voilà c'est peut-etre ce que tu as voulu dire, mais "buffer" est ambigu :)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      31 décembre 2005 à 20:25:15

                                                      Citation : pacool

                                                      Comment fait on les variables variables en C??


                                                      C'est une question pour mettre des points a chaque joueurs au mode plusieurs joueur dans le jeu plus ou moins :)



                                                      Mais est-ce que l'on m'écoute :p Rooh on pense jamais a moi :-°
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Anonyme
                                                        1 janvier 2006 à 0:25:10

                                                        Citation : pacool

                                                        Citation : pacool

                                                        Comment fait on les variables variables en C??


                                                        C'est une question pour mettre des points a chaque joueurs au mode plusieurs joueur dans le jeu plus ou moins :)



                                                        Mais est-ce que l'on m'écoute :p Rooh on pense jamais a moi :-°


                                                        Mais une variable, est obligatoirement variable!!!
                                                        int mavar;
                                                        //mavar peut valoir n'importe quel nombre!!!
                                                        scanf("%d",mavar);//Qui sais si elle vaut -50, 745, ou autre chose?!
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          1 janvier 2006 à 0:30:54

                                                          Citation : pacool

                                                          Citation : pacool

                                                          Comment fait on les variables variables en C??


                                                          C'est une question pour mettre des points a chaque joueurs au mode plusieurs joueur dans le jeu plus ou moins :)



                                                          Mais est-ce que l'on m'écoute :p Rooh on pense jamais a moi :-°



                                                          Utilise des tableaux ou des structs :-°
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          FAQ C --- les réponses à _vos_ questions fréquentes

                                                          × 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