Fichiers et flux#

Prélude#

Annonces#

Projet#

Bureau d’Intervention Pédagogique#

  • de l’aide individuelle en libre service

  • tous les jours, 12h30-14h30, salle 160 du 333

  • Nouveau : aussi en informatique les jeudi et vendredi!

https://www.fetedelascience.fr/sites/default/files/styles/article_big/public/2020-08/Duras%20-%20Jonglerie%20musicale%20-%20Philippe%20Cibile%201.jpg?itok=fgTVk-pQ

Conférence spectacle : «Jonglerie Musicale et Combinatoire»#

  • Jeudi 10 novembre, 11h00-12h10, 336-H5
    (créneau d’amphi Introduction à l’informatique)

  • Florent Hivert et Vincent Delavenère

https://Nicolas.thiery.name/osmose-2022.jpg

Concert de l’ensemble vocal Osmose#

  • Dimanche 13 novembre, 16h-17h30, Orsay

  • Bach, Zelenka, …

Résumé des épisodes précédents#

Manipulation de collections de données

Fil conducteur : Implantation d’un annuaire

  • Tableaux : valeurs composites homogènes: vector<...>

  • Sémantique, modèle mémoire avec pile et tas

  • Généralisations: collections, tableaux 2D

  • La boucle «pour tout» : for ( auto valeur: collection ) { ... }

Pourquoi aller plus loin?

Pour passer à l’échelle!

Étude de cas : afficher un annuaire#

Revenons sur le programme que nous avions écrit pour afficher un annuaire :

#include<vector>
#include<iostream>
using namespace std;

vector<string> noms = {
    "Jeanne", 
    "Franck", 
    "Marie", 
    "Joël"
};
vector<string> telephones = {
    "04 23 23 54 56", 
    "03 23 42 34 26", 
    "06 52 95 56 06",
    "07 23 63 92 38"
};

for (int i=0; i < noms.size(); i++) {
    cout << noms[i] << " " << telephones[i] << endl;
}

Imaginons maintenant que le carnet de contacts sur nos téléphones adopte la même approche. Les données étant une partie intégrante du programme, nous devrions chacun avoir un programme différent, alors que seules les données changent d’une personne à l’autre.

De plus, toute modification dans l’annuaire est volatile : toute modification qui a pu avoir lieu pendant l’exécution du programme (par exemple l’ajout d’un contact) est perdue au moment où celui-ci s’arrête.

Nous avons besoin :

  • d’une séparation claire entre programme et données;

  • d’un stockage persistant des données.

C’est ce que les fichiers vont nous apporter.

On voudrait pour notre annuaire avoir :

  • Un fichier annuaire.txt :

    Jean-Claude 0645235432
    Albane      0734534534
    Djamila     +1150343234
    Tibo        0634534534
    
  • Un programme

Reste à définir la notion de fichier et à voir comment les manipuler en C++.

Au programme#

Résumé du cours#

Nous avons vu#

  • Comment lire et écrire dans des fichiers en C++

  • Un concept uniforme pour lire et écrire : les flux

    • Entrée et sortie standard d’un programme : cin, cout

    • Fichiers : ifstream, ofstream

    • Chaînes de caractères : istringstream, ostringstream

Rappel des annonces#

  • Projet:

  • Bureau d’Intervention Pédagogique: maths, physique ET informatique

  • jeudi 10 à 10h30: Conférence-Spectacle «Jonglerie musicale, automates et combinatoire»

  • dimanche 13 à Orsay: Concert Bach et Zelenka