Onwebcreations.Net  
Onwebcreations.Net
 
Programmation
Services Gratuits
Codes Sources
Divertissements
   

  Programmation C Haut de page



Fonctions :
Un programme C comprend habituellement plusieurs fonctions personnelles, dont au moins une, nommée
main. main est la fonction principale de tout programme C. C'est par elle que débute toujours l'exécution du programme. Un programme C peut être considéré comme une collection de fonctions ; les fonctions, main comprise, peuvent être disposées dans un ordre quelconque. Nous avons jusqu'ici utilisé des fonctions standards, livrées avec le compilateur, dont le code n'est pas écrit par le programmeur, mais inséré dans le programme par l'éditeur de liens. A la différence d'une procédure, une fonction retourne une valeur.

Déclaration d'une fonction
Pour utiliser une variable, il faut préalablement déclarer son nom et son type. Il en va de même pour les fonctions, avec cependant quelques informations supplémentaires. Une déclaration de fonction fournie les informations suivantes :

  • La classe de mémorisation de la fonction
  • Le type de la valeur renvoyée par la fonction
  • Le nom de la fonction
  • Les paramètres (arguments) qui sont passés à la fonction pour y être traités
  • Les locales et externes utilisées par la fonction
  • D'autres fonctions invoquées par la fonction
  • Enfin, les instructions à exécuter

Pour déclarer une fonction, on dispose de deux syntaxes. La plus récente correspond au standard ANSI. la plus ancienne se rencontre encore quelquefois. Voici uniquement la dernière syntaxe.

<classe de mémoire> <type> <nom>(<parametres>)
{
<définitions de variables locales>
<définitions de variables externes>
<fonctions supplémentaires invoquées par la fonction>

<instructions : corps de la fonction>
}

Note : Seul ce qui apparaît en gras et souligné est obligatoire pour une déclaration de fonction. C'est à dire que seul le nom est obligatoire.

  • Classe de mémoire : Il s'agit de la portée de la fonction. Cette indication peut être omise. Si la classe de mémorisation est static, la fonction ne pourra être utilisée dans d'autres modules que celui où elle est définie. Par défaut,  la classe est extern, c'est à dire qu'il s'agit d'une entité globale, et qu'elle ne doit pas être définie à l'intérieur d'une autre fonction : la déclaration d'une fonction extern doit obligatoirement se faire en dehors de la fonction main.
  • type : Il s'agit du type de donnée renvoyée par la fonction
  • nom : Nom de la fonction lors de son appel.
  • parametres : Lors de l'appel d'une fonction, il est possible de transmettre une ou plusieurs valeurs, appelé paramètres.
  • Les variables utilisées en plus des paramètres de la fonction doivent bien sur être déclarées. La déclaration des variables doit se faire au début du corps de la fonction.
  • Corps de la fonction : Il s'agit des instructions à réaliser lors de l'appel de la fonction

Appel d'une fonction
L'appel d'une fonction se fait de la manière suivante :

NomFonction(<parametres>);

Note : les paramètres sont optionnels.

Exemple : la fonction cubique :

Voici un exemple de fonction calculant le cube d'un nombre :

#include <stdio.h>
#include <system.h> // pour getche();

double cube(double VAR)
{
return (VAR*VAR*VAR);
}

main()
{

double x;
printf("Entrez un reel :\t");
scanf("%lf",&x);
printf("\n\nLe cube de %f est : %f",x,cube(x));

getche();
}


Voici le résultat à l'écran :

 

Nous allons maintenant réaliser une fonction convertissant une chaîne de caractères en majuscules ou en minuscules selon le choix de l'utilisateur. Voici le programme :

#include <stdio.h>
#include <system.h> // pour getche();

traitement (char Chaine[255], int Choix)
{
int i;
i = 0;

    while(Chaine[i])
    {
    
      if((Choix==49) && (Chaine[i]>=97) && (Chaine[i]<=122))
      {
      Chaine[i] = Chaine[i] - 32;
      }
      else if((Choix==50) && (Chaine[i]>=65) && (Chaine[i]<=90))
      {
      Chaine[i] = Chaine[i] + 32;
      }
    
    
    i++;
    }
  
return (Chaine);
}

main()
{

char Nom[255];
int Menu;

printf("Entrez Votre Nom :\t");
scanf("%s",Nom);

printf("\nAppuyez sur 1 pour convertir en Majuscules");
printf("\nAppuyez sur 2 pour convertir en Minuscules");
printf("\nAppuyez sur n'importe quelle touche pour ne rien faire\n\nVotre Choix : \t");

Menu = getche();

printf("\nVoici votre Nom apres conversion : %s",traitement(Nom,Menu));

getche();
}



Voici un exemple de fonctionnement de ce programme. Nous avons entré JEAN-Marc et demandé de traduire cette chaîne en minuscules. Comme vous pouvez le constater, le programme ne traduit uniquement les majuscules en minuscules, et laisse inchangé les autres caractères, comme le tiret (-) et les minuscules.



[ << Page précédente | Page suivante >> ]


 
    Haut de page
© Onwebcreations.Net : Programmation & Services Internet
Accessible aussi par : Services-Gratuits-Webmasters.com
Contacter le suppport technique
Internaute(s) actuellement sur le site.