Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/02/2020, à 09:29

chris7522

Initialisation de variable d'une structure (C++)

Bonjour a toutes et a tous ,
Est il possible d'initialisé la variable p1 de ma structure Personne , en utilisant la valeur de retour de ma fonction " remplissage " ? Je crois que je m'y suis mal pris ...
Merci de votre aide .

#include <iostream>
#include <string>
using namespace std;

struct Personne{
 string name ;
 int age;
 double taille;
 char sexe;
};

int main(){
 Personne p1(remplissage());
 
 
 return 0;
}

Personne remplissage(){
 Personne p;
 cout << "Nouvelle personne" << endl;
 cout << "Entrez un nom :" << endl;
 cin >> p.name;
 cin.ignore();
 cout <<"Entrez votre age :" << endl;
 cin >> p.age;
 cin.ignore();
 cout << "Entrez votre taille :" << endl;
 cin >> p.taille;
 cin.ignore();
 do {
  cout << "Entrez votre sexe :[M] ou [F]" << endl;
  cin >> p.sexe;
  cin.ignore();
 }while((p.sexe != 'M') && (p.sexe != 'F'));
return p;
}

Dernière modification par chris7522 (Le 11/02/2020, à 09:30)

Hors ligne

#2 Le 11/02/2020, à 11:03

lann

Re : Initialisation de variable d'une structure (C++)

Dans le main

int main(){
 Personne p1;
p1=remplissage();
 
 
 return 0;
}

Ton exemple était une façon de faire avec une classe

Hors ligne

#3 Le 11/02/2020, à 11:13

chris7522

Re : Initialisation de variable d'une structure (C++)

Merci de ta reponse . Je comprends maintenant pourquoi ca ne compilait pas . Merci !

Hors ligne

#4 Le 12/02/2020, à 10:05

chris7522

Re : Initialisation de variable d'une structure (C++)

Par contre dans le cas d'utilisation de class , ou dois je mettre ma structure ?  dans le .h  , dans le .cpp ou dans le main  ?

Hors ligne

#5 Le 12/02/2020, à 10:38

pingouinux

Re : Initialisation de variable d'une structure (C++)

Bonjour,
Ton programme en #1 compile si tu places le main après la fonction remplissage, ou si tu indiques le prototype de la fonction remplissage.avant le main.

Hors ligne

#6 Le 12/02/2020, à 11:00

lann

Re : Initialisation de variable d'une structure (C++)

chris7522 a écrit :

Par contre dans le cas d'utilisation de class , ou dois je mettre ma structure ?  dans le .h  , dans le .cpp ou dans le main  ?

Tu auras dans ce cas trois fichiers
- un fichier .h pour la définition de ta classe
- un fichier .cpp pour la programmation proprement dite de ta classe
- un fichier main.cpp pour ton programme

Un lien pour comprendre tout ça : https://fr.wikibooks.org/wiki/Programma … es_classes

Dernière modification par lann (Le 12/02/2020, à 11:01)

Hors ligne

#7 Le 12/02/2020, à 11:15

chris7522

Re : Initialisation de variable d'une structure (C++)

C'est parfait ! Merci de votre aide precieuse  .
Pour en revenir a mon exemple :

   1 - Je place le prototype de ma méthode dans le .h .
   2 - J' ecris la definition de ma methode a l'extérieur de la declaration de ma class dans le .cpp .
   Et ma structure , je la place ou ?

Hors ligne

#8 Le 12/02/2020, à 13:39

lann

Re : Initialisation de variable d'une structure (C++)

Ce n'est plus une structure, c'est une classe
Donc ta classe, tu la déclares dans le main.cpp
Tu dois également mettre en include le fichier .h dans le main et le fichier .cpp de ta classe

Regardes le lien que je t'ai fourni et les exemples qui vont avec

Hors ligne

#9 Le 12/02/2020, à 14:24

chris7522

Re : Initialisation de variable d'une structure (C++)

Merci . Je vais etudier ca de pres .

Hors ligne