Descripción
Desarrollo de un sistema de gestión de biblioteca en C# aplicando principios de programación orientada a objetos, operaciones CRUD, manejo de excepciones y persistencia de datos.
- Crea la estructura base del proyecto definiendo las clases principales:
- Crea una clase abstracta
Persona
con propiedades comoId
,Nombre
yEmail
- Implementa la clase
Usuario
que herede dePersona
y añada propiedades comoLibrosPrestados
(List) - Desarrolla la clase
Libro
con propiedades comoISBN
,Titulo
,Autor
,EstaDisponible
- Define una interfaz
IPrestable
con métodosPrestar()
yDevolver()
- Implementa la encapsulación en todas las clases:
- Define campos privados con sus correspondientes propiedades públicas
- Asegúrate de incluir validaciones básicas en los setters (por ejemplo, que el email tenga formato correcto)
- Implementa constructores adecuados para cada clase
- Desarrolla el sistema de colecciones y CRUD:
- Crea una clase
Biblioteca
que contenga las coleccionesList<Libro>
,List<Usuario>
yList<Prestamo>
- Implementa métodos para añadir, buscar, actualizar y eliminar libros y usuarios
- Crea una clase
Prestamo
que relacione unUsuario
con unLibro
y tenga fechas de préstamo y devolución
- Programa la lógica de préstamos y devoluciones:
- Implementa la interfaz
IPrestable
en la claseLibro
- Desarrolla un método para prestar un libro que verifique disponibilidad
- Crea un método para devolver libros que actualice el estado del libro y del usuario
- Asegúrate de que un usuario no pueda tener más de 3 libros prestados simultáneamente
- Implementa el manejo de excepciones:
- Crea una clase
BibliotecaException
que herede deException
- Desarrolla excepciones específicas como
LibroNoDisponibleException
yUsuarioNoRegistradoException
- Implementa bloques try-catch en los métodos apropiados
- Desarrolla el sistema de persistencia:
- Crea métodos para guardar los datos de libros, usuarios y préstamos en archivos JSON o CSV
- Implementa funcionalidad para cargar estos datos al iniciar la aplicación
- Asegúrate de mantener la integridad de las relaciones entre objetos
- Crea un menú interactivo por consola:
- Desarrolla un menú principal con opciones para gestionar libros, usuarios y préstamos
- Implementa submenús para las operaciones CRUD de cada entidad
- Añade opciones para realizar préstamos, devoluciones y consultar el estado actual
- Implementa funcionalidades adicionales:
- Añade un sistema de búsqueda de libros por título o autor
- Implementa un registro de préstamos vencidos
- Crea estadísticas básicas como libros más prestados o usuarios más activos
Solución al ejercicio de programación en CSharp
¡Desbloquea la solución completa!
Completa el ejercicio de programación en CSharp para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en CSharp
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en CSharp