Comment passer et retourner une structure à une fonction en C++

Les variables de structure peuvent être transmises à une fonction et retournées de la même manière que les arguments classiques.
 
 

Passer une structure à une fonctionner en C++

Une structure peut être transmise à une fonction de la même manière qu’un argument normal. Considérons cet exemple:

#include <iostream>

using namespace std;

struct Employee{
    char name[30];
    int id;
    int age;
};

void afficher(Employee e){
   cout << "****** Employé ****" << endl;
   cout << "Nom: " << e.name << endl;
   cout << "ID: " << e.id << endl;
   cout << "Age: " << e.age;
}

int main(){
   Employee emp;
   
   cout << "Entrez le nom de l'employé: ";
   cin.getline(emp.name, 30);
   cout << "Entrez l'id de l'employé: ";
   cin >> emp.id;
   cout << "Entrez l'age de l'employé: ";
   cin >> emp.age;
   
   // la structure p est passée à la fonction afficher
   afficher(emp);
   
   return 0;
}

La sortie :
 

 
 

Retourner une structure à une fonctionner en C++
#include <iostream>

using namespace std;

struct Employee{
    char name[30];
    int id;
    int age;
};

void afficher(Employee emp){
   cout << "****** Employé ****" << endl;
   cout << "Nom: " << emp.name << endl;
   cout << "ID: " << emp.id << endl;
   cout << "Age: " << emp.age;
}

Employee insert(Employee emp) {
	cout << "Entrez le nom de l'employé: ";
	cin.getline(emp.name, 30);
	cout << "Entrez l'id de l'employé: ";
	cin >> emp.id;
	cout << "Entrez l'age de l'employé: ";
	cin >> emp.age;
	return emp;
}

int main()
{
    Employee emp;
    emp = insert(emp);   
    afficher(emp);
    return 0;
}

La sortie :
 

 
La structure emp est transmise à la fonction insert(), qui reçoit les entrées de l’utilisateur et qui est ensuite renvoyée à la fonction principale.

Ensuite, la structure emp est transmise à la fonction afficher(), qui affiche les informations de l’employé.
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *