La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les types structurés Introduction à la programmation et algorithmique BTS IRIS 1ère année.

Présentations similaires


Présentation au sujet: "Les types structurés Introduction à la programmation et algorithmique BTS IRIS 1ère année."— Transcription de la présentation:

1 Les types structurés Introduction à la programmation et algorithmique BTS IRIS 1ère année

2 Structure Tableaux : structures de données dont tous les éléments sont de même type Types structurés : structures de données dont les éléments peuvent être de type différent Les éléments qui composent un type structuré sont appelés champs BTS IRIS 1ère annéeLe langage C++2

3 Types structurés Permet denglober plusieurs éléments : Type personne avec nom, prénom et âge Type classe avec un tableau de noms de matières, un tableau de notes et un tableau de personnes … Utilisation comme un type classique : variables de type structuré tableaux d'éléments de type structuré déclaration avant sa 1ère utilisation BTS IRIS 1ère annéeLe langage C++3

4 Définition du type struct nom_structure { type1 nom_champ1; type2 nom_champ2; }; BTS IRIS 1ère annéeLe langage C++4

5 Exemple struct Personne { string nom; string prenom; int age; }; BTS IRIS 1ère annéeLe langage C++5

6 Déclaration de variable Déclaration identique à celle dun type primitif Syntaxe : nom_Structure id_Var; Exemple : Personne eleve; BTS IRIS 1ère annéeLe langage C++6

7 Représentation BTS IRIS 1ère annéeLe langage C++7 moi agesexenom stringintchar

8 Manipulation Manipulation au travers des champs sauf pour affectation et paramètres, il n'est pas possible de manipuler un enregistrement globalement (Comme pour les tableaux) Exemple : pour afficher une variable de type structuré il faut afficher ses champs un par un BTS IRIS 1ère annéeLe langage C++8

9 Accès au champs les champs d'une structure sont accessibles à travers leur nom et l'opérateur '. ' Syntaxe : id_var.nom_champ; représente la valeur mémorisée dans le champ nom_champ de la variable id_var de type structuré BTS IRIS 1ère annéeLe langage C++9

10 Exemple struct Personne { string nom; string prenom; int age; }; … Personne pers1, pers2; … cout << pers1.nom; cout << pers1.prenom; cout << pers1.age; … cout << pers2.nom; … BTS IRIS 1ère annéeLe langage C++10

11 Champs le nom d'un champ est toujours précédé du nom de la variable à laquelle il appartient On ne peut pas trouver un nom de champ tout seul variables comme les autres à qui on peut faire subir les mêmes opérations : Affectation Saisie Affichage … BTS IRIS 1ère annéeLe langage C++11

12 #include using namespace std; int main (void) { struct Personne { string nom; int age; }; Personne pers1, pers2; cout << "Entrez le nom puis l'age de la personne 1" << endl; cin >> pers1.nom >> pers1.age; cout << "Entrez le nom puis l'age de la personne 2" << endl; cin >> pers2.nom >> pers2.age; cout << "La différence d'âge entre " << pers1.nom << " et " << pers2.nom << " est de "; if(pers1.age > pers2.age) cout << pers1.age - pers2.age << " ans "; else cout << pers2.age - pers1.age << " ans "; return 0; } Exemple complet : différence dâge BTS IRIS 1ère annéeLe langage C++12 Définition locale les variables de type Personne ne peuvent être déclarées que dans la fonction main Définition locale les variables de type Personne ne peuvent être déclarées que dans la fonction main

13 #include using namespace std; struct Personne { string nom; int age; char sexe; }; void affichePersonne(Personne p) { cout << "nom : " << p.nom << endl; cout << "age : " << p.age << endl; cout << "sexe : " << p.sexe << endl; } int main (void) { Personne pers; cout << "veuillez saisir les nom, age et sexe :"; cin >> pers.nom; cin >> pers.age; cin >> pers.sexe; pers.age=pers.age+1; affichePersonne(pers); return 0; } Paramètre de fonction BTS IRIS 1ère annéeLe langage C++13 Définition globale les variables de type Personne peuvent être déclarées nimporte où dans le programme Définition globale les variables de type Personne peuvent être déclarées nimporte où dans le programme

14 #include using namespace std; struct Personne { string nom; int age; char sexe; }; Personne saisirPersonne(void) { Personne p; cout << "veuillez saisir les nom, age et sexe :"; cin >> p.nom; cin >> p.age; cin >> p.sexe; return p; } int main (void) { Personne pers; pers=saisirPersonne(); vieillir(pers); affichePersonne(pers); return 0; } Retour de fonction BTS IRIS 1ère annéeLe langage C++14 retour de fonction de type structuré retourner la valeur résultat récupérer le résultat

15 Imbrication de type Un champs dun type structuré peut être une variable de type structuré Exemple : Une date est composée de trois variables (jour, mois, année) indissociables => structure On remplace l'âge de la personne par sa date de naissance BTS IRIS 1ère annéeLe langage C++15

16 Exemple struct DateNaissance { int jour; int mois; int annee; }; struct Personne { string nom; DateNaissance dateN; char sexe; }; BTS IRIS 1ère annéeLe langage C++16

17 Manipulation Personne saisirPersonne() { Personne p; cout << "veuillez saisir les nom, date de naissance, et sexe :"; cin >> p.nom; cin >> p.dateN.jour; cin >> p.dateN.mois; cin >> p.dateN.annee; cin >> p.sexe; return p; } BTS IRIS 1ère annéeLe langage C++17

18 Exemple complet struct Adresse{ int num; string rue; int cp; string ville; }; struct Fournisseur{ string code_frs; string raison_sociale; Adresse ad_frs; int tel; }; struct Produit{ string code; string lib; float paht; float pvht; float txtva; Fournisseur frs; }; Produit p; //saisie des valeur cout<< " ville du fournisseur de "<< p.lib<<" : " << p.frs.ad_frs.ville … BTS IRIS 1ère annéeLe langage C++18

19 Tableau denregistrement struct Personne { string nom; int age; char sexe; }; void affichePersonne(Personne); Personne saisirPersonne(); int main (void) { const int nbPers=10; Personne pers; Personne groupe[nbPers]; for(int i=0; i

20 Représentation BTS IRIS 1ère annéeLe langage C++20 nomsexe … … Nom des champs Indices du tableau Ex : tab[0].nom age


Télécharger ppt "Les types structurés Introduction à la programmation et algorithmique BTS IRIS 1ère année."

Présentations similaires


Annonces Google