TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Algoritmo de Cadastro com Validação de Datas

Por:   •  26/3/2019  •  Trabalho acadêmico  •  3.300 Palavras (14 Páginas)  •  187 Visualizações

Página 1 de 14

#!/usr/bin/python3

import struct

print('\nCADASTRO DE FUNCIONARIOS\n========================')

arquivo = open('arq_func.dat', 'wb') # guarda o arquivo que vai ser usado

i = 1

# ----------------------------------------------------------------------------------------------

# ----------------------VALIDAÇÃO DO CÓDIGO ------------------------------------

while True:

ind_grava = True

sairCod = False

print('\n%do. funcionário: \n' % i)

digita = 's'

while "s" == digita or digita == "S":

erro_cpo = False

codigo = input('Código...: ')

if codigo.isdigit(): # Isdigit() retorna False se o valor for negativo

codigo = int(codigo)

if codigo < 1: # Se o código for um inteiro não nulo

erro_cpo = True

else:

# se o codigo for 9999

if codigo == 9999:

sairCod = True

break

else:

erro_cpo = True

digita = '?'

if erro_cpo:

while digita != 's' and digita != 'S' and digita != 'n' and digita != 'N':

digita = input('Código inválido!\nInsira um valor maior que 0 ou digite 9999 para encerrar.\nDeseja digitar novamente? (s/n): ')

while digita != 's' and digita != 'S' and digita != 'n' and digita != 'N':

digita = input('Opção inválida!\nEscolha entre S ou N: ')

if "n" == digita or digita == 'N':

print('Digitação abandonada. ')

ind_grava = False

break

if sairCod: break

# ------------------------------------------------------------------------------------------------------

# -------------------VALIDAÇÃO DO NOME DO USUÁRIO-------------------------------

if ind_grava:

digita = 's'

while "s" == digita or digita == "S":

erro_cpo = False

tipoErro = ""

contLetra = 0

ind_dupl_espc = False

l = 0

nome = input('Nome...: ')

# Testa a primeira letra da string nome.

if nome[0] > "Z" or nome[0] < "A": # Obs. Os caracteres minúscilos(a,b,c...z)

erro_cpo = True # estão após os MAIÚSCULOS(A,B,C...Z) na tabela ASCII

tipoErro = "A primeira letra deve estar em Caixa alta"

# Verifica se a string nome é maior que 30 caracteres OU maior menor que 3

for letra in nome:

contLetra += 1

if contLetra < 3 or contLetra > 30:

erro_cpo = True

tipoErro = "Entre com um nome de no máximo 30 no mínimo 2 caracteres. "

if nome[0] == " " or nome[contLetra - 1] == " ":

erro_cpo = True

tipoErro = "Verifique espaços antes e depois do nome. "

digita = '?'

if erro_cpo:

while digita != 's' and digita != 'S' and digita != 'n' and digita != 'N':

digita = input("Nome inválido!\n" + tipoErro + "\nDeseja digitar novamente? (s/n): ")

while digita != 's' and digita != 'S' and digita != 'n' and digita != 'N':

digita = input('Opção inválida!\nEscolha entre S ou N: ')

if "n" == digita or digita == 'N':

print('Digitação abandonada. ')

ind_grava = False

break

# ------------------------------------------------------------------------------

# ------------------------VALIDAÇÃO DO SALÁRIO----------------------------------

if ind_grava:

digita =

...

Baixar como (para membros premium)  txt (8.9 Kb)   pdf (145.5 Kb)   docx (12.3 Kb)  
Continuar por mais 13 páginas »
Disponível apenas no TrabalhosGratuitos.com