Exercice 122
Énoncé
Écrire un programme permettant à un utilisateur de retrouver, dans un fichier tel que
celui créé dans l’exercice 120, les entiers dont il fournit le « rang ». On conviendra
qu’un rang égal à 0 signifie que l’utilisateur souhaite mettre fin au programme.
const int LGMAX_NOM_FICH = 20 ;
#include // pour exit
#include
#include
#include
using namespace std ;
main()
{
char nomfich [LGMAX_NOM_FICH + 1] ;
int n, num ;
cout << "nom du fichier à consulter : " ;
cin >> setw (LGMAX_NOM_FICH) >> nomfich ;
ifstream entree (nomfich, ios::in) ;
if (!entree) { cout << "Ouverture impossible\n" ;
exit (1) ;
}
do
{ cout << "Numéro de l'entier recherché : " ;
cin >> num ;
if (num)
{ entree.seekg (sizeof(int) * (num-1) , ios::beg ) ;
entree.read ( (char *) &n, sizeof(int) ) ;
if (entree) cout << "-- Valeur : " << n << "\n" ;
else { cout << "-- Erreur\n" ;
entree.clear () ;
}
}
}
while (num) ;
entree.close () ;
}
1. Ici, la transmission peut se faire par valeur ou par référence.
299
Précédent

- 300/398

Suivant