Partage
  • Partager sur Facebook
  • Partager sur Twitter

===LES FONCTIONS===

Ah l'aide !!!

    18 juillet 2006 à 22:05:34

    Alors bonjour a tous ^^ alors voila, quand j'en suis au cours des fonctions... Et je n'est rien compris du tout !!! alors qu'en faite je suis arriver a personnaliser les exemples de M@teo21, je voulais savoir si vous voulier bien me fournir la correction de M@teo21 de cet exercice :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main ( int argc, char** argv )
    {
        long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 100, MIN = 1;

        // Génération du nombre aléatoire
        nombreMystere = genereNombre(MIN, MAX);

        /* La boucle du programme. Elle se répète tant que l'utilisateur
        n'a pas trouvé le nombre mystère */


        do
        {
            // On demande le nombre
            printf("Quel est le nombre ? ");
            scanf("%ld", &nombreEntre);

            // On compare le nombre entré avec le nombre mystère
            compareNombres(nombreEntre, nombreMystere);

        } while (nombreEntre != nombreMystere);


        system("PAUSE");
    }

    Et aussi si vous voulez bien m'expliquer un peu sur les fonctions en particulier les deux exemples ci-contre S'il Vous Plait, sans quoi je ne pourrai pas continuer le cours je n'aurais strictement rien compris au fonction ce qui est assez important vu que sans sa je ne pourrer créer de .h, .c et aussi une dernière faveur lol bah je n'est pas non plus compris la fonction void, apart qu'elle sert a dire que c'est vide lol mais bon...

    Bah je vous remercie d'avance pour votre coup de main qui me permettra d'avancer !!! ^^<erreur></erreur>
    • Partager sur Facebook
    • Partager sur Twitter
      18 juillet 2006 à 22:19:05

      Précise plus tes questions : qu'est ce que tu ne comprends pas ?
      Conçernant "void", il s'agit d'un mot clé utilisé principalement dans les paramètres et dans le retour présent dans le proto d'une fonction : void comme type de fonction (et donc de retour) est utilisé pour "dire" que la fonction ne retourne rien. En paramètre, il permet de "dire" que la fonction ne prend aucun paramètres. N.B. : On peut toujours utiliser '()' ... en fait c'est une question de norme.
      • Partager sur Facebook
      • Partager sur Twitter
        18 juillet 2006 à 22:40:13

        Salut bon je t'explique. On sait que 3 x 10 = 30 :) .
        Dans ta fonction main tu as une variable qui vaut 3 et tu veux la tripler.
        Donc tu vas créér une fonction pour faire la multiplication.
        Mais pour faire cette fonction tu lui envoi ta variable 3 comme paramètre et tu lui donne un nom que tu vas incorporer dans le main (par ex: multiplierNombre).
        Ensuite dans ta fonction tu vas faire la multiplication et renvoyer la valeur obtenue (ici 30) dans le main. Dans la fonction main tu vas utiliser un printf pour afficher le résultat. Le type "void" permet d'afficher le printf directement dans la fonction multiplierNombre, donc elle ne renvoit pas de valeur dans main.
        Petit exemple avec du code :
        Sans void :

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

        long multiplierNombre(long nombre); // prototype de la fonction

        int main(int argc, char *argv[])
        {
          long nombre = 3; // Variable nombre 3 créée
          long resultat = 0;

          printf("On veut le multiple du nombre 3\n");
         
          resultat = multiplierNombre(nombre); // on va a la fonction en envoyant le nombre
         
          printf("Le resultat est %ld\n", resultat);
          system("PAUSE");     
          return 0;
        }

        long multiplierNombre(long nombre)
        {
          long resultat = 0;
         
          resultat = nombre * 10; // on fait le calcul
          return resultat; // on retourne un resultat
        }   // Hop, direction "main" 

        avec void :

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

        void multiplierNombre(long nombre); // prototype de la fonction

        int main(int argc, char *argv[])
        {
          long nombre = 3; // Variable nombre 3 créée
          long resultat = 0;

          printf("On veut le multiple du nombre 3\n");
         
          multiplierNombre(nombre); // on va a la fonction en envoyant le nombre
         
          system("PAUSE");     
          return 0;
        }

        void multiplierNombre(long nombre)
        {
          long resultat = 0;
         
          resultat = nombre * 10; // on fait le calcul
          printf("Le resultat est %ld\n", resultat); // on ne retourne aucune valeur
        }   // Terminé (on va quand meme dans main mais pour arreter le programme


        Voilà un petit résumé ;)
        • Partager sur Facebook
        • Partager sur Twitter
          18 juillet 2006 à 22:40:35

          Certaines normes de C permettent de passer n'importes quels paramètres à une fonction déclarée "void foo()", donc on met "void foo(void)" pour indiquer qu'il n'y a pas de paramètre. Par contre totalement inutile en C++...
          • Partager sur Facebook
          • Partager sur Twitter
            18 juillet 2006 à 22:46:11

            Une fonction te permet d'effectuer une tache précise, Tu peut par exemple choisir un nombre aléatoire comme dans le TP sur le plus ou moin, tu peut éxecuter un calcul comme convertir une somme, écrire du texte et l'afficher, etc ...

            Une fonction sert à éxecuter une opération ou une action sur une ou plusieurs variables ;)

            Le type void est assez déroutant quand on commence les fonctions mais tu verra l'utilitée de ce type de variable dans le chapitre sur les pointeurs, retient juste qu'une fonction void éxécute une action mais ne renvoit pas de valeur ^^

            Voila.
            • Partager sur Facebook
            • Partager sur Twitter
              18 juillet 2006 à 23:10:24

              Imagine toi dans une boulangerie:

              Pour faire un bon pain (miam) il faut faire plusieurs actions:

              Faire la pâte -> fonction "faire la pate" -> "mettre oeuf,farine..."

              La mettre au four -> fonction "mettre au four" -> "regler thermostat , mettre en marche, attendre".

              Et bah chacune des étapes c'est une fonction:

              void faire_la_pate()
              {
              mettre_oeufs();
              mettre_farines();
              ...
              }

              Et quand tu demande au boulanger de te faire ton pain, tu lui dit faire la pate, et la mettrz au four.

              Moi j'ai pigé avec cet exemple, apres chacun sa technique.
              • Partager sur Facebook
              • Partager sur Twitter
                18 juillet 2006 à 23:39:15

                Bon alors merci a tous d'avoir repondu aussi vite lol bah je vous explique, je repondrer demain car là je n'ai pas le temps de lire toute vos réponses mais j'ai hâte d'avoir le temps de les lire :D:D bah demain j reposte pour repondre a vos questions si nessaire et encore merci, car si j'ai bien compris vos reponse je devrai pouvoir continuer :D:D je me languie a + et encore merci ! Ah oui avant que j'oublie si vous aviez le temps, et l patiente, merci de m'ajouer a glueman9@hotmail.com
                PS : Je posterer toute vos réponses de MSN sur le forum pour quelqu'un qui aurait le même prblème que moi !
                Merci et a + !
                • Partager sur Facebook
                • Partager sur Twitter
                  19 juillet 2006 à 12:48:24

                  Bah alors voila, ce que je n'est pas compris c'est surtout les paramètre !
                  PS : Si quelqu'un pouvait me faire la correction de l'exercice de M@teo21 ! merci comme sa je pourrai m'en servir pour me faire les dents et comprendre grâce a sa !
                  Puis aussi ce que je n'ai pas compris c'est surtout ls paramètres, oui en effet bah la correctio,n me suffirait certement pour comprendre Bah je vous remercie de me la faire (
                  #include <stdio.h>
                  #include <stdlib.h>
                  #include <time.h>

                  int main ( int argc, char** argv )
                  {
                      long nombreMystere = 0, nombreEntre = 0;
                      const long MAX = 100, MIN = 1;

                      // Génération du nombre aléatoire
                      nombreMystere = genereNombre(MIN, MAX);

                      /* La boucle du programme. Elle se répète tant que l'utilisateur
                      n'a pas trouvé le nombre mystère */


                      do
                      {
                          // On demande le nombre
                          printf("Quel est le nombre ? ");
                          scanf("%ld", &nombreEntre);

                          // On compare le nombre entré avec le nombre mystère
                          compareNombres(nombreEntre, nombreMystere);

                      } while (nombreEntre != nombreMystere);


                      system("PAUSE");
                  }
                  )
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 juillet 2006 à 17:26:37

                    Bah merci a tous j'y suis arriver ! tout seul comme un grand lol (grace a votre aide biendur !) et aussi c'est normal que j'ai du mal a comprendre lezs pointeur lol vou aver mi du temps vous aussi pour les comprenre ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 juillet 2006 à 17:48:30

                      les pointeurs c'est chaud mais en une semaine j'ai compris sinon je bloque tout le temps sur les tableaux moi :(
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 juillet 2006 à 17:59:39

                        Citation : TheProgrammer

                        les pointeurs c'est chaud mais en une semaine j'ai compris sinon je bloque tout le temps sur les tableaux moi



                        Alors ça c'est pas normal parceque les tableaux c'est franchement pas sorcier. C'est un contenant pour un certain nombre de variables dont le nombre est prédéterminées. Pour accéder à chaque valeur contenue dans le tableau tu passes par un index.

                        C'est tout, même si on peut par la suite se pencher sur l'allocation dynamique pour modifier la taille du tableau.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 juillet 2006 à 1:18:43

                          Citation : loacast

                          Citation : TheProgrammer

                          les pointeurs c'est chaud mais en une semaine j'ai compris sinon je bloque tout le temps sur les tableaux moi



                          Alors ça c'est pas normal parceque les tableaux c'est franchement pas sorcier. C'est un contenant pour un certain nombre de variables dont le nombre est prédéterminées. Pour accéder à chaque valeur contenue dans le tableau tu passes par un index.

                          C'est tout, même si on peut par la suite se pencher sur l'allocation dynamique pour modifier la taille du tableau.



                          Chaque personne apprend à son rythme et de sa maniere :)

                          j'ai torché l'allocation dynamique en moin d'une heure alors que j'avais planché sur les pointeurs pendant deux bonnes semaines.

                          Le truc que je conseil c'est de ne pas ce précipiter et de tester et tester encore et toujours tout les nouveaux trucs que l'on apprend et bidouiller pour bien comprendre enssuite passer aux chapitre suivant et retester etc :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 juillet 2006 à 21:58:24

                            Mdr lol je croyer que j'était le seul à ne pas avoir compris du premier coup ! donc je vais me reconcentrer d'avantage ! et encore merci pour vos conseil ! :lol:^^;)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            ===LES FONCTIONS===

                            × 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