Scratchpad

If you are new to Scratchpad, and want full access as a Scratchpad editor, create an account!
If you already have an account, log in and have fun!!

READ MORE

Scratchpad
Advertisement
/*
Programa:         Ficheros08.cpp
Descripción:      Disponemos de un chichero de alumnos (nombre, nota, grupo) pertenecientes a dos grupos 
			distintos (ASI y DAI). Lee el fichero y crea dos nuevos ficheros (ASI y DAI) en los que 
			alacenarás los datos de los alumnos de cada grupo por separado
*/

#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

//declaramos la estructura
struct datos
{
    char nombre[20];
    int nota;
    char grupo[5];
};

int cont = 0;
const int TAM = 50;

void leeFichero(datos alumno[]);
void guardaAlumnosDai(datos alumno[]);
void guardaAlumnosAsi(datos alumno[]);

int main(int argc, char *argv[])
{
    datos alumno[TAM];
    
    //llamamos a la funcion para leer el fichero de entrada.
    leeFichero(alumno);

    //llamamos a la funcion para guardar los alumnos de dai.
    guardaAlumnosDai(alumno);
      
    //llamamos a la funcion para guardar los alumnos de asi.
    guardaAlumnosAsi(alumno);
  
    system("PAUSE");     
    return EXIT_SUCCESS;
}

void leeFichero(datos alumno[])
{
    ifstream fe;
    datos tmp;
    
    fe.open("alumnos.txt");
    
    if(fe.is_open())
    {
        // hacemos la lectura del fichero y mostramos en pantalla.
        fe >> tmp.nombre;
        fe >> tmp.nota;
        fe >> tmp.grupo;
        
        cout << "Alumnos:" << endl;
        cout << tmp.nombre << endl;
        cout << tmp.nota << endl;
        cout << tmp.grupo << endl;
        
        
        while(!fe.eof())
        {
            // Copilos datos del alumno
            alumno[cont] = tmp;
            cont++;

            // hacemos la lectura del fichero
            fe >> tmp.nombre;
            fe >> tmp.nota;
            fe >> tmp.grupo;            
            // Mostramos en pantalla        

            cout << tmp.nombre << endl;
            cout << tmp.nota << endl;
            cout << tmp.grupo << endl;
        }
        system("PAUSE");
        fe.close();
    }
    else
        cout << "ERROR DE APERTURA DE FICHERO" << endl;
}

void guardaAlumnosDai(datos alumno[])
{
    ofstream fs1;
    int i;
    
    fs1.open("dai.txt");
    
          
    if(fs1.is_open())
    {
        system("CLS");
        cout << "Alumnos DAI:" << endl;
        for(i=0; i<=cont; i++)
        {
            if(strcmp(alumno[i].grupo,"dai") == 0)
            {
                fs1 << alumno[i].nombre << endl;
                fs1 << alumno[i].nota << endl;
                fs1 << alumno[i].grupo << endl;
                
                cout << alumno[i].nombre << endl;
                cout << alumno[i].nota << endl;
                cout << alumno[i].grupo << endl;
            }
        }
        system("PAUSE");                    
        fs1.close();
    }
        else
            cout << "ERROR DE APERTURA DE FICHERO" << endl;
}

void guardaAlumnosAsi(datos alumno[])
{
    ofstream fs1;
    int i;
    
    fs1.open("asi.txt");
    
          
    if(fs1.is_open())
    {
        system("CLS");
        cout << "Alumnos ASI: " << endl;
        for(i=0; i<=cont; i++)
        {
            if(strcmp(alumno[i].grupo,"asi") == 0)
            {
                fs1 << alumno[i].nombre << endl;
                fs1 << alumno[i].nota << endl;
                fs1 << alumno[i].grupo << endl;
                
                cout << alumno[i].nombre << endl;
                cout << alumno[i].nota << endl;
                cout << alumno[i].grupo << endl;
            }
        }
        system("PAUSE");            
        fs1.close();
    }
        else
            cout << "ERROR DE APERTURA DE FICHERO" << endl;
}
Advertisement