Langage C

Résolu
Bonjour à tous ,

je suis debutante en programmation et je veux conaitre c'est quoi une fonction et c'est quoi un procedure et quel est la difference entre
 void(){ 

et
int void(){ 

?
et comment ecrire une fonction?
Merci d'avance!!!!!

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Je vais essayer de répondre à votre question de manière compréhensible et simple.

    Tout d'abord : une autre question : Savez-vous ce qu'est une fonction en mathématiques ?!
    1. Aussi, je rappellerais que
      int void()
      n'existe pas.
      On a :
      int NomDeLaFonction(paramètres)
      ou :
      void NomDeLaProcédure(paramètres)


      Une fonction va retourner une valeur (un "int" : un entier), au contraire d'une procédure.

      Pour mieux expliquer, je vais essayer de donner un exemple :

      Fonction qui ajoute 3 au nombre entré en paramètre (la variable donc)
      1 : int PlusTrois ( int x) { 
      2 :     x=x+3; 
      3 :     return x; 
      4 : } 
      


      Ligne par ligne :
      1 : On donne le type de fonction (int si la valeur finale est un entier, float si c'est un réel, un nombre décimal, etc.) et le type de variable (ici on choisi un entier).
      2 : On dit que x va prendre la valeur x+3 (on ajoute donc 3 à x)
      3 : On retourne la valeur finale de x
      4 : On finit le programme comme on l'a commencé : avec une accolade.

      Ainsi, si dans mon code je fais PlusTrois(3), le programme va comprendre 6... Et me dire que 3 + 3 = 6 (oui, bon, ça on sait le faire hein! Mais ce n'est qu'un exemple !)

      En revanche, une procédure ne retourne rien. On peut l'utiliser pour exécuter des tâches puis écrire à l'écran le résultat avec la fonction printf par exemple. Ce qui donnerait :

      1 : void PlusTrois ( int x) { 
      2 :     printf("La valeur de x est : %d", x); 
      3 :     x=x+3; 
      4 :     printf("La valeur de x est maintenant : %d", x); 
      5 : } 
      


      Mais vu que vous demandez ce qu'est une fonction/procédure, je suppose que les printf et %d, vous ne savez pas encore ce que c'est...

      Sachez juste que si vous faites PlusTrois(3), cette fois ça ECRIRA à l'écran :
      "La valeur de x est : 3
      La valeur de x est maintenant : 6"

      Voilà !!

      Bonne soirée
    2. ouiiiiiii
      1. Très bien, alors une fonction en C, est exactement la même chose.
        Exemple : je vous ai donné plus bas une fonction int PlusTrois (int x).
        Elle correspondrait, en mathématiques, à f : x->x+3 aussi notée f(x)=x+3 tout simplement ! =)
      2. ahhh ouii cé plus simple merci musicetci
        mais quel le role de getch();
      3. Bonsoir !

        La fonction getch() sert à capturer le clavier.
        Cependant, ceci se fait avant même que la touche entrée ne soit pressée par l'utilisateur, c'est
        pourquoi le programme n'attendra pas la fin du nombre/expression si tu utilises getch().

        Attention à ne pas confondre avec getchar() qui elle attend le caractère de fin de ligne (c'est-à-dire attend que l'on appuie sur entrée ou si tu tapes "\0" appelé EOL) avant de capturer la saisie au clavier.

        Donc getch() capture un caractère à la fois ...
        et getchar() capture une série de touches incluant le caractère de fin de ligne EOL ou Entrée.
      4. Contributeur
        Bonjour,

        @musicetcie,
        Non getchar() capture un seul caractère à la fois. A ne pas confondre avec fgets...
      5. pardon, j'ai oublié une partie en effet!
        C'est que getchar() enregistre un charactère mais laisse l'utilisateur en taper plusieurs. Disons que ça peut éviter les erreurs dans des codes, par exemple !
        Au temps pour moi!!