#ifndef __RegCDs__ #define __RegCDs__ #include "Registro.hpp" #include #include using namespace std; /// Clase para manipular registros de Cds /** * Clase para manipular registros de CDs * @author Antonio Carrillo Ledesma * @date Verano 2011 * @version 0.0.1 * @bug No errors detected * @todo ... */ class RegCDs : public Registro { private: string Titulo; string Artista; int NumCanciones; string Canciones; public: /** * Constructor de la clase. * */ RegCDs(void) { } /// Visualiza el contenido del registro int visualizaRegistro(void) { printf("\n\nTitulo: %s", Titulo.c_str()); printf("\nArtista: %s", Artista.c_str()); printf("\n\nNumero de caciones: %d", NumCanciones); printf("\nCanciones: %s", Canciones.c_str()); return 0; //Ok } /// Adiciona un registro int adicionaRegistro(void) { // Cadena temporal char cad[81]; printf("\nTitulo: "); ut.leerCadena(cad, 80); Titulo.assign(cad); printf("\nArtista: "); ut.leerCadena(cad, 80); Artista.assign(cad); printf("\nNumero de caciones: "); ut.leerNumero(NumCanciones); printf("\nCanciones: "); ut.leerCadena(cad, 80); Canciones.assign(cad); return 0; // Ok } /// Modifica el contenido del registro int modificarRegistro(void) { // Cadena temporal char cad[81]; // Visualiza el nombre y permite su modificacion printf("\nTitulo: %s", Titulo.c_str()); printf("\nNuevo Titulo: "); ut.leerCadena(cad, 80); Titulo.assign(cad); printf("\nArtista: %s", Artista.c_str()); printf("\nNuevo Artista: "); ut.leerCadena(cad, 80); Artista.assign(cad); printf("\nNumero de caciones: %d", NumCanciones); printf("\nNuevo Numero de caciones: "); ut.leerNumero(NumCanciones); printf("\nCanciones: %s", Canciones.c_str()); printf("\nNuevas Canciones: "); ut.leerCadena(cad, 80); Canciones.assign(cad); return 0; // Ok } int leerRegistro(FILE *file) { char cad[100]; cad[0] = 0; fread(cad,1,80,file); Titulo.assign(cad); fread(cad,1,80,file); Artista.assign(cad); fread(&NumCanciones,sizeof(int), 1,file); fread(cad,1,80,file); Canciones.assign(cad); return 0; // Ok } int grabarRegistro(FILE *file) { fwrite(Titulo.c_str(),1,80,file); fwrite(Artista.c_str(),1,80,file); fwrite(&NumCanciones,sizeof(int), 1,file); fwrite(Canciones.c_str(),1,80,file); return 0; // Ok } }; #endif