C++ Les fonctions

Résolu
Bilow -  
 Bilow -
Bonjour,

Je suis intermédiaire en C++, mais je me sent con ! Je ne maitrîse toujours pas la matière des fonctions !

Une âme sensible voudrait-elle bien m'expliquer comment on fait ?

Ps : pas besoin de return, juste une fonction qu'on appelle (par exemple) :

DireBonjour("thomas");

et que la console affiche :

Bonjour thomas !

Merci d'avance :)

8 réponses

Gl@dior Messages postés 341 Statut Membre 78
 
#include <iostream>
using namespace std;

void afficher(void); // prototype de la fonction

int main()
{

     afficher(); // appel de la fonction

}

void afficher(void) // définition de la fonction
{
     cout << "Bonjour" << endl;
}

voilou :)
0
Bilow
 
Merci gladior,

mais comment faire une fonction comme j'ai décrite ?

Merci d'avance :)
0
naruto-94 Messages postés 904 Statut Membre 188
 
.
0
Gl@dior Messages postés 341 Statut Membre 78
 
et bien c'est ce que je t'ai fait ... Enfin il manque juste "thomas" après le bonjour dans le cout et c'est bon.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
voici la fonction que tu désires :


(note : il faut un #include <string>)
son prototype est :
i
void DireBonjour(string);

tu la définis comme ceci :

void DireBonjour(string chaine) {
//code ...
}

et à la place de "chaine" tu peux mettre le nom de variable que tu souhaites. Le mieux serait quelquechose de parlant comme "nom".

ensuite c'est la même chose que le afficher() que Gl@dior propose, sauf que après le texte tu envoies la variable chaine.

Pour l'appeler dans le main tu peux faire par exemple DireBonjour("Thomas");
0
Bilow
 
Bonjour,

Merci beaucoup pour vos réponses.

Avec ce code cela fonctionne parfaitement :


//------------------------------------------------
#include <cstdlib>
#include <iostream>
//#include <string.h>

using namespace std;

void DireBonjour(string);

int main(int argc, char *argv[])
{
cout << "Entrez votre nom :" << endl;
string nom; //Déclaration de 'nom'
getline(cin, nom); //Demande de 'nom'
DireBonjour(nom); //Dit bonjour à l'utilisateur
system("pause"); //Attend l'appui d'une touche (je sais il vaut mieux 'getch();' dans
//conio.h... )
return 0;
}

void DireBonjour(string nom) {
cout << endl << "Bonjour, " << nom << "." << endl;
}
//-------------------------------------------

Je n'ai pas inséré string.h, cela fonctionne tout de même (pourquoi ?).

Mais comment faire cette même fonction avec un char (char nom [50];) ?
Merci d'avance :)
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
Je n'ai pas inséré string.h, cela fonctionne tout de même (pourquoi ?).

Pardon, j'ai fait une faute.

Je voulais dire chez moi : String au lieu de string !!!

std::String est déclaré dans <String>, c'est une classe du standard C++ .

string est juste un autre nom pour char * . C'est en C.

donc la fonction écrite fonctionne déjà pour les char[] (car c'est pas grand chose d'autre qu'un char*, un peu différent quand même mais presque pareil). Si tu fais :

char bla[50] = "Blip";
DireBonjour(bla);

ça fonctionne parfaitement.
0
Bilow
 
Bonjour et merci Pacorabanix (encore une fois!),
Merci pour vos réponses...

Au revoir :)
0