Langage C

Résolu
fadouaa Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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!!!!!
A voir également:

4 réponses

musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
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
musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
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
1
musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
Un TRES bon site pour apprendre tout ça est : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

BONNE CHANCE ;-)
0
fadouaa Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
int void() {
ici peut etre int ou float ..........
0
fadouaa Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
ouiiiiiii
0
musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
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 ! =)
0
fadouaa Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
ahhh ouii cé plus simple merci musicetci
mais quel le role de getch();
0
musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
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.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

@musicetcie,
Non getchar() capture un seul caractère à la fois. A ne pas confondre avec fgets...
0
musicetcie Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   97
 
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!!
0