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 :

Probleme avec une fonction ofstream [C++]


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par d�faut Probleme avec une fonction ofstream [C++]
    Salut tous le monde,
    je dois realiser un programme qui enregistre les donn�es d'un tableau dans un fichier txt, mais j'ai un probleme avec la fonction ofstream
    j'ai realiser ce code mais �a plante
    sachant que si j'enregistre un string normale �a marche
    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
    #include <iostream>
    #include <fstream>
     
    using namespace std;
     
    struct date_n{
     
        int jour;
        int mois;
        int annee;
    }; //structure date
    struct stag{
     
        string nom;
        string prenom;
        date_n date_naissance;
    }; 
    void enrg(stag stagiaire[10]) //fonction contenant ofstream
    {
        for (int i=0;i<10;i++)
        {
            ofstream test("stagiaire.txt",ios::in|ios::app);
            test << "Nom: "<< stagiaire[i].nom<<endl;
            test << "Prenom: "<< stagiaire[i].prenom<<endl;
            test << "Date de naissance: "<< stagiaire[i].date_naissance.jour<<"/"<<stagiaire[i].date_naissance.mois<<"/"<<stagiaire[i].date_naissance.annee<<endl<<endl;
            test.close();
        }
    }
    int main()
    {
     
     
        stag stagiaire[10];
        for (int i=0; i<10;i++)
        {
            cout << "Stagiaire numero "<<i+1<<endl;
            cout << "Entrez le nom: ";
            cin >> stagiaire[i].nom;
            cout << "Entrez le prenom: ";
            cin >> stagiaire[i].prenom;
            cout <<"Entrez la date de naissance: "<<endl;
            cout << "Jour: ";
            cin >> stagiaire[i].date_naissance.jour;
            cout << "Mois: ";
            cin >> stagiaire[i].date_naissance.mois;
            cout << "Annee: ";
            cin >> stagiaire[i].date_naissance.annee;
        }
        cout <<"\n*********** LISTE DES STAGIAIRES ***********\n"<<endl;
        for (int i=0;i<10;i++)
        {
            cout << "\tLe stagiaire "<<i+1<<endl;
            cout << "Nom: "<< stagiaire[i].nom<<endl;
            cout << "Prenom: "<< stagiaire[i].prenom<<endl;
            cout << "Date de naissance: "<< stagiaire[i].date_naissance.jour<<"/"<<stagiaire[i].date_naissance.mois<<"/"<<stagiaire[i].date_naissance.annee<<endl<<endl;
        }
        enrg(&stagiaire[10]); //appel de la fonction
        return 0;
    }
    Merci de m'aidez

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    Bonsoir,

    Ton probl�me vient de cette ligne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    enrg(&stagiaire[10]); //appel de la fonction
    Tu prends l'adresse du 11�me �l�ment alors que tu n'en as que 10 ! Qui n'existe donc pas, et tu vas m�me chercher les 9 suivants dans ta fonction
    Rentre celle du premier : enrg(&stagiaire[0]); ou plus simplement enrg(stagiaire);.

    Remarque :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        for (int i=0;i<10;i++)
        {
            ofstream test("stagiaire.txt",ios::in|ios::app);
            test << "Nom: "<< stagiaire[i].nom<<endl;
            test << "Prenom: "<< stagiaire[i].prenom<<endl;
            test << "Date de naissance: "<< stagiaire[i].date_naissance.jour<<"/"<<stagiaire[i].date_naissance.mois<<"/"<<stagiaire[i].date_naissance.annee<<endl<<endl;
            test.close();
        }
    Plut�t que d'ouvrir/fermer ton fichier � chaque it�ration, ouvre-le avant la boucle, et ferme-le apr�s

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par d�faut
    Oh mercii �a fait 2 jours que je cherche le probleme! merci infiniment

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 25/09/2006, 11h06
  2. R�ponses: 7
    Dernier message: 16/08/2006, 10h55
  3. [C#] probleme avec une fonction recursive
    Par K_!!! dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 01/08/2006, 18h22
  4. probleme avec une fonction enable() toute simple !!
    Par K_!!! dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 19/05/2006, 15h10
  5. [LG]Probleme avec une fonction
    Par xavier1936 dans le forum Langage
    R�ponses: 7
    Dernier message: 08/02/2005, 22h48

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