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é.