Le langage C++ Les types structurés

Slides:



Advertisements
Présentations similaires
Introduction au Langage C,C++
Advertisements

Programmation Orienté Objet en C++
Programmation Orienté Objet en C++
Rappels C.
Initiation à la programmation et algorithmique cours 4
Initiation à la programmation et algorithmique cours 2
C++ 6ème cours Patrick Reuter maître de conférences
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
3- Déclaration et accès aux objets
III- Les fonctions 1- Activité 02
(Classes prédéfinies – API Java)
C.
Structures et unions types énumérés Qu'est-ce qu'une structure
8. Les tableaux P. Costamagna – ISEN N1.
Algorithme et programmation
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
B.Shishedjiev - Informatique II
Initiation à la programmation et algorithmique
Les éléments de base de l’algorithmique
Principes de programmation (suite)
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Une nouvelle structure de données : les tableaux
Manipulation de formulaires en Javascript
Les enregistrements (struct) suite. Struct Rappel Enregistrement : Suite de données pouvant être de types différents, accessibles via une seule variable.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
8PRO100 Éléments de programmation Les types composés.
Standard Template Library
Les chaînes de caractères
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Les Types de données complexes
Structures des données
Le langage C Structures de données
CYCLE 1 : Saisir – Afficher – Données Déclarer des Variables dans un programme 1- Rôle de la déclaration de variable 2- Syntaxe de la déclaration de variable.
JavaScript Nécessaire Web.
4 Introduction des objets. Les chaînes et tableaux
Les pointeurs Suite.
La notion de type revisitée en POO
JavaScript.
SIF-1053 Architecture des ordinateurs
11/04/ L'héritage Cours 7 Cours 7.
Programmation objet La base.
Labo 4 : Les structures et les entrées et sorties
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
 Requêtes MySQL en PHP Introduction
Réaliser par: Sadok Amel Cheboui hassiba
Introduction au langage C Fonctions et Procédures
Les opérateurs L’amitié Les opérateurs Introduction
Les types composés Les enregistrements.
Cours LCS N°4 Présenté par Mr: LALLALI
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
Modélisation des documents: DTD et Schéma
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Les bases de l’algorithmique
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Les Structures simples
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
Introduction à l’Informatique Licence SPI Mme Delmotte.
LES CLASSES ET LES OBJETS
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Principes de programmation (suite)
Transcription de la présentation:

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

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

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 BTS IRIS 1ère année Le langage C++

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

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

Déclaration de variable Déclaration identique à celle d’un type primitif Syntaxe : nom_Structure id_Var; Exemple : Personne eleve; BTS IRIS 1ère année Le langage C++

Représentation moi string int char nom age sexe BTS IRIS 1ère année Le langage C++

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

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

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

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

Exemple complet : différence d’âge #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; } Définition locale les variables de type Personne ne peuvent être déclarées que dans la fonction main BTS IRIS 1ère année Le langage C++

Paramètre de fonction Définition globale #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; Définition globale les variables de type Personne peuvent être déclarées n’importe où dans le programme BTS IRIS 1ère année Le langage C++

Retour de fonction retour de fonction de type structuré #include<iostream> #include<string> 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 de type structuré retourner la valeur résultat récupérer le résultat BTS IRIS 1ère année Le langage C++

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 BTS IRIS 1ère année Le langage C++

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

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

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

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(); affichePersonne(groupe[i]); return 0; } BTS IRIS 1ère année Le langage C++

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