IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Aide à la compréhension de code


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut Aide à la compréhension de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    #include <iostream>
    #include <fstream>
    #include <cstdlib>
    #include <iomanip>
    #include <string>
     
    using namespace std;
     
    void fichierTexte( ifstream&, ofstream&);
     
    int main()
    {
       ifstream Entree( "Compte.txt", ios::in );
       ofstream Sortie( "Rapport.txt", ios::out );
     
     
       if ( !Entree ) {
          cerr << "Ouverture du fichier impossible, fichier inexistant " << endl;
          exit ( 1 );
       }
       if ( !Sortie ) {
          cerr << "Ouverture du fichier impossible." << endl;
          exit ( 1 );
       }
     
       fichierTexte( Entree, Sortie );
     
       system("pause");
       return 0;
    }
     
     
     
    // Lire un fichier Texte et Créer un fichier texte en vue de l'impression.
    void fichierTexte( ifstream &fEntree, ofstream &fSortie )
     
    {
       int numeroCompte;
       string nomFamille;
       char prenom[ 15 ];
       double solde;
     
     
     
       cout << setiosflags (ios::left) << setw ( 10 ) 
    	   << "Compte" << setw( 16 ) << "Nom" << setw( 11 )
    	   << "Pr‚nom" << resetiosflags ( ios::left ) 
    	   << setw( 10 ) << "Solde" << endl;
     
       fEntree >> numeroCompte >> nomFamille >> prenom >> solde;
     
       while ( !fEntree.eof() ) {
    	//	fEntree << numeroCompte << nomFamille << prenom << solde;
    		fSortie << setiosflags (ios::left) << setw ( 10 ) 
    			<< numeroCompte << setw( 16 ) <<  nomFamille  << setw( 16 )
    			<< prenom << resetiosflags ( ios::left ) 
    			<< setw( 10 ) << solde << endl;
     
     		cout << setiosflags (ios::left) << setw ( 10 ) 
    			<< numeroCompte << setw( 16 ) <<  nomFamille  << setw( 16 )
    			<< prenom << resetiosflags ( ios::left ) 
    			<< setw( 11 ) << solde << endl;
     
      	   fEntree >> numeroCompte >> nomFamille >> prenom >> solde;
     
     
       }
    }
    Salut, j'ai un code fourni par mon prof pour les entrées sorties, mais je ne comprend pas certaine des lignes. J'ai vérifié dans la doc sauf que je ne suis pas vraiment certain de comprendre.

    D'abord, il y aurait

    resetiosflags ( ios::left ) J'ai changé la valeur à "right" et je n'ai pas vue de différence.

    Il y a aussi setw(10), je l'ai ajuster à une valeur beaucoup supérieur et je n'ai remarquer aucun changement.

    Finalement à quoi sert cette ligne avant le while:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fEntree >> numeroCompte >> nomFamille >> prenom >> solde;
    Elle est aussi présente à la fin de la boucle(de l'intérieur).

    Donc, si vous pouvez me renseignez j'apprécirait énormément, merci encore.

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    BOnsoir,

    vous avez mal regardé, exemple plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      cout << "|"  << setiosflags (ios::left) << setw (3)   << "a"
         << "|" << setiosflags (ios::right) << setw (4) << "b" << "|" << endl;
    cela affiche |a##|###b| où j'ai remplacé chaque espace par un #

    setw permet de dire sur combien de caractères la chose qui suit doit être affichée, par exemple afficher 'a' sur 3 caractères implique qu'il y aura deux espaces produits en plus de 'a'
    mais ces espaces suplémentaires peuvent être produit avant ou après 'a', et setiosflags permet de le dire en spécifiant le cadrage de la chose écrite

    fEntree >> numeroCompte >> nomFamille >> prenom >> solde;
    et bien '>>' est l'inverse de '<<', donc si '<<' écrit (write) alors '>>' lit (read)
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

Discussions similaires

  1. [VB.NET] besoin d'aide pour déchiffrer un code
    Par pcdj dans le forum Windows Forms
    Réponses: 10
    Dernier message: 27/06/2006, 11h32
  2. [VB]Recherche outil(s) d'aide àl'analyse de code source
    Par David.Schris dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 28/02/2006, 14h57
  3. Aide pour comprendre un code
    Par Spacy_green dans le forum Assembleur
    Réponses: 2
    Dernier message: 13/02/2006, 13h22
  4. Aide pour comprendre le code
    Par jfreuff dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/01/2006, 17h54
  5. Je besoin d'aide pour terminer mon code
    Par Paulinho dans le forum C++
    Réponses: 7
    Dernier message: 06/11/2005, 23h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo