/* 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
399,136
pages
PLE:Unidad6Ejercicio08
Advertisement