All pastes #1602965 Raw Edit

Ejemplo de busqueda

public cpp v1 · immutable
#1602965 ·published 2009-10-08 01:40 UTC
rendered paste body
/* En la biblioteca de la facultad se hizo necesario tener un software quepermita buscar en los libros por autor, titulo, editorial y por contenidos.Para esto se le pide que diseñe la clase Libro, que contenga estos atributos.Considere que los libros no tienen mas de 1000 pgs y 4000 caracteres por cadauna de ellas.Diseñe la clase biblioteca que contenga los metodos BuscarAutor, BuscarTitulo,BuscarEditorial y BuscarContenido. */#include <iostream>#include <cstdlib>#include <string.h> // incluimos las funciones de string#include <ctype.h> // incluimos para obtener la funcion "tolower"using namespace std;class Libro {	public:		char autor[255];		char titulo[255];		char editorial[255];		char paginas[1000][4000];};class Biblioteca {	public:		Libro *libros[100];		void buscarAutor(const char autor_aux[]) {			int i;			for(i=0; i<100; ++i) { // Para cada libro en la biblioteca				if(this->libros[i] != NULL) { // Si existe un libro en la posicion i					int x=0; // Transformamos el texto a minusculas					while(this->libros[i]->autor[x]) {						this->libros[i]->autor[x] = (char)tolower(this->libros[i]->autor[x]);						x++;					}										if(strstr(this->libros[i]->autor, autor_aux)) { // Si se encuentra autor_aux en el atributo autor del libro actual						cout << "Libro encontrado en la posicion " << i+1 << endl; // Yuhu!					}				}			}		}};int main() {	Biblioteca *b = new Biblioteca(); // Creamos la biblioteca	Libro *a = new Libro(); // Creamos un libro	strcpy(a->titulo, "Como hacerse millonario y no morir en el intento"); // Copiamos el titulo al atributo titulo	strcpy(a->autor, "Rodrigo Aliste P"); // Copiamos el autor al atributo autor	b->libros[0] = a; // Añadimos el libro a la biblioteca	b->buscarAutor("odrigo"); // Buscamos por autor odrigo y el autor es "Rodrigo" ;)}