Ejercicio de programación con CSharp: Proyecto sintaxis en C#

Proyecto
Práctica
3h 0m

Desarrolla un sistema de gestión de biblioteca en C# con POO, CRUD, manejo de excepciones y persistencia de datos. Aprende a programar un proyecto completo.

  1. Crea la estructura base del proyecto definiendo las clases principales:
  • Crea una clase abstracta Persona con propiedades como Id, Nombre y Email
  • Implementa la clase Usuario que herede de Persona y añada propiedades como LibrosPrestados (List)
  • Desarrolla la clase Libro con propiedades como ISBN, Titulo, Autor, EstaDisponible
  • Define una interfaz IPrestable con métodos Prestar() y Devolver()
  1. 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
  1. Desarrolla el sistema de colecciones y CRUD:
  • Crea una clase Biblioteca que contenga las colecciones List<Libro>, List<Usuario> y List<Prestamo>
  • Implementa métodos para añadir, buscar, actualizar y eliminar libros y usuarios
  • Crea una clase Prestamo que relacione un Usuario con un Libro y tenga fechas de préstamo y devolución
  1. Programa la lógica de préstamos y devoluciones:
  • Implementa la interfaz IPrestable en la clase Libro
  • 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
  1. Implementa el manejo de excepciones:
  • Crea una clase BibliotecaException que herede de Exception
  • Desarrolla excepciones específicas como LibroNoDisponibleException y UsuarioNoRegistradoException
  • Implementa bloques try-catch en los métodos apropiados
  1. 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
  1. 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
  1. 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
Empezar ejercicio de programación

Más ejercicios de programación con CSharp

Evalúa tus conocimientos en CSharp con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub