Ir ao conteúdo
  • Cadastre-se

FelipeAPM

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. @Swalls Eu quero tentar colocar a barra de rolagem no código. Aí eu queria ajuda em relação isso, para funcionar.
  2. import tkinter as tk from tkinter import messagebox from operator import itemgetter from datetime import datetime import sqlite3 conexao = sqlite3.connect('contatos.db') cursor = conexao.cursor() cursor.execute(''' CREATE TABLE contatos ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT, telefone TEXT, data_nascimento TEXT ) ''') conexao.commit() # Dados iniciais registros = [ {'nome': 'João Silva', 'telefone': '123456789', 'data_nascimento': '1990-01-01'}, {'nome': 'Maria Santos', 'telefone': '987654321', 'data_nascimento': '1992-05-15'}, {'nome': 'Jose Antonio', 'telefone': '397439789', 'data_nascimento': '1974-05-10'}, {'nome': 'Carlos Aurora', 'telefone': '382039299', 'data_nascimento': '1978-05-05'}, {'nome': 'Jose Vitoria', 'telefone': '374938398', 'data_nascimento': '1988-05-02'}, {'nome': 'Jose Maria', 'telefone': '374918398', 'data_nascimento': '1989-02-02'}, {'nome': 'Jose Silva', 'telefone': '374938397', 'data_nascimento': '1996-01-02'}, {'nome': 'Maria Jose', 'telefone': '374922398', 'data_nascimento': '1995-03-02'}, {'nome': 'Emanuel Ricardo', 'telefone': '374910398', 'data_nascimento': '1990-04-12'}, {'nome': 'Mario Antunes', 'telefone': '374128398', 'data_nascimento': '1985-03-02'}, {'nome': 'Danilo Alves', 'telefone': '404938398', 'data_nascimento': '1973-05-02'}, {'nome': 'Angelo Pereira', 'telefone': '404938398', 'data_nascimento': '1977-03-02'}, {'nome': 'Adalberto Silva', 'telefone': '374638398', 'data_nascimento': '1975-04-02'}, {'nome': 'Crisostemos Medeiros', 'telefone': '404938478', 'data_nascimento': '1979-10-02'}, {'nome': 'Pablo Aparecido', 'telefone': '404938399', 'data_nascimento': '1990-10-02'}, {'nome': 'Alex Aparecido', 'telefone': '404938389', 'data_nascimento': '1987-10-25'}, {'nome': 'Marina Antunes', 'telefone': '407038399', 'data_nascimento': '1990-10-20'}, {'nome': 'Marcos Leiria', 'telefone': '404936399', 'data_nascimento': '1977-07-02'}, {'nome': 'Daniel Leiria', 'telefone': '407938399', 'data_nascimento': '1980-07-20'}, {'nome': 'Marcos Pontes', 'telefone': '404939899', 'data_nascimento': '1990-10-18'}, ] def adicionar_registro(): nome = entry_nome.get() telefone = entry_telefone.get() data_nascimento = entry_nascimento.get() registro = {'nome': nome, 'telefone': telefone, 'data_nascimento': data_nascimento} registros.append(registro) messagebox.showinfo('Sucesso', 'Registro adicionado com sucesso!') # Limpar campos de entrada entry_nome.delete(0, tk.END) entry_telefone.delete(0, tk.END) entry_nascimento.delete(0, tk.END) def buscar_por_telefone(): telefone = entry_telefone_busca.get() for registro in registros: if registro['telefone'] == telefone: messagebox.showinfo('Resultado', f'O nome correspondente ao telefone {telefone} é: {registro["nome"]}') return messagebox.showinfo('Resultado', 'Nenhum registro encontrado com o telefone informado.') def aniversariantes_mes(): mes = int(combo_mes.get()) aniversariantes = [] for registro in registros: data_nascimento = datetime.strptime(registro['data_nascimento'], '%Y-%m-%d') if data_nascimento.month == mes: aniversariantes.append(registro) if not aniversariantes: messagebox.showinfo('Resultado', 'Nenhum aniversariante encontrado para o mês informado.') return aniversariantes = sorted(aniversariantes, key=itemgetter('data_nascimento')) resultado = 'Aniversariantes do mês:\n\n' for aniversariante in aniversariantes: nome = aniversariante['nome'] telefone = aniversariante['telefone'] dia = datetime.strptime(aniversariante['data_nascimento'], '%Y-%m-%d').day resultado += f'Nome: {nome}\nTelefone: {telefone}\nDia do aniversário: {dia}\n\n' messagebox.showinfo('Resultado', resultado) def listar_contatos(): resultado = 'Lista de contatos:\n\n' for registro in registros: nome = registro['nome'] telefone = registro['telefone'] data_nascimento = registro['data_nascimento'] resultado += f'Nome: {nome}\nTelefone: {telefone}\nData de Nascimento: {data_nascimento}\n\n' messagebox.showinfo('Lista de Contatos', resultado) # Interface gráfica window = tk.Tk() window.title('CRUD - Registros') window.geometry('400x400') label_nome = tk.Label(window, text='Nome:') label_nome.pack() entry_nome = tk.Entry(window) entry_nome.pack() label_telefone = tk.Label(window, text='Telefone:') label_telefone.pack() entry_telefone = tk.Entry(window) entry_telefone.pack() label_nascimento = tk.Label(window, text='Data de Nascimento (AAAA-MM-DD):') label_nascimento.pack() entry_nascimento = tk.Entry(window) entry_nascimento.pack() button_adicionar = tk.Button(window, text='Adicionar Registro', command=adicionar_registro) button_adicionar.pack() label_telefone_busca = tk.Label(window, text='Buscar por Telefone:') label_telefone_busca.pack() entry_telefone_busca = tk.Entry(window) entry_telefone_busca.pack() button_buscar = tk.Button(window, text='Buscar', command=buscar_por_telefone) button_buscar.pack() label_mes = tk.Label(window, text='Mês (1-12):') label_mes.pack() combo_mes = tk.Entry(window) combo_mes.pack() button_aniversariantes = tk.Button(window, text='Aniversariantes do Mês', command=aniversariantes_mes) button_aniversariantes.pack() button_listar = tk.Button(window, text='Listar Contatos', command=listar_contatos) button_listar.pack() window.mainloop()
  3. Alguém entende como fazer essa atividade? Estou tendo dificuldade. Está faltando a barra de rolagem Tudo no gráfico Campos: nome, telefone, data de nascimento. Registros: no mínimo 20. Relatórios: - listagem completa (nome (ordem alfabética), telefone, data de nascimento) - Buscar por telefone (retorna o nome) - Apresentar os aniversariantes do mês específico (nome, telefone, dia(em ordem crescente)) trabalho RAD av2.rar

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!