import tkinter as tk
from tkinter import messagebox
import json
import datetime
def adicionar_aniversario():
global nome_entry, data_entry
nome = nome_entry.get()
data_str = data_entry.get()
try:
data_nascimento = datetime.datetime.strptime(data_str, "%d/%m/%Y").date()
banco_de_dados[nome] = data_nascimento.strftime("%d/%m/%Y")
messagebox.showinfo("Sucesso", f"{nome} foi adicionado(a) ao banco de dados.")
except ValueError:
messagebox.showerror("Erro", "Formato de data inválido. Use o formato DD/MM/AAAA.")
clear_fields()
def verificar_aniversarios_hoje():
hoje = datetime.date.today()
aniversariantes = [nome for nome, data_nascimento in banco_de_dados.items() if
datetime.datetime.strptime(data_nascimento,
"%d/%m/%Y").date().month == hoje.month and datetime.datetime.strptime(
data_nascimento, "%d/%m/%Y").date().day == hoje.day]
if aniversariantes:
mensagem = "Aniversariantes de hoje:\n"
for nome in aniversariantes:
mensagem += f"{nome}: {banco_de_dados[nome]}\n"
else:
mensagem = "Não há aniversariantes hoje."
messagebox.showinfo("Aniversariantes de Hoje", mensagem)
def clear_fields():
nome_entry.delete(0, tk.END)
data_entry.delete(0, tk.END)
def main():
global nome_entry, data_entry, banco_de_dados
try:
with open("banco_de_dados.json", "r") as arquivo:
banco_de_dados = json.load(arquivo)
except FileNotFoundError:
banco_de_dados = {}
root = tk.Tk()
root.title("Aniversários")
nome_label = tk.Label(root, text="Nome:")
nome_label.grid(row=0, column=0, padx=10, pady=5)
nome_entry = tk.Entry(root)
nome_entry.grid(row=0, column=1, padx=10, pady=5)
data_label = tk.Label(root, text="Data de Nascimento (DD/MM/AAAA):")
data_label.grid(row=1, column=0, padx=10, pady=5)
data_entry = tk.Entry(root)
data_entry.grid(row=1, column=1, padx=10, pady=5)
adicionar_button = tk.Button(root, text="Adicionar Aniversário", command=adicionar_aniversario)
adicionar_button.grid(row=2, column=0, columnspan=2, padx=10, pady=5, sticky="WE")
verificar_button = tk.Button(root, text="Verificar Aniversariantes de Hoje", command=verificar_aniversarios_hoje)
verificar_button.grid(row=3, column=0, columnspan=2, padx=10, pady=5, sticky="WE")
root.mainloop()
with open("banco_de_dados.json", "w") as arquivo:
json.dump(banco_de_dados, arquivo, indent=4)
if __name__ == "__main__":
main()