m →Fase II Etiqueta: visualeditor |
m →Fase II Etiqueta: visualeditor |
||
| Linha 2 011: | Linha 2 011: | ||
* O que vocês fariam se fossem evoluir neste código? | * O que vocês fariam se fossem evoluir neste código? | ||
** Melhorar o sistema de autenticação (corrigir erro de autentificar com a senha de outra pessoa) | ** Melhorar o sistema de autenticação (corrigir erro de autentificar com a senha de outra pessoa) | ||
** Verificador de número de telefone | ** Verificador de número de telefone (Cadastro) | ||
** Verificador de turno (Cadastro) | |||
** Verificador de carga horária (Limite de 8 hrs diárias) | |||
** Utilizar as datas de entrada e saída para calcular o salário pela assiduidade | |||
** Calcular salário de horas extras e de turnos diferentes | |||
** Automatizar o cálculo de horas extras pelos dados de entrada e saída | |||
** Usar outro gerenciador de banco de dados (Substituir o sqlite3) | ** Usar outro gerenciador de banco de dados (Substituir o sqlite3) | ||
** Otimizar o sistema | ** Otimizar o sistema | ||
Edição atual tal como às 19h54min de 30 de junho de 2016
Código
<syntaxhighlight lang="python3" line="1">
- -*- coding: utf-8 -*-
import sys import time import sqlite3
def arqexi(texto):
try:
arq = open(texto, "r")
arq.close()
return True
except IOError:
return False
def cpfv(a, b, c, d, e, f, g, h, i, j, k):
cpf = [str(a), str(b), str(c), str(d), str(e), str(f), str(g), str(h), str(i), str(j), str(k)]
A = a * 10 + b * 9 + c * 8 + d * 7 + e * 6 + f * 5 + g * 4 + h * 3 + i * 2
resto1 = A % 11
if resto1 == 0 or resto1 == 1:
j_ = 0
pass
else:
j_ = 11 - resto1
pass
B = a * 11 + b * 10 + c * 9 + d * 8 + e * 7 + f * 6 + g * 5 + h * 4 + i * 3 + j_ * 2
resto2 = B % 11
if resto2 == 0 or resto2 == 1:
k_ = 0
pass
else:
k_ = 11 - resto2
cpfv_ = [str(a), str(b), str(c), str(d), str(e), str(f), str(g), str(h), str(i), str(j_), str(k_)]
if cpf == cpfv_:
return True
else:
return False
def datav(m1, d1, a1):
anos = []
for i in range(1800, 3000, 4):
if i % 100 == 0:
if i % 400 == 0:
anos.append(i)
elif i % 4 == 0:
anos.append(i)
if m1 == 1 or m1 == 3 or m1 == 5 or m1 == 7 or m1 == 8 or m1 == 10 or m1 == 12:
if d1 <= 31 and d1 > 0:
return True
elif d1 > 31 and d1 < 0:
return False
elif m1 == 4 or m1 == 6 or m1 == 9 or m1 == 11:
if d1 <= 30 and d1 > 0:
return True
elif d1 > 30 and d1 < 0:
return True
elif m1 == 2:
if a1 in anos:
if d1 <= 29 and d1 > 0:
return True
elif d1 > 29 and d1 < 0:
return False
else:
if d1 <= 28 and d1 > 0:
return True
elif d1 > 28 and d1 < 0:
return False
else:
return False
aq = arqexi('tabela.db')
if not aq:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE adms (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_nascimento TEXT NOT NULL,
cpf TEXT NOT NULL,
fone TEXT,
rg TEXT NOT NULL
);
""")
cursor.execute("""
CREATE TABLE cadastros (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_nascimento TEXT NOT NULL,
cpf TEXT NOT NULL,
fone TEXT,
email TEXT NOT NULL,
turno TEXT NOT NULL,
rg TEXT NOT NULL,
salario NUMERIC NOT NULL,
data_de_admissao DATE NOT NULL
);
""")
cursor.execute("""
CREATE TABLE entrada (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_entrada TEXT NOT NULL,
horario_de_entrada TEXT NOT NULL
);
""")
cursor.execute("""
CREATE TABLE saida (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_saida TEXT NOT NULL,
horario_de_saida TEXT NOT NULL
);
""")
print('Tabelas criadas com sucesso.')
print('Cadastre o adm')
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
if aysn == "n" or aysn == "N":
while aysn == "n" or aysn == "N":
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
elif aysn == "s" or aysn == "S":
pass
usu = input('Insira seu nome de usuário: ')
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
if aysu == "n" or aysu == "N":
while aysu == "n" or aysu == "N":
usu = input("Insira seu nome de usuário: ")
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
elif aysu == "s" or aysu == "S":
pass
passw = input('Insira sua senha: ')
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
if aysps == "n" or aysps == "N":
while aysps == "n" or aysps == "N":
passw = input("Insira sua senha: ")
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
elif aysps == "s" or aysps == "S":
pass
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (
str(data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
if aysb == "n" or aysb == "N":
while aysb == "n" or aysb == "N":
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/":
while len(b) != 10 or b[2] != "/" or b[5] != "/":
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (str(
data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[
9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
elif aysb == "s" or aysb == "S":
pass
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[2] == cpf[
4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while not veri:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[10] + cpf[
11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n ?: ")
if aysc == "n" or aysc == "N":
while aysc == "n" or aysc == "N":
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while veri != True:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == \
cpf[1] == cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[
10] + cpf[11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n?: ")
elif aysc == "s" or aysc == "S":
pass
p_fone = input('Fone(XX)XXXX-XXXX: ')
if len(p_fone) == 14:
if p_fone[4] == '9':
pass
elif p_fone[4] != '9':
while p_fone[4] != '9':
print('Telefone inválido')
p_fone = input('Fone(XX)XXXX-XXXX: ')
elif len(p_fone) < 13:
while len(p_fone) < 13:
print('Por favor, verifique seu telefone')
p_fone = input('Fone(XX)XXXX-XXXX: ')
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
if aysrg == 'n' or aysrg == 'N':
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
else:
pass
cursor.execute("""
INSERT INTO adms (nome, usuario, senha, data_de_nascimento, cpf, fone, rg)
VALUES (?,?,?,?,?,?,?)
""", (nome, usu, passw, br, cp, p_fone, p_rg))
conn.commit()
print('Dados inseridos com sucesso.')
conn.close()
else:
pass
while True:
usuhellow = (input('Digite seu usuário: '))
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
usu1 = []
pass1 = []
pass2=[]
usu2 = []
cursor.execute("""
SELECT usuario FROM cadastros
""")
for linha in cursor.fetchall():
usu2.append(linha[0])
cursor.execute("""
SELECT senha FROM cadastros
""")
for linha in cursor.fetchall():
pass2.append(linha[0])
cursor.execute("""
SELECT usuario FROM adms
""")
for linha1 in cursor.fetchall():
usu1.append(linha1[0])
cursor.execute("""
SELECT senha FROM adms
""")
for linha1 in cursor.fetchall():
pass1.append(linha1[0])
if usuhellow not in usu1 and usuhellow not in usu2:
while usuhellow not in usu1 and usuhellow not in usu2:
print('Usuario não cadastrado')
usuhellow = (input('Digite seu usuário novamente: '))
if usuhellow in usu2:
passhellow = input('Digite sua senha: ')
if passhellow not in pass2:
while passhellow not in pass2:
print('Senha incorreta')
passhellow = input('Digite novamente sua senha: ')
pass
if passhellow in pass2:
while True:
funcv = {}
funv={}
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
calendario = ['Ano', 'Mês', 'Dia', 'Hora', 'Minuto', 'Segundo']
a12 = list(time.localtime())
dic = {}
for i in range(6):
dic[calendario[i]] = a12[i]
i -= 1
data = '{0}/{1}/{2}'.format(dic['Dia'], dic['Mês'], dic['Ano'])
horario = '{0}:{1}:{2}'.format(dic['Hora'], dic['Minuto'], dic['Segundo'])
cursor.execute('SELECT * FROM entrada')
for l in cursor.fetchall():
funcv[l[1]](l[1])
funcv[l[1]](l[3])
cursor.execute('SELECT * FROM saida')
for l in cursor.fetchall():
funv[l[1]](l[1])
funv[l[1]](l[3])
if data in funcv[usuhellow]:
cursor.execute("""
INSERT INTO saida (usuario, senha, data_de_saida, horario_de_saida)
VALUES (?,?,?,?)
""", (usuhellow, passhellow, data, horario))
conn.commit()
saida = str('O funcionário ' + usuhellow + ' saiu dia ' + data + ' às ' + horario)
print(saida)
elif data not in funcv[usuhellow]:
cursor.execute("""
INSERT INTO entrada (usuario, senha, data_de_entrada, horario_de_entrada)
VALUES (?,?,?,?)
""", (usuhellow, passhellow, data, horario))
conn.commit()
saida = str('O funcionário ' + usuhellow + ' entrou dia ' + data + ' às ' + horario)
print(saida)
elif data in funv:
print('O funcionário já saiu')
conn.close()
sys.exit(':)')
elif usuhellow in usu1:
passhellow1 = input('Digite sua senha: ')
if passhellow1 not in pass1:
while passhellow1 not in pass1:
print('Senha incorreta')
passhellow1 = input('Digite novamente sua senha: ')
pass
if passhellow1 in pass1:
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
print(80 * '=')
hello = 'Bem vindo ao gerenciador de expediente'
print(hello.center(80, ' '))
print('Digite:\n1 Cadastrar\n2 Atualizar dados\n3 Deletar\n4 Listar funcionários\n5 Gerar folha de pagamento\n6 Listar folhas de pagamento\n9 Sair')
opc = input('=> ')
if opc == '1':
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
if aysn == "n" or aysn == "N":
while aysn == "n" or aysn == "N":
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
elif aysn == "s" or aysn == "S":
pass
usu = input('Insira seu nome de usuário: ')
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
if aysu == "n" or aysu == "N":
while aysu == "n" or aysu == "N":
usu = input("Insira seu nome de usuário: ")
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
elif aysu == "s" or aysu == "S":
pass
passw = input('Insira sua senha: ')
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
if aysps == "n" or aysps == "N":
while aysps == "n" or aysps == "N":
passw = input("Insira sua senha: ")
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
elif aysps == "s" or aysps == "S":
pass
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (
str(data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
if aysb == "n" or aysb == "N":
while aysb == "n" or aysb == "N":
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/":
while len(b) != 10 or b[2] != "/" or b[5] != "/":
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (str(
data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[
9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
elif aysb == "s" or aysb == "S":
pass
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[2] == cpf[
4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while not veri:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[10] + cpf[
11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n ?: ")
if aysc == "n" or aysc == "N":
while aysc == "n" or aysc == "N":
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while veri != True:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == \
cpf[1] == cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[
10] + cpf[11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n?: ")
elif aysc == "s" or aysc == "S":
pass
email = (input('e-mail: '))
emailv=[]
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
cursor.execute("SELECT email FROM cadastros;")
for l in cursor.fetchall():
emailv.append(l[0])
if email in emailv:
while email in emailv:
print('Usuário já cadastrado')
email=input('Digite outro e-mail: ')
if '@' in email:
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
if aysem == 's' or aysem == 'S':
pass
elif aysem == 'n' or aysem == 'N':
while aysem == 's' or aysem == 'S':
email = (input('e-mail: '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
elif '@' not in email:
while '@' not in email:
print('e-mail inválido, porfavor digite novamente')
email = (input('=> '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
if aysem == 's' or aysem == 'S':
pass
elif aysem == 'n' or aysem == 'N':
while aysem == 's' or aysem == 'S':
email = (input('e-mail: '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
p_fone = input('Fone(XX)XXXX-XXXX: ')
if len(p_fone) == 14:
if p_fone[4] == '9':
pass
elif p_fone[4] != '9':
while p_fone[4] != '9':
print('Telefone inválido')
p_fone = input('Fone(XX)XXXX-XXXX: ')
elif len(p_fone) < 13:
while len(p_fone) < 13:
print('Por favor, verifique seu telefone')
p_fone = input('Fone(XX)XXXX-XXXX: ')
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
if aysrg == 'n' or aysrg == 'N':
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
else:
pass
print('Turno (início "xx:xx/xx:xx" fim), no formato de 24 horas')
turno = input('=> ')
if '/' not in turno or ':' not in turno or len(turno)!=11:
while '/' not in turno or ':' not in turno or len(turno)!=11:
print('Turno inválido')
turno = input('Digite o turno novamente(início "xx:xx/xx:xx" fim): ')
print(turno)
print('Tem certeza ?')
aystr = input('s/n?: ')
if aystr == 'n' or aystr == 'N':
while aystr == 'n' or aystr == 'N':
print('Turno (início "xx:xx/xx:xx" fim), no formato de 24 horas')
turno = (input('=> '))
if '/' not in turno or ':' not in turno or len(turno)!=11:
while '/' not in turno or ':' not in turno or len(turno)!=11:
print('Turno inválido')
turno = input('Digite o turno novamente(início "xx:xx/xx:xx" fim): ')
elif aystr == 's' or aystr == 'S':
pass
salario = float(input('Salário: R$ '))
print(salario)
print('Tem certeza ?')
ayssl = input('s/n?: ')
if ayssl == 'n' or ayssl == 'N':
while ayssl == 'n' or ayssl == 'N':
salario = float(input('Salário: R$ '))
elif ayssl == 's' or ayssl == 'S':
pass
dic = {}
a12 = list(time.localtime())
calendario = ['Ano', 'Mês', 'Dia', 'Hora', 'Minuto', 'Segundo']
for i in range(6):
dic[calendario[i]] = a12[i]
i -= 1
dataadm = '{0}/{1}/{2}'.format(dic['Dia'], dic['Mês'], dic['Ano'])
cursor.execute("""
INSERT INTO cadastros (nome, usuario, senha, data_de_nascimento, cpf, fone, rg, turno, email, salario, data_de_admissao)
VALUES (?,?,?,?,?,?,?,?,?,?,?)
""", (nome, usu, passw, br, cp, p_fone, p_rg, turno, email, salario, dataadm))
conn.commit()
print('Dados inseridos com sucesso.')
conn.close()
elif opc == '42':
import turtle
import math
import random
wn = turtle.Screen()
wn.bgcolor('black')
Albert = turtle.Turtle()
Albert.speed(0)
Albert.color('white')
rotate=int(360)
def drawCircles(t,size):
for i in range(10):
t.circle(size)
size=size-4
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Albert,100,10)
Steve = turtle.Turtle()
Steve.speed(0)
Steve.color('yellow')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-10
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Steve,100,10)
Barry = turtle.Turtle()
Barry.speed(0)
Barry.color('blue')
rotate=int(80)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-5
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Barry,100,10)
Terry = turtle.Turtle()
Terry.speed(0)
Terry.color('orange')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-19
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Terry,100,10)
Will = turtle.Turtle()
Will.speed(0)
Will.color('pink')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-20
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Will,100,10)
elif opc == '2':
cursor.execute("""
SELECT * FROM cadastros;
""")
ids = []
for linha in cursor.fetchall():
print('Funcionário: {0} ---- ID: {1}'.format(linha[1], linha[0]))
ids.append(linha[0])
id_cliente = int(input('Digite o id do funcionário: '))
if id_cliente in ids:
pass
else:
while id_cliente not in ids:
id_cliente = int(input('Digite o id do funcionário: '))
novo_usuario = input('Digite o novo nome de usuário: ')
novo_fone = input('Digite o novo nº de telefone (XX)XXXX-XXXX: ')
nova_senha = input('Digite a nova senha: ')
cursor.execute(
UPDATE cadastros
SET usuario = ?, senha = ?, fone = ?
WHERE id = ?
, (novo_usuario, nova_senha, novo_fone, id_cliente))
conn.commit()
print('Dados atualizados com sucesso.')
conn.close()
elif opc == '3':
cursor.execute("""
SELECT * FROM cadastros;
""")
ids = []
for linha in cursor.fetchall():
print('Funcionário: {0} ---- ID: {1}'.format(linha[1], linha[0]))
ids.append(linha[0])
id_cliente = int(input('Digite o id do funcionário: '))
if id_cliente in ids:
pass
else:
while id_cliente not in ids:
id_cliente = int(input('Digite o id do funcionário: '))
cursor.execute("""
DELETE FROM cadastros
WHERE id = ?
""", (id_cliente,))
conn.commit()
print('Registro excluido com sucesso.')
conn.close()
elif opc == '4':
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
print('Digite o nome (no mínimo 3 letras) ou 9 para sair')
pesq = input('=> ')
if pesq == '9':
break
if len(pesq) < 3:
while len(pesq) < 3:
print('No mínimo 3 letras')
pesq = input('=> ')
cursor.execute('SELECT * FROM cadastros WHERE nome LIKE "%{}%"'.format(pesq))
for lista in cursor.fetchall():
listagem = '\nFuncionário: {}\nUsuário: {}\nTelefone: {}\ne-mail: {}\nCPF: {}\nRG: {}\nData de nascimento: {}\nData de admissão: {}\nSalário: {}\n\n'.format(
lista[1], lista[2], lista[6], lista[7], lista[5], lista[9], lista[4], lista[11], lista[10])
print(listagem.center(80,' '))
conn.close()
elif opc == '5':
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
pesq1 = input('Digite o nome ou 9 para sair: ')
if pesq1 == '9':
break
else:
pass
cursor.execute('SELECT salario, nome FROM cadastros WHERE nome LIKE "%{}%"'.format(pesq1))
for l in cursor.fetchall():
salario = float(l[0])
nome = l[1]
if salario <= 1556.98:
salinss = (salario*(8/100))
pinss = 8
elif 1556.98 < salario <= 2594.92:
salinss = (salario * (9/100))
pinss = 9
elif 2594.92 < salario <= 5189.82:
salinss = (salario * (11/100))
pinss = 11
elif salario > 5189.82:
salinss = 570.88
pinss = '-'
else:
pass
base = salario - salinss
if base <= 1903.98:
salir = 0
pir = 0
elif 1903.98 < base <= 2826.65:
salir = (base*(7.5/100)-142.8)
pir = 7.5
elif 2826.65 < base <= 3751.05:
salir = (base*(15/100)-354.8)
pir = 15
elif 3751.05 < base <= 4664.68:
salir = (base*(22.5/100)-636.13)
pir = 22.5
elif base > 4664.68:
salir = (base*(27.5/100)-869.36)
pir = 27.5
if salir == 0:
salf = salario - salinss
else:
salf = salario - salinss - salir
resu = ('\n{}\nFuncionário: {}\nSalário Bruto:R$ {}\nINSS:R$ {} ({}%)\nIRRF:R$ {} ({}%)\nSoma dos descontos:R$ {}\nSalário líquido:R$ {}\n{}'.format(80*'*',nome,salario,'%.2f'%(salinss),pinss,'%.2f'%(salir),pir,'%.2f'%(salinss + salir),'%.2f'%salf,80*'*'))
print(resu.center(80,' '))
conn.close()
elif opc == '6':
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
cursor.execute('SELECT salario, nome FROM cadastros ORDER BY nome')
sl = []
nqm = []
slt = []
slb = []
for l in cursor.fetchall():
sl.append(float(l[0]))
nqm.append(l[1])
for i in range(len(sl)):
if sl[i] <= 1556.98:
salinss = (sl[i] * (8/100))
pinss = 8
elif 1556.98 < sl[i] <= 2594.92:
salinss = (sl[i] * (9/100))
pinss = 9
elif 2594.92 < sl[i] <= 5189.82:
salinss = (sl[i] * (11/100))
pinss = 11
elif sl[i] > 5189.82:
salinss = 570.88
pinss = '-'
else:
pass
base = sl[i] - salinss
if base <= 1903.98:
salir = 0
pir = 0
elif 1903.98 < base <= 2826.65:
salir = (base*(7.5/100)-142.8)
pir = 7.5
elif 2826.65 < base <= 3751.05:
salir = (base*(15/100)-354.8)
pir = 15
elif 3751.05 < base <= 4664.68:
salir = (base*(22.5/100)-636.13)
pir = 22.5
elif base > 4664.68:
salir = (base*(27.5/100)-869.36)
pir = 27.5
if salir == 0:
salf = sl[i] - salinss
else:
salf = sl[i] - salinss - salir
slt.append(salf)
slb.append(sl[i])
resu1 = ('\nFuncionário: {}\nSalário Bruto:R$ {}\nINSS:R$ {} ({}%)\nIRRF:R$ {} ({}%)\nSoma dos descontos: R$ {}\nSalário líquido:R$ {}\n{}'.format(nqm[i],sl[i],'%.2f'%(salinss),pinss,'%.2f'%(salir),pir,'%.2f'%(salinss + salir),'%.2f'%salf,80*'*'))
print(resu1.center(80,' '))
print(80*'=')
print('Soma líquida total = R$ %.2f'%sum(slt))
print('Soma bruta total = R$ %.2f'%sum(slb))
conn.close()
elif opc == '9':
print(':)')
break
</syntaxhighlight>
<syntaxhighlight lang="python3">
- -*- coding: utf-8 -*-
import sys import time import sqlite3
def arqexi(texto):
try:
arq = open(texto, "r")
arq.close()
return True
except IOError:
return False
def cpfv(a, b, c, d, e, f, g, h, i, j, k):
cpf = [str(a), str(b), str(c), str(d), str(e), str(f), str(g), str(h), str(i), str(j), str(k)]
A = a * 10 + b * 9 + c * 8 + d * 7 + e * 6 + f * 5 + g * 4 + h * 3 + i * 2
resto1 = A % 11
if resto1 == 0 or resto1 == 1:
j_ = 0
pass
else:
j_ = 11 - resto1
pass
B = a * 11 + b * 10 + c * 9 + d * 8 + e * 7 + f * 6 + g * 5 + h * 4 + i * 3 + j_ * 2
resto2 = B % 11
if resto2 == 0 or resto2 == 1:
k_ = 0
pass
else:
k_ = 11 - resto2
cpfv_ = [str(a), str(b), str(c), str(d), str(e), str(f), str(g), str(h), str(i), str(j_), str(k_)]
if cpf == cpfv_:
return True
else:
return False
def datav(m1, d1, a1):
anos = []
for i in range(1800, 3000, 4):
if i % 100 == 0:
if i % 400 == 0:
anos.append(i)
elif i % 4 == 0:
anos.append(i)
if m1 == 1 or m1 == 3 or m1 == 5 or m1 == 7 or m1 == 8 or m1 == 10 or m1 == 12:
if d1 <= 31 and d1 > 0:
return True
elif d1 > 31 and d1 < 0:
return False
elif m1 == 4 or m1 == 6 or m1 == 9 or m1 == 11:
if d1 <= 30 and d1 > 0:
return True
elif d1 > 30 and d1 < 0:
return True
elif m1 == 2:
if a1 in anos:
if d1 <= 29 and d1 > 0:
return True
elif d1 > 29 and d1 < 0:
return False
else:
if d1 <= 28 and d1 > 0:
return True
elif d1 > 28 and d1 < 0:
return False
else:
return False
aq = arqexi('tabela.db')
if not aq:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE adms (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_nascimento TEXT NOT NULL,
cpf TEXT NOT NULL,
fone TEXT,
rg TEXT NOT NULL
);
""")
cursor.execute("""
CREATE TABLE cadastros (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_nascimento TEXT NOT NULL,
cpf TEXT NOT NULL,
fone TEXT,
email TEXT NOT NULL,
turno TEXT NOT NULL,
rg TEXT NOT NULL,
salario NUMERIC NOT NULL,
data_de_admissao DATE NOT NULL
);
""")
cursor.execute("""
CREATE TABLE entrada (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_entrada TEXT NOT NULL,
horario_de_entrada TEXT NOT NULL
);
""")
cursor.execute("""
CREATE TABLE saida (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
data_de_saida TEXT NOT NULL,
horario_de_saida TEXT NOT NULL
);
""")
print('Tabelas criadas com sucesso.')
print('Cadastre o adm')
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
if aysn == "n" or aysn == "N":
while aysn == "n" or aysn == "N":
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
elif aysn == "s" or aysn == "S":
pass
usu = input('Insira seu nome de usuário: ')
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
if aysu == "n" or aysu == "N":
while aysu == "n" or aysu == "N":
usu = input("Insira seu nome de usuário: ")
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
elif aysu == "s" or aysu == "S":
pass
passw = input('Insira sua senha: ')
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
if aysps == "n" or aysps == "N":
while aysps == "n" or aysps == "N":
passw = input("Insira sua senha: ")
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
elif aysps == "s" or aysps == "S":
pass
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (
str(data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
if aysb == "n" or aysb == "N":
while aysb == "n" or aysb == "N":
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/":
while len(b) != 10 or b[2] != "/" or b[5] != "/":
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (str(
data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[
9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
elif aysb == "s" or aysb == "S":
pass
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[2] == cpf[
4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while not veri:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[10] + cpf[
11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n ?: ")
if aysc == "n" or aysc == "N":
while aysc == "n" or aysc == "N":
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while veri != True:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == \
cpf[1] == cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[
10] + cpf[11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n?: ")
elif aysc == "s" or aysc == "S":
pass
p_fone = input('Fone(XX)XXXX-XXXX: ')
if len(p_fone) == 14:
if p_fone[4] == '9':
pass
elif p_fone[4] != '9':
while p_fone[4] != '9':
print('Telefone inválido')
p_fone = input('Fone(XX)XXXX-XXXX: ')
elif len(p_fone) < 13:
while len(p_fone) < 13:
print('Por favor, verifique seu telefone')
p_fone = input('Fone(XX)XXXX-XXXX: ')
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
if aysrg == 'n' or aysrg == 'N':
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
else:
pass
cursor.execute("""
INSERT INTO adms (nome, usuario, senha, data_de_nascimento, cpf, fone, rg)
VALUES (?,?,?,?,?,?,?)
""", (nome, usu, passw, br, cp, p_fone, p_rg))
conn.commit()
print('Dados inseridos com sucesso.')
conn.close()
else:
pass
while True:
usuhellow = (input('Digite seu usuário: '))
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
usu1 = []
pass1 = []
pass2=[]
usu2 = []
cursor.execute("""
SELECT usuario FROM cadastros
""")
for linha in cursor.fetchall():
usu2.append(linha[0])
cursor.execute("""
SELECT senha FROM cadastros
""")
for linha in cursor.fetchall():
pass2.append(linha[0])
cursor.execute("""
SELECT usuario FROM adms
""")
for linha1 in cursor.fetchall():
usu1.append(linha1[0])
cursor.execute("""
SELECT senha FROM adms
""")
for linha1 in cursor.fetchall():
pass1.append(linha1[0])
if usuhellow not in usu1 and usuhellow not in usu2:
while usuhellow not in usu1 and usuhellow not in usu2:
print('Usuario não cadastrado')
usuhellow = (input('Digite seu usuário novamente: '))
if usuhellow in usu2:
passhellow = input('Digite sua senha: ')
if passhellow not in pass2:
while passhellow not in pass2:
print('Senha incorreta')
passhellow = input('Digite novamente sua senha: ')
pass
if passhellow in pass2:
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
calendario = ['Ano', 'Mês', 'Dia', 'Hora', 'Minuto', 'Segundo']
a12 = list(time.localtime())
dic = {}
for i in range(6):
dic[calendario[i]] = a12[i]
i -= 1
data = '{0}/{1}/{2}'.format(dic['Dia'], dic['Mês'], dic['Ano'])
horario = '{0}:{1}:{2}'.format(dic['Hora'], dic['Minuto'], dic['Segundo'])
cursor.execute("""
INSERT INTO entrada (usuario, senha, data_de_entrada, horario_de_entrada)
VALUES (?,?,?,?)
""", (usuhellow, passhellow, data, horario))
conn.commit()
saida = str('O funcionário ' + usuhellow + ' entrou dia ' + data + ' às ' + horario)
print(saida)
conn.close()
sys.exit(':)')
elif usuhellow in usu1:
passhellow1 = input('Digite sua senha: ')
if passhellow1 not in pass1:
while passhellow1 not in pass1:
print('Senha incorreta')
passhellow1 = input('Digite novamente sua senha: ')
pass
if passhellow1 in pass1:
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
print(80 * '=')
hello = 'Bem vindo ao gerenciador de expediente'
print(hello.center(80, ' '))
print('Digite:\n1 Cadastrar\n2 Atualizar dados\n3 Deletar\n4 Listar funcionários\n5 Gerar folha de pagamento\n6 Listar folhas de pagamento\n9 Sair')
opc = input('=> ')
if opc == '1':
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
if aysn == "n" or aysn == "N":
while aysn == "n" or aysn == "N":
nome = input("Insira o nome: ")
print(nome)
print("Tem certeza ?")
aysn = input("s/n ?: ")
elif aysn == "s" or aysn == "S":
pass
usu = input('Insira seu nome de usuário: ')
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
if aysu == "n" or aysu == "N":
while aysu == "n" or aysu == "N":
usu = input("Insira seu nome de usuário: ")
print(usu)
print("Tem certeza ?")
aysu = input("s/n ?: ")
elif aysu == "s" or aysu == "S":
pass
passw = input('Insira sua senha: ')
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
if aysps == "n" or aysps == "N":
while aysps == "n" or aysps == "N":
passw = input("Insira sua senha: ")
print(passw)
print("Tem certeza ?")
aysps = input("s/n ?: ")
elif aysps == "s" or aysps == "S":
pass
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
m1 = int(data[3] + data[4])
d1 = int(data[0] + data[1])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (
str(data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
if aysb == "n" or aysb == "N":
while aysb == "n" or aysb == "N":
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
while len(b) != 10 or b[2] != "/" or b[5] != "/" or b[6] == b[7] == b[8] == b[9]:
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
if d:
pass
else:
while not d:
print("Data inválida")
b = list(input("Data de nascimento(DD/MM/YYYY): "))
if len(b) != 10 or b[2] != "/" or b[5] != "/":
while len(b) != 10 or b[2] != "/" or b[5] != "/":
print("Por favor, verifique a data de nascimento")
b = input("Data de nascimento(DD/MM/YYYY): ")
data = b
d1 = int(data[0] + data[1])
m1 = int(data[3] + data[4])
a1 = int(data[6] + data[7] + data[8] + data[9])
d = datav(m1, d1, a1)
br = (str(
data[0] + data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7] + data[8] + data[
9]))
print(br)
print("Tem certeza ?")
aysb = input("s/n?: ")
elif aysb == "s" or aysb == "S":
pass
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[2] == cpf[
4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while not veri:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[10] + cpf[
11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n ?: ")
if aysc == "n" or aysc == "N":
while aysc == "n" or aysc == "N":
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == cpf[
2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
if not veri:
print("CPF inválido")
while veri != True:
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
if len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == cpf[1] == \
cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
while len(cpf) != 14 or cpf[3] != "." or cpf[7] != "." or cpf[11] != "-" or cpf[0] == \
cpf[1] == cpf[2] == cpf[4] == cpf[5] == cpf[6] == cpf[8] == cpf[9] == cpf[10]:
print("Por favor, verifique o CPF")
cpf = list(input("CPF(XXX.XXX.XXX-XX): "))
else:
pass
a = int(cpf[0])
b = int(cpf[1])
c = int(cpf[2])
d = int(cpf[4])
e = int(cpf[5])
f = int(cpf[6])
g = int(cpf[8])
h = int(cpf[9])
i = int(cpf[10])
j = int(cpf[12])
k = int(cpf[13])
veri = cpfv(a, b, c, d, e, f, g, h, i, j, k)
pass
cp = (str(
cpf[0] + cpf[1] + cpf[2] + cpf[3] + cpf[4] + cpf[5] + cpf[6] + cpf[7] + cpf[8] + cpf[9] + cpf[
10] + cpf[11] + cpf[12] + cpf[13]))
print(cp)
print("Tem certeza ?")
aysc = input("s/n?: ")
elif aysc == "s" or aysc == "S":
pass
email = (input('e-mail: '))
emailv=[]
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
cursor.execute("SELECT email FROM cadastros;")
for l in cursor.fetchall():
emailv.append(l[0])
if email in emailv:
while email in emailv:
print('Usuário já cadastrado')
email=input('Digite outro e-mail: ')
if '@' in email:
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
if aysem == 's' or aysem == 'S':
pass
elif aysem == 'n' or aysem == 'N':
while aysem == 's' or aysem == 'S':
email = (input('e-mail: '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
elif '@' not in email:
while '@' not in email:
print('e-mail inválido, porfavor digite novamente')
email = (input('=> '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
if aysem == 's' or aysem == 'S':
pass
elif aysem == 'n' or aysem == 'N':
while aysem == 's' or aysem == 'S':
email = (input('e-mail: '))
print(email)
print('Tem certeza ?')
aysem = input('s/n?: ')
p_fone = input('Fone(XX)XXXX-XXXX: ')
if len(p_fone) == 14:
if p_fone[4] == '9':
pass
elif p_fone[4] != '9':
while p_fone[4] != '9':
print('Telefone inválido')
p_fone = input('Fone(XX)XXXX-XXXX: ')
elif len(p_fone) < 13:
while len(p_fone) < 13:
print('Por favor, verifique seu telefone')
p_fone = input('Fone(XX)XXXX-XXXX: ')
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
if aysrg == 'n' or aysrg == 'N':
p_rg = input('RG: ')
print(p_rg)
print('Tem certeza ?')
aysrg = input('s/n?: ')
else:
pass
print('Turno (início "xx:xx/xx:xx" fim), no formato de 24 horas')
turno = input('=> ')
if '/' not in turno or ':' not in turno or len(turno)!=11:
while '/' not in turno or ':' not in turno or len(turno)!=11:
print('Turno inválido')
turno = input('Digite o turno novamente(início "xx:xx/xx:xx" fim): ')
print(turno)
print('Tem certeza ?')
aystr = input('s/n?: ')
if aystr == 'n' or aystr == 'N':
while aystr == 'n' or aystr == 'N':
print('Turno (início "xx:xx/xx:xx" fim), no formato de 24 horas')
turno = (input('=> '))
if '/' not in turno or ':' not in turno or len(turno)!=11:
while '/' not in turno or ':' not in turno or len(turno)!=11:
print('Turno inválido')
turno = input('Digite o turno novamente(início "xx:xx/xx:xx" fim): ')
elif aystr == 's' or aystr == 'S':
pass
salario = float(input('Salário: R$ '))
print(salario)
print('Tem certeza ?')
ayssl = input('s/n?: ')
if ayssl == 'n' or ayssl == 'N':
while ayssl == 'n' or ayssl == 'N':
salario = float(input('Salário: R$ '))
elif ayssl == 's' or ayssl == 'S':
pass
dic = {}
a12 = list(time.localtime())
calendario = ['Ano', 'Mês', 'Dia', 'Hora', 'Minuto', 'Segundo']
for i in range(6):
dic[calendario[i]] = a12[i]
i -= 1
dataadm = '{0}/{1}/{2}'.format(dic['Dia'], dic['Mês'], dic['Ano'])
cursor.execute("""
INSERT INTO cadastros (nome, usuario, senha, data_de_nascimento, cpf, fone, rg, turno, email, salario, data_de_admissao)
VALUES (?,?,?,?,?,?,?,?,?,?,?)
""", (nome, usu, passw, br, cp, p_fone, p_rg, turno, email, salario, dataadm))
conn.commit()
print('Dados inseridos com sucesso.')
conn.close()
elif opc == '42':
import turtle
import math
import random
wn = turtle.Screen()
wn.bgcolor('black')
Albert = turtle.Turtle()
Albert.speed(0)
Albert.color('white')
rotate=int(360)
def drawCircles(t,size):
for i in range(10):
t.circle(size)
size=size-4
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Albert,100,10)
Steve = turtle.Turtle()
Steve.speed(0)
Steve.color('yellow')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-10
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Steve,100,10)
Barry = turtle.Turtle()
Barry.speed(0)
Barry.color('blue')
rotate=int(80)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-5
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Barry,100,10)
Terry = turtle.Turtle()
Terry.speed(0)
Terry.color('orange')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-19
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Terry,100,10)
Will = turtle.Turtle()
Will.speed(0)
Will.color('pink')
rotate=int(90)
def drawCircles(t,size):
for i in range(4):
t.circle(size)
size=size-20
def drawSpecial(t,size,repeat):
for i in range (repeat):
drawCircles(t,size)
t.right(360/repeat)
drawSpecial(Will,100,10)
elif opc == '2':
cursor.execute("""
SELECT * FROM cadastros;
""")
ids = []
for linha in cursor.fetchall():
print('Funcionário: {0} ---- ID: {1}'.format(linha[1], linha[0]))
ids.append(linha[0])
id_cliente = int(input('Digite o id do funcionário: '))
if id_cliente in ids:
pass
else:
while id_cliente not in ids:
id_cliente = int(input('Digite o id do funcionário: '))
novo_usuario = input('Digite o novo nome de usuário: ')
novo_fone = input('Digite o novo nº de telefone (XX)XXXX-XXXX: ')
nova_senha = input('Digite a nova senha: ')
cursor.execute(
UPDATE cadastros
SET usuario = ?, senha = ?, fone = ?
WHERE id = ?
, (novo_usuario, nova_senha, novo_fone, id_cliente))
conn.commit()
print('Dados atualizados com sucesso.')
conn.close()
elif opc == '3':
cursor.execute("""
SELECT * FROM cadastros;
""")
ids = []
for linha in cursor.fetchall():
print('Funcionário: {0} ---- ID: {1}'.format(linha[1], linha[0]))
ids.append(linha[0])
id_cliente = int(input('Digite o id do funcionário: '))
if id_cliente in ids:
pass
else:
while id_cliente not in ids:
id_cliente = int(input('Digite o id do funcionário: '))
cursor.execute("""
DELETE FROM cadastros
WHERE id = ?
""", (id_cliente,))
conn.commit()
print('Registro excluido com sucesso.')
conn.close()
elif opc == '4':
while True:
conn = sqlite3.connect('tabela.db')
cursor = conn.cursor()
print('Digite o primeiro nome como foi cadastrado(no mínimo 4 letras) ou 9 para sair')
pesq = input('=> ')
if pesq == '9':
break
if len(pesq) < 4:
while len(pesq) < 4:
print('No mínimo 4 letras')
pesq = input('=> ')
cursor.execute('SELECT * FROM cadastros WHERE nome LIKE "{}%"'.format(pesq))
for lista in cursor.fetchall():
listagem = '\nFuncionário: {}\nUsuário: {}\nTelefone: {}\ne-mail: {}\nCPF: {}\nRG: {}\nData de nascimento: {}\nData de admissão: {}\nSalário: {}\n\n'.format(
lista[1], lista[2], lista[6], lista[7], lista[5], lista[9], lista[4], lista[11], lista[10])
print(listagem.center(80,' '))
conn.close()
elif opc == '5':
print('Ainda não implementado')
elif opc == '6':
print('Ainda não implementado')
elif opc == '9':
print(':)')
break
</syntaxhighlight>
Escopo
- Objetivo da aplicação
- Desenvolver um software que tenha a capacidade de ler dados decorrentes dos funcionários de uma empresa que apresenta três turnos de serviço (matutino, vespertino e noturno), bem como realizar o cadastro dos mesmos com informações pessoais necessárias para que seja admitido como funcionário (identidade, CPF, data de nascimento, carteira de motorista, carteira de trabalho, etc.). O armazenamento de dados dos funcionários será necessário para que seja calculado o salário final de cada um ao final de cada mês, baseando-se nas horas in itineres (horas extras) e as horas normais de serviço (de acordo com a Lei nº 10.243, de 19 de Junho de 2001), isto é, pelos registros dos horários de entrada e saída bem como dias de domingo e feriados.
- Desenvolver um software que tenha a capacidade de ler dados decorrentes dos funcionários de uma empresa que apresenta três turnos de serviço (matutino, vespertino e noturno), bem como realizar o cadastro dos mesmos com informações pessoais necessárias para que seja admitido como funcionário (identidade, CPF, data de nascimento, carteira de motorista, carteira de trabalho, etc.). O armazenamento de dados dos funcionários será necessário para que seja calculado o salário final de cada um ao final de cada mês, baseando-se nas horas in itineres (horas extras) e as horas normais de serviço (de acordo com a Lei nº 10.243, de 19 de Junho de 2001), isto é, pelos registros dos horários de entrada e saída bem como dias de domingo e feriados.
Entradas
- O que o sistemas receberá de dados?
- Ex: quais dados serão digitados via teclado
Identidade, CPF, data de nascimento, carteira de motorista, carteira de trabalho, email, nome de funcionário, senha para login dos funcionários da empresa.
Saídas
- O que será gerado de resultado impresso?
- Ex: quais dados serão publicados na tela ou no papel
Data e horário de entrada e saída de cada um dos funcionários e o salário final de cada um deles.
Armazenamento
- O que será gravado em arquivo
- Indentidade, CPF, data de nascimento, email, senha, carteira de motorista, carteira de trabalho e horas trabalhadas de acordo com os horários de entrada e saída bem como os dias trabalhados para cada um dos funcionários da empresa.
- Indentidade, CPF, data de nascimento, email, senha, carteira de motorista, carteira de trabalho e horas trabalhadas de acordo com os horários de entrada e saída bem como os dias trabalhados para cada um dos funcionários da empresa.
Cálculos
- O que será processado?
- Calcular o salário líquido final de acordo com o número de horas trabalhadas por dia.
- Calcular o salário líquido final de acordo com o número de horas trabalhadas por dia.
Fase II
- O que vocês fariam se fossem evoluir neste código?
- Melhorar o sistema de autenticação (corrigir erro de autentificar com a senha de outra pessoa)
- Verificador de número de telefone (Cadastro)
- Verificador de turno (Cadastro)
- Verificador de carga horária (Limite de 8 hrs diárias)
- Utilizar as datas de entrada e saída para calcular o salário pela assiduidade
- Calcular salário de horas extras e de turnos diferentes
- Automatizar o cálculo de horas extras pelos dados de entrada e saída
- Usar outro gerenciador de banco de dados (Substituir o sqlite3)
- Otimizar o sistema
Desenvolvedores
- Asaph Souza Diniz
- Camila Vieira Verardo
- João Vitor Pereira Leite
- Leticia de Almeira Takata
- Pedro Henrique Machado Rodrigues