#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 ();
}
}