1 / 20

Le langage C++

Le langage C++. Les types structurés. 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.

anais
Download Presentation

Le langage C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Le langage C++ Les types structurés Introduction à la programmation et algorithmique

  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 Le langage C++

  3. Types structurés • Permet d’englober 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 Le langage C++

  4. Définition du type struct nom_structure { type1 nom_champ1; type2 nom_champ2; }; Le langage C++

  5. Exemple struct Personne { string nom; string prenom; int age; }; Le langage C++

  6. Déclaration de variable • Déclaration identique à celle d’un type primitif • Syntaxe : nom_Structure id_Var; • Exemple : Personne eleve; Le langage C++

  7. Représentation moi string int char nom age sexe Le langage C++

  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 Le langage C++

  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_champde la variableid_varde type structuré Le langage C++

  10. Exemple struct Personne { string nom; stringprenom; intage; }; … Personne pers1, pers2; … cout << pers1.nom; cout << pers1.prenom; cout << pers1.age; … cout << pers2.nom; … Le langage C++

  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 • … Le langage C++

  12. Exemple complet : différence d’âge Définition locale les variables de type Personne ne peuvent être déclarées que dans la fonction main #include<iostream> #include<string> 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; } Le langage C++

  13. Paramètre de fonction Définition globale les variables de type Personne peuvent être déclarées n’importe où dans le programme #include<iostream> #include<string> 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; } Le langage C++

  14. Retour de fonction retour de fonction de type structuré #include<iostream> #include<string> usingnamespacestd; struct Personne { string nom; intage; 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; } retourner la valeur résultat récupérer le résultat Le langage C++

  15. Imbrication de type • Un champs d’un 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 Le langage C++

  16. Exemple structDateNaissance { int jour; int mois; intannee; }; struct Personne { string nom; DateNaissancedateN; char sexe; }; Le langage C++

  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; } Le langage C++

  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; }; Produitp; //saisie des valeur cout<<"ville du fournisseur de "<<p.lib<<" :" << p.frs.ad_frs.ville … Le langage C++

  19. Tableau d’enregistrement 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<nbPers; i++) groupe[i]=saisirPersonne(); for(int i=0; i<nbPers; i++) affichePersonne(groupe[i]); return 0; } Le langage C++

  20. Représentation age nom sexe Nom des champs 0 1 2 3 4 5 6 … Indices du tableau Ex : tab[0].nom Le langage C++

More Related