Se connecter

Informatique

Programmation

Sujet : Question sur les fonctions
1
CoogleGhrome
Niveau 7
28 juillet 2014 à 16:59:09

Bonjour comme certains le savent , j'apprend en ce moment le c++ ( livre sdz en pdf pour commencer ) et je suis sur la partie des fonctions sauf qu'il y a des trucs que je ne comprend pas trop

int main est une fonction on est d'accord ? alors pourquoi les autres fonctions ne fonctionnent elles pas comme les elle ?

je veux dire quand j'essaye de faire

int test ()
{
cout << "salut";
}

CoogleGhrome
Niveau 7
28 juillet 2014 à 17:00:06

fail pardon

.. ça n'affiche rien ? je veux dire je suis le même exemple que la fonction main pourtant :( si quelqu'un peux m'expliquer ( me réxpliquer du moins :hap: )

ce serait vraiment gentil merci d'avance ! :)

Bunyan
Niveau 14
28 juillet 2014 à 17:12:33

main n'est pas une fonction comme les autres.
Par convention, la fonction nommée "main" avec un prototype particulier est le point d'entrée du programme.

Caletlog
Niveau 10
28 juillet 2014 à 17:12:59

Salut,

Main est une fonction comme les autres, effectivement, mais c'est la "fonction d'entrée", celle qui démarre le programme généré par le compilateur. C'est une convention, faut pas chercher plus loin ; la plupart des langages compilés suivent ce principe.
Si tu fais un programme sans main, c'est que tu as définis des structures et fonctions que tu ne peux pas utiliser (puisque le programme ne va jamais trouver le point d'entrée 'main'). Rien ne se passe.
La seule différence avec les autres fonctions, c'est que certains compilateurs n'acceptent pas certains types de retour avec 'main'. Un 'void main() { ... }', en plus d'être généralement une mauvaise idée, pourra être rejeté par certains compilateurs.

Petit détail d'ailleurs sur les types de retours, utilisés incorrectement dans ton exemple : ta fonction 'test' ne renvoie strictement rien (elle n'a que des effets de bords : elle affiche quelque chose à l'écran, mais ne _renvoie_ rien), alors que tu signales qu'elle renvoie un entier (int). C'est une erreur. Si elle ne renvoie rien, on la préfixe de 'void', par exemple, sinon du véritable type qu'elle renvoie.

Caletlog
Niveau 10
28 juillet 2014 à 17:14:09

"main n'est pas une fonction comme les autres. "
"Main est une fonction comme les autres"

:d) :o))

CoogleGhrome
Niveau 7
28 juillet 2014 à 17:20:41

Ah je me disais bien mais si je veux genre qu'une fonction affiche juste un message je dois m'y prendre comment ?

Désolé si mes questions paraissent débile mais bon comme je vous l'ai dit je débute. :hap:

En tout cas merci beaucoup pour votre aide ! :)

Caletlog
Niveau 10
28 juillet 2014 à 17:32:49

Suivant l'état de ton programme, ça peut être simplement le main qui affiche ton message, entre autres choses, ou une fonction à part, par exemple 'afficherMessage(str)', que tu appelles à l'intérieur du main.

Si ta fonction n'a que des effets de bord, une valeur de retour de 'void' est envisageable. Simplement, suivant les cas, il peut être utile de profiter de cette 'absence' de valeur de retour pour renvoyer une valeur intéressante, qui permettra à la fonction d'être utilisée dans des rvalues ou des structures de contrôle : un booléen indiquant la réussite de l'opération, un entier représentant le nombre d'éléments affectés, ou l'objet lui-même pour les opérations chaînées, par exemple.

CoogleGhrome
Niveau 7
28 juillet 2014 à 17:47:21

Ah oui je vois ! En gros les fonctions pour le moment je n'en ai pas trop l'utilité vu que je fais que des programmes de test petit mais j'ai compris ! Merci enormement pour l'aide je vais relire plusieurs fois la partie et les réponses pour être sur de bien les maitriser !

CoogleGhrome
Niveau 7
28 juillet 2014 à 18:07:26

Ah mais je viens de comprendre encore plus ! je suis idiot !

enfaite moi j'essayer de remplacer le rôle de la fonction main d'afficher bonjour à l'écran comme ça sauf que je dois appeler la fonction dans la fonction main ! merci énormément pour votre aide j'avais à moitié compris mais là j'ai eu comme un dé clique. :hap;

rangerprice
Niveau 10
28 juillet 2014 à 19:22:47

c'est ton premier language de programmation l'auteur ? :hap:

Perso j'ai appris le PHP sur le sdz et maintenant je trouve vraiment facile d'apprendre d'autre language de programmation, vu que je connais les conceptes de base, il me reste plus qua apprendre la syntaxe du c++ :hap:

En tout cas l'auteur j'ai une question, tes hapiste ? :hap:

CoogleGhrome
Niveau 7
29 juillet 2014 à 11:45:39

Oui c'est mon premier on peux dire que je commence fort mais bon. :noel:

Non , j'utilise tout les smileys quand j'en ai envie. :hap:

Ace_Attorney
Niveau 10
29 juillet 2014 à 20:45:05

rangerprice Voir le profil de rangerprice
Posté le 28 juillet 2014 à 19:22:47 Avertir un administrateur
Perso j'ai appris le PHP sur le sdz et maintenant je trouve vraiment facile d'apprendre d'autre language de programmation, vu que je connais les conceptes de base, il me reste plus qua apprendre la syntaxe du c++ :hap:

Le C++ n'est pas aussi simple.

CoogleGhrome
Niveau 7
29 juillet 2014 à 20:49:26

Ça c'est vrais mais bon moi c'est mon premier normal que je galére aussi. :hap:

En tout cas j'apprécie quand même beaucoup. :ok:

1
Sujet : Question sur les fonctions
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page