Código
#include <iostream> #include <string> #include <fstream> #include <cstdio> #include <stdio.h> #include <vector> using namespace std; void entrada (); void buscarTitulo (); void buscarAutor (); void buscarEditorial (); void buscarTomo (); void buscarColeccion (); void salir (); void mostrarTodos (); void buscar (); void borrarLibro (); void editarLibro (); int main () { system ("title Libros"); system ("cls"); system ("color 0F"); int eleccion; cout << "1.Introducir un nuevo libro" << endl; cout << "2.Buscar un libro" << endl; cout << "3.Limpiar base de datos" << endl; cout << "4.Editar un libro" << endl; cout << "5.Salir" << endl; cin >> eleccion; switch (eleccion) { case 1: entrada(); break; case 2: buscar(); break; case 3: borrarLibro(); break; case 4: editarLibro(); break; case 5: salir(); break; cin.get(); } } void editarLibro () { char titulo [100]; char nuevoTitulo [100]; char autor [100]; char nuevoAutor [100]; char editorial [50]; char nuevoEditorial [50]; char coleccion [200]; char nuevaColeccion [200]; int tomo; int nuevoTomo; string entrada; char decision; ifstream RegistroLibros("Nuevo libro.txt"); if (!RegistroLibros.eof()) { RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo; } system ("cls"); cout << "Introduzca el titulo del libro: "; cin >> entrada; if (entrada == titulo) { cout << titulo << ' ' << autor << ' ' << editorial << endl; cout << "Es este el libro correcto S/N:"; cin >> decision; if (decision == 'S' or decision == 's') { cout << "Introduzca el nuevo titulo: "; cin >> nuevoTitulo; nuevoTitulo == titulo; cout << "\nIntroduzca el nuevo autor: "; cin >> nuevoAutor; autor == nuevoAutor; cout << "\nIntroduzca el nuevo editorial: "; cin >> nuevoEditorial; editorial == nuevoEditorial; cout << "\nIntroduzca la nueva coleccion: "; cin >> coleccion; coleccion == nuevaColeccion; cout << "\nIntroduzca el nuevo tomo: "; cin >> tomo; tomo == nuevoTomo; } RegistroLibros.close(); } ofstream RegistroLibros2 ("NuevoLibro.txt", ios::app); RegistroLibros2 << titulo << ' ' << autor << ' ' << editorial << ' ' << coleccion << ' ' << tomo << endl; RegistroLibros2.close(); system ("pause"); main (); } void entrada () { char titulo[100]; char autor[100]; char editorial[50]; char coleccion [200]; int tomo; char decision; ofstream NuevoLibro ("Nuevo Libro.txt", ios::app); system ("cls"); cin.sync(); cout << "Introduzca el titulo del libro" << endl; gets (titulo); system ("cls"); cout << "Introduzca el autor del libro" << endl; gets (autor); system ("cls"); cout << "Introduzca la editorial del libro" << endl; gets (editorial); system ("cls"); cout << "Tiene coleccion S/N: "; cin >> decision; if (decision == 'S' or decision == 's'){ cout << "Introduzca el nombre de la coleccion" << endl; gets (coleccion); system ("cls"); cout << "Introsuzca el tomo de la coleccion" << endl; cin >> tomo; NuevoLibro << titulo << ' ' << autor << ' ' << editorial << ' ' << coleccion << ' ' << tomo << endl; NuevoLibro.close(); main (); }else{ NuevoLibro << titulo << ' ' << autor << ' ' << editorial << endl; NuevoLibro.close(); main (); } } void buscarTitulo () { ifstream RegistroLibros ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; char btitulo [100]; system("CLS"); cout << "Introduzca el titulo del libro: "; gets (btitulo); while (RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo) { if (btitulo == titulo) { system ("CLS"); cout << "Libro(s) encontrado" << endl; cout << "------------------------------\n"; cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << endl;; } } while (RegistroLibros >> titulo) { if (btitulo != titulo) { system ("CLS"); cout << "No hay libros con ese nombre" << endl; } } system ("pause"); main (); } void buscarAutor() { ifstream RegistroLibros ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; char bautor [100]; system ("CLS"); cout << "Introduzca el autor del libro: "; gets (bautor); while (RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo) { if (bautor == autor) { system ("CLS"); cout << "Libro(s) encontrado" << endl; cout << "------------------------------\n"; cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << endl; } } while (RegistroLibros >> autor) { if (bautor != autor) { system ("CLS"); cout << "No hay libros de ese autor" << endl; } } system ("pause"); cin.get(); main (); } void buscarEditorial() { ifstream RegistroLibros ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; char beditorial [50]; system ("CLS"); cout << "Introduzca un editorial: "; gets (beditorial); while (RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo) { if (beditorial == editorial) { system ("cls"); cout << "Libro(s) encontrado" << endl; cout << "------------------------------\n"; cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << " " << endl; } } while (RegistroLibros >> editorial) { if (beditorial != editorial) { system ("CLS"); cout << "No hay libros de esa editorial" << endl; } } system ("pause"); cin.get(); main (); } void buscarColeccion () { ifstream RegistroLibros ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; char bcoleccion [200]; system ("CLS"); cout << "Introduzca una coleccion: "; gets (bcoleccion); while (RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo) { if (bcoleccion == coleccion) { system ("cls"); cout << "Libro(s) encontrado" << endl; cout << "------------------------------\n"; cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << " " << endl; } } while (RegistroLibros >> coleccion) { if (bcoleccion != coleccion) { system ("CLS"); cout << "No hay libros de esa coleccion" << endl; } } system ("pause"); cin.get(); main (); } void buscarTomo () { ifstream RegistroLibros ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; int btomo; system ("CLS"); cout << "Introduzca un tomo: "; cin >> btomo; while (RegistroLibros >> titulo >> autor >> editorial >> coleccion >> tomo) { if (btomo == tomo) { system ("cls"); cout << "Libro(s) encontrado" << endl; cout << "------------------------------\n"; cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << " " << endl; } } while (RegistroLibros >> tomo) { if (btomo != tomo) { system ("CLS"); cout << "No hay libros con ese numero de tomo" << endl; } } system ("pause"); cin.get(); main (); } void salir () { system ("CLS"); cout << ("Gracias por usar esta base de datos"); system ("pause"); cin.get(); } void mostrarTodos() { ifstream RegistroLibro ("Nuevo Libro.txt"); char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; system ("cls"); cout << "Todos los libros\n"; cout << "-------------------------------------\n"; while (RegistroLibro >> titulo >> autor >> editorial) { system ("cls"); cout << titulo << " " << autor << " " << editorial << " " << coleccion << " " << tomo << endl; } system ("pause"); cin.get(); main (); } void buscar () { char titulo [100]; char autor [100]; char editorial [50]; char coleccion [200]; int tomo; int eleccion2; system ("CLS"); cout << "1.Buscar por titulo" << endl; cout << "2.Buscar por autor" << endl; cout << "3.Buscar por editorial" << endl; cout << "4.Buscar por coleccion" << endl; cout << "5.Buscar por tomo" << endl; cout << "6.Todos los libros" << endl; cout << "7.Atras" << endl; cout << "8.Salir" << endl; cin >> eleccion2; switch (eleccion2) { case 1: buscarTitulo (); break; case 2: buscarAutor (); break; case 3: buscarEditorial (); break; case 4: buscarColeccion (); break; case 5: buscarTomo (); break; case 6: mostrarTodos (); break; case 7: main (); break; case 8: salir (); break; } } void borrarLibro () { char decision; cout << "Estas seguro? S/N" << endl; cin >> decision; if (decision == 'S' or decision == 's') { ofstream RegistroLibros ("Nuevo Libro.txt"); system ("cls"); cout << "Accion realizada con exito" << endl; system ("pause"); RegistroLibros.close(); main (); }else{ main (); } }