Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [C++] Lettura da file

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98

    [C++] Lettura da file

    Ho creato un semplicissimo programma che dopo aver fatto inserire i dati di una struttura, li copia nel file, ed in seguito li ordina, ma solo nella struttura, lasciando il vecchio ordinamento nel file.
    Quando vado a leggere da file, leggo come se anche esso fosse stato ordinato ed inoltre il ciclo di uscita va in loop, continuando a stampare dati random.

    codice:
    #include <iostream>
    #include <string.h>
    #include <fstream.h>
    
    using namespace std;
    
    class Madre
    {
        protected:
                fstream file;
                struct studente
                {
                    char nome[10];
                    int eta;
                }pprova[5];
    
        public:
                Madre();
                void inserimento();
                void lettura();
    };
    
    void Madre:: inserimento()
    {
        file.open("Prova.txt", ios:: app);
        int i;
    
        for(i=0;i<2;i++)
        {
            cout << "Inserisci il " << i+1 << "^ nome ";
            cin >> pprova[i].nome;
    
            cout << "Inserisci la " << i+1 << "^ eta ";
            cin >> pprova[i].eta;
    
            cout << endl;
    
            file << pprova[i].nome << " " << pprova[i].eta;
        }
        if(strcmp(pprova[0].nome, pprova[1].nome) > 0)
        {
            pprova[3] = pprova[0];
            pprova[0] = pprova[1];
            pprova[1] = pprova[3];
        }
    
        for(i=0;i<2;i++)
            cout << "Dati " << i+1  << "^ persona:\n" << "Nome: " << pprova[i].nome << "\nEta: " << pprova[i].eta << "\n\n";
    
        file.close();
    }
    
    void Madre:: lettura()
    {
        file.open("Prova.txt", ios:: in);
        cout << "\n\nVisualizzazione file:\n";
        int i=0;
    
        while(!file.eof())
        {
            file >> pprova[i].nome >> pprova[i].eta;
            cout << pprova[i].nome << " " << pprova[i].eta << endl;
            i++;
            system("PAUSE");
        }
        file.close();
    }
    
    int main()
    {
        Madre a;
        a.inserimento();
        system("PAUSE");
        a.lettura();
    }
    Ultima modifica di Tiime; 02-05-2014 a 11:38

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.