Está en la página 1de 4

import sqlite3

# Conexión a la base de datos

conn = sqlite3.connect('biblioteca.db')

c = conn.cursor()

# Crear tablas

c.execute('''CREATE TABLE IF NOT EXISTS libros

(id INTEGER PRIMARY KEY AUTOINCREMENT,

titulo TEXT,

autor TEXT,

isbn TEXT,

categoria TEXT,

fecha_publicacion TEXT)''')

c.execute('''CREATE TABLE IF NOT EXISTS miembros

(id INTEGER PRIMARY KEY AUTOINCREMENT,

nombre TEXT,

identificacion TEXT,

contacto TEXT)''')

c.execute('''CREATE TABLE IF NOT EXISTS prestamos

(id INTEGER PRIMARY KEY AUTOINCREMENT,

libro_id INTEGER,

miembro_id INTEGER,

fecha_prestamo TEXT,

fecha_vencimiento TEXT,

FOREIGN KEY (libro_id) REFERENCES libros (id),

FOREIGN KEY (miembro_id) REFERENCES miembros (id))''')

# Funciones definidas por el usuario


def agregar_libro():

titulo = input("Ingrese el título del libro: ")

autor = input("Ingrese el autor del libro: ")

isbn = input("Ingrese el ISBN del libro: ")

categoria = input("Ingrese la categoría del libro: ")

fecha_publicacion = input("Ingrese la fecha de publicación del libro: ")

c.execute('''INSERT INTO libros (titulo, autor, isbn, categoria, fecha_publicacion)

VALUES (?, ?, ?, ?, ?)''', (titulo, autor, isbn, categoria, fecha_publicacion))

conn.commit()

print("Libro agregado con éxito.")

def registrar_prestamo():

libro_id = input("Ingrese el ID del libro: ")

miembro_id = input("Ingrese el ID del miembro: ")

fecha_prestamo = input("Ingrese la fecha de préstamo (YYYY-MM-DD): ")

fecha_vencimiento = input("Ingrese la fecha de vencimiento (YYYY-MM-DD): ")

c.execute('''INSERT INTO prestamos (libro_id, miembro_id, fecha_prestamo,


fecha_vencimiento)

VALUES (?, ?, ?, ?)''', (libro_id, miembro_id, fecha_prestamo, fecha_vencimiento))

conn.commit()

print("Préstamo registrado con éxito.")

def buscar_libro():

parametro_busqueda = input("Ingrese un parámetro de búsqueda (título, autor, categoría):


")

valor_busqueda = input("Ingrese el valor de búsqueda: ")

c.execute(f"SELECT * FROM libros WHERE {parametro_busqueda} LIKE ?", ('%' +


valor_busqueda + '%',))
libros = c.fetchall()

if libros:

print("Resultados de búsqueda:")

for libro in libros:

print(f"ID: {libro[0]}, Título: {libro[1]}, Autor: {libro[2]}, ISBN: {libro[3]}, Categoría:


{libro[4]}, Fecha de publicación: {libro[5]}")

else:

print("No se encontraron resultados.")

def generar_informe():

# Código para generar informes de préstamos, libros, etc.

pass

# Menú de la aplicación

while True:

print("----- Menú de la Biblioteca -----")

print("1. Agregar libro")

print("2. Registrar préstamo")

print("3. Buscar libro")

print("4. Generar informe")

print("5. Salir")

opcion = input("Ingrese el número de la opción deseada: ")

if opcion == "1":

agregar_libro()

elif opcion == "2":

registrar_prestamo()

elif opcion == "3":


buscar_libro()

elif opcion == "4":

generar_informe()

elif opcion == "5":

print("Saliendo del programa...")

break

else:

print("Opción inválida. Por favor, ingrese un número válido.")

# Cerrar conexión a la base de datos

conn.close()

También podría gustarte