static void Main(string[] args) { Biblioteca bib = new Biblioteca(); bib.LeerCSV("biblio.csv"); int opcion = -1; while (opcion != 0) { Console.Clear(); Console.WriteLine("GESTIÓN DE BIBLIOTECA PERSONAL"); Console.WriteLine("------------------------------"); Console.WriteLine(); Console.WriteLine("1- Listado de libros"); Console.WriteLine("2- Añadir un libro"); Console.WriteLine("3- Marcar un libro como leído"); Console.WriteLine(); Console.WriteLine("0- Salir (se grabarán las modificaciones)"); Console.WriteLine(); Console.Write("Opción: "); if (int.TryParse(Console.ReadLine(), out opcion)) { switch (opcion) { case 1: Console.Clear(); Console.WriteLine(bib); Console.WriteLine(); Console.WriteLine("Pulse una tecla para volver al menú..."); Console.ReadKey(); break; case 2: { string isbn; string titulo; string autor; int npaginas; Console.Clear(); Console.WriteLine("NUEVO LIBRO"); Console.WriteLine("-----------"); Console.WriteLine(); Console.Write("Introduzca el ISBN: "); while ((isbn = Console.ReadLine()) == "") { Console.Write("El ISBN no puede estar en blanco, escríbalo de nuevo: "); } Console.Write("Introduzca el título: "); while ((titulo = Console.ReadLine()) == "") { Console.Write("El título no puede estar en blanco, escríbalo de nuevo: "); } Console.Write("Introduzca el autor: "); while ((autor = Console.ReadLine()) == "") { Console.Write("El autor no puede estar en blanco, escríbalo de nuevo: "); } Console.Write("Introduzca el número de páginas: "); while (!int.TryParse(Console.ReadLine(), out npaginas) || npaginas <= 0) { Console.Write("El número de páginas debe ser un entero mayor que cero, escríbalo de nuevo: "); } Libro l = new Libro(isbn, titulo, autor, npaginas); if (bib.InsertaLibro(l)) { Console.WriteLine("Libro insertado con éxito"); } else { Console.WriteLine("El libro no se ha podido insertar: ISBN duplicado"); } Console.WriteLine(); Console.WriteLine("Pulse una tecla para volver al menú..."); Console.ReadKey(); } break; case 3: { string cadena; Console.Clear(); Console.WriteLine("Introduzca el título o parte del título a marcar como leído"); while ((cadena = Console.ReadLine()) == "") { Console.WriteLine("No puede usar una cadena en blanco. Escriba el título:"); } int marcados = bib.MarcarLeidoTitulo(cadena); if (marcados > 1) { Console.WriteLine("Marcados " + marcados + " libros como leídos"); } else { if (marcados == 1) { Console.WriteLine("El libro se ha marcado como leído"); } else { Console.WriteLine("No se ha encontrado ningún libro con ese título"); } } Console.WriteLine(); Console.WriteLine("Pulse una tecla para volver al menú..."); Console.ReadKey(); } break; } } else { opcion = -1; } } bib.GuardarCSV("biblio.csv"); Console.WriteLine("¡Hasta pronto!"); Console.ReadKey(); }
static void Main(string[] args) { try { #region Definir lista nueva sintaxis List <Libro> libros = new List <Libro> { new Libro { Titulo = "Don Quijote de la Mancha", Autor = "Miguel de Cervantes", Editorial = "Editorial EDAF, S.A", NumPaginas = 765, ISBN = "9788441405298", Reseña = "El libro, sinopsis… Nos presentan a este personaje como un loco trastornado a causa" + " de las novelas de caballerías, pero, ¿Quién dice que el señor Quijana era sólo eso? ¿Por algún" + " motivo será la cumbre de la literatura española verdad? Y aquí se plantea la duda héroe o " + "simplemente viejo loco." }, new Libro { Titulo = "El camino", Autor = "Miguel Delibes", Editorial = "Espasa", NumPaginas = 187, ISBN = "9788467023664", Reseña = "Una de las más importantes obras de Miguel Delibes cuenta la historia de un niño , Daniel " + "el Mochuelo, que tiene que trasladarse a la ciudad para cursar bachillerato. Una noche antes de partir" + " Daniel recordará todo lo que le ha ocurrido en este lugar, sus amigos, sus peripecias, y descubrirá..." }, new Libro { Titulo = "Cien años de soledad", Autor = "Gabriel García Márquez", Editorial = "Alfaguara", NumPaginas = 562, ISBN = "9788420471839", Reseña = "Muchos años después, frente al pelotón de fusilamiento, el coronel Aureliano Buendía había de" + " recordar aquella tarde remota en que su padre lo llevó a conocer el hielo.» Con estas palabras " + "empieza una novela ya legendaria en los anales de la literatura universal, una de las aventuras " }, new Libro { Titulo = "La Regenta", Autor = "Leopoldo Alas Clarín", Editorial = "Crítica", NumPaginas = 182, ISBN = "9788484326977", Reseña = "En La Regenta, sin lugar a dudas una de las cumbres de la novela realista, Leopoldo Alas " + "alcanzó a cifrar de forma inolvidable uno de los motivos que obsesionaron a la narrativa europea " + "de la segunda mitad del siglo XIX: el retrato de un carácter femenino que se debate entre el deseo y..." }, new Libro { Titulo = "Los mejores cuentos de Clarín", Autor = "Leopoldo Alas Clarín", Editorial = "De Vecchi", NumPaginas = 145, ISBN = "9788431533441", Reseña = "Una cuidadosa selección que nos muestra la riqueza de los recursos estilísticos de este gran" + " escritor del s. XIX.En el volumen se incluyen: Doña Berta, Benedictino, Manín de Pepa José, Zurita," + " Cambio de luz, y la Conversión de Chiripa" } }; #endregion Biblioteca biblioteca = new Biblioteca("EL RINCÓN DE LEER", libros); biblioteca.Presta("22111333", "9788420471839"); biblioteca.Presta("22111333", "9788431533441"); Console.WriteLine(biblioteca.EstaPrestado("9788420471839")); Console.WriteLine(biblioteca.EstaPrestado("22111444")); Console.WriteLine(biblioteca.BuscaPorISBN("9788431533441")); Console.WriteLine(biblioteca.BuscaPorISBN("97884551533441")); Console.WriteLine(biblioteca.CuentaLibrosConNumeroDePaginasMenorA(400)); Console.WriteLine(biblioteca.BuscaPorISBN("9788467023664")); biblioteca.EliminaPorAutor("Miguel Delibes"); Console.WriteLine(biblioteca.BuscaPorISBN("9788467023664")); } catch (BibliotecaException e) { Console.WriteLine(e.Message); } catch (Exception j) { Console.WriteLine(j.Message); } }