Created
March 24, 2019 16:09
-
-
Save Ekoko-Clesh/f1ee4425aea346e9c3fe778f4a806e16 to your computer and use it in GitHub Desktop.
Agenda Telefonica
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!usr/bin/python3 | |
import sqlite3 | |
from time import sleep | |
import time | |
import os | |
from time import sleep | |
# caminho para criacao da base de dados | |
path = os.getcwd() | |
data = time.strftime('%d/%m/%y') | |
# cria base e dados | |
create_data_base = sqlite3.connect(path + '/cadastro.db') | |
connexion = create_data_base.cursor() | |
def banner(): | |
print('\033[1;33m=-=' * 20) | |
print('/* {:^55}*/\n'.format('AGENDA TELEFONICA')) | |
print('|{:^58}|\n'.format('O programa faz o cadastro de pessoa')) | |
print('|{:^58}|\n'.format('E armazena as informacoes numa Base de Dados')) | |
print('|{:^58}|\n'.format('Desenvolvido por => EKOKO CLESH')) | |
print('|[!] E-mail: ekokoclesh07@gmail.com |\n') | |
print('=-=' * 20) | |
def limpa_tela(): | |
os.system('cls') | |
# funcao que cria tabela | |
def create_table(): | |
connexion.execute('create table if not exists dados ( nome text, idade text, telefone text, endereco text, sexo char)') | |
# chamada da funcao que cria tabela | |
try: | |
limpa_tela() | |
create_table() | |
except Erro_ao_criar_bd: | |
print('Erro ao criar Banco de dados\n') | |
else: | |
print('Banco de Dados criado com sucesso\n') | |
# funcao para inserir dados na base de dados | |
def insert_data(n, i, t, e, s): | |
connexion.execute('insert into dados values(?,?,?,?,?)', (n, i, t, e, s)) | |
create_data_base.commit() | |
# funcao para procurar pessoas cadastradas | |
def search(): | |
limpa_tela() | |
while True: | |
print('\033[1;33PROCURAR:\n') | |
criterio = int(input('[1] - por nome\n[2] por sexo\n[3] por Telefone\n')) | |
if criterio == 1: | |
limpa_tela() | |
op = str(input('Nome: ')).lower().capitalize() | |
busca = 'select * from dados where nome = ?' | |
print('mDADOS DA PESSOA CADASTRADA\n') | |
for row in connexion.execute(busca, (op,)): | |
print(row) | |
elif criterio == 2: | |
limpa_tela() | |
while True: | |
sex = str(input('Sexo [M/F]: ')).strip().upper() | |
if sex in 'MF': | |
break | |
else: | |
print('Digite apenas [M/F]\n') | |
continue | |
busca = 'select * from dados where sexo = ?' | |
print('\033[1;33mDADOS DA PESSOA CADASTRADA\033[m\n') | |
for row in connexion.execute(busca, (sex,)): | |
print(row) | |
elif criterio == 3: | |
limpa_tela() | |
tel = int(input('Telefone: ')) | |
busca = 'select * from dados where telefone = ?' | |
for row in connexion.execute(busca, (tel,)): | |
print(row) | |
else: | |
limpa_tela() | |
print('Opcao invalida') | |
while True: | |
opc = str(input('\033[1;32mDeseja continuar? [S/N]\n')).strip().upper() | |
if opc not in 'SN': | |
print('Responda apenas [S/N]\n') | |
continue | |
else: | |
break | |
if opc == 'N': | |
break | |
else: | |
continue | |
print('\033[m') | |
# funcao para mostrar todas pessoas cadastradas | |
def pessoas(): | |
sq = 'select * from dados' | |
for row in connexion.execute(sq): | |
print(row) | |
# funcao para apagar pessoa no Banco de dados | |
def apagar(): | |
while True: | |
n = str(input('Nome que Pretende Deletar: 3')).strip().capitalize() | |
if len(n) >= 3: | |
break | |
else: | |
print('Digite nome valido\n') | |
continue | |
sq = 'delete from dados where nome = ?' | |
update = 'update dados' | |
for row in connexion.execute(sq, (n,)): | |
if row == n: | |
connexion.execute(sq, (row,)) | |
# inicio do programa principal | |
while True: | |
sleep(2) | |
limpa_tela() | |
banner() | |
opcao = int(input('''\033[1;32m | |
[1] para cadastrar | |
[2] Para procurar | |
[3] Para ver todas pessoas cadastradas | |
[4] Para deletar pessoa | |
[0] Para Sair\n''')) | |
if opcao == 1: | |
nome = idade = endereco = sexo = '' | |
telefone = 0 | |
try: | |
while True: | |
nome = str(input('Digite o nome: ')).lower().capitalize() | |
if len(nome) >= 3: | |
break | |
else: | |
continue | |
while True: | |
idade = str(input('Sua idade: ')) | |
if idade != '': | |
break | |
else: | |
print('Digite uma idade valida\n') | |
continue | |
telefone = int(input('\033[1;32mDigite seu contacto Telefonico: ')) | |
endereco = str(input('Endereco: ')).capitalize() | |
while True: | |
sexo = str(input('Sexo [M/F]: ')).strip().upper() | |
if sexo in 'MF': | |
break | |
except Erro_cadastro: | |
print('Erro ao cadastrar\n') | |
else: | |
print('Cadastrado com Sucesso\n') | |
# chamada da funcao que insere os dados na base de dados | |
insert_data(nome, idade + ' anos', telefone, endereco, sexo) | |
elif opcao == 2: | |
search() | |
elif opcao == 0: | |
print('Saindo', end='') | |
for i in range(1, 8): | |
print('.', end='') | |
sleep(0.5) | |
break | |
elif opcao == 3: | |
pessoas() | |
elif opcao == 4: | |
apagar() | |
else: | |
print('Opcao invalida') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment