Jorgelro (discussão | contribs)
Etiqueta: visualeditor
Jorgelro (discussão | contribs)
Sem resumo de edição
Etiqueta: visualeditor
Linha 1: Linha 1:
= Conceito =
= Conceito =
  Descrição minuciosa das características do programa proposto, pormenorização com detalhes técnicos e precisos que esclareçam a destinação. Identificar se gera um produto, um serviço ou um processo. Incluir definições, concepções ou caracterizações
  É a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos.
  São utilizados os seguintes grupos processos :
o Iniciação;
o Planejamento;
o Execução;
o Monitoramento e Controle;
o Encerramento
 


= Softwares =
= Softwares =

Edição das 16h59min de 14 de outubro de 2017

Conceito 

É a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos.

 São utilizados os seguintes grupos processos :
o Iniciação;
o Planejamento;
o Execução;
o Monitoramento e Controle;
o Encerramento


Softwares

Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks. 

Código

Arquivo = "lista_contatos.txt" # Nome do arquivo

def ler_arquivo():               # Função que le o arquivo de texto
    try:                         # Tratamento de erro
        arq = open(Arquivo,"r+") # Abre o arquivo para leitura
        print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
        arq.close()              # Fecha o arquivo
    except IOError:              # Tratamento de erro
        print('\nArquivo não encontrado!')

def escrever_linhas(texto):        # Função que le e escreve no arquivo
    try:                           # Tratamento de erro
        arq = open(Arquivo,"a+")   # Abre o arquivo para gravação no final do arquivo
        arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
        arq.close()                # Fecha o arquivo
        print('\nLinha gravada com sucesso')
    except IOError:                # Tratamento de erro
        print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro

def pesquisar_contato(nome):
    try:
        arq = open(Arquivo, "r+")
        dicionario = {'nome':'', 'telefone':'', 'email':''}
        achei = False
        # lógica ler arquivo e comparar nome
        for cont, s in enumerate(arq.readlines()):
            
            dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
            if dicionario['nome'] == nome:
                print(cont)
                print('Nome: %s'% dicionario['nome'])
                print('Telefone: %s'% dicionario['telefone'])
                print('Email: %s'% dicionario['email'])
                achei = True
                
        if not achei:
            print('Não existe %s' % (nome))

        
        # se achou imprime, se não mostra uma mensagem de nao encontrado

        arq.close
        
    except IOError:
        print('\nContato não encontrado')


def excluir_contatos():
    try:
        arq =open('lista_contatos.txt','r+')
        valores = arq.readlines()
        l = []
        splited =[]
        nome = input('Entre com um nome:')
        for x in valores:
            splited=x.split(' - ')
            if splited[0]==nome:
               pass
            else:
                l.append(splited)
        
        arq.close()
        novo_cadastro(l)
    except:
        print('erro')
def novo_cadastro(l):
    arq = open(Arquivo,'w')
    for x in l:
         #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
         arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
    arq.close()

while(True):
    
    print('\n        Opcões:')
    print(' ')
    print('1 - Cadastrar contato')
    print('2 - Listar dados')
    print('3 - Pesquisar contato')
    print('4 - Excluir contato')
    print('9 - Sair')
    print(' ')
    Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado

    if Op == 1:                                     # Se a opcao for 1
        nome = input('\nDigite o nome do contato:')      # Entrada do nome pelo teclado
        fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
        email = input('Digite o email:')            # Entrada do telefone pelo teclado
        contato = (nome+' - '+fone+' - '+email)     # Recebe o nome + o telefone
        escrever_linhas(str(contato))               # Chama a função que grava em arquivo
    elif Op == 2:                                   # Se a opcao for 2
        ler_arquivo()                               # Chama a função que le o arquivo
    elif Op == 9:                                   # Se a opcao for 0
        break                                       # Quebra o laço infinito
    elif Op == 3:
        nome = input("Digite o nome: ")
        pesquisar_contato(nome)
    elif Op == 4:
        #nome = input ("Digite o nome: ")
        excluir_contatos()
Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.

Diagrama de Casos de Uso

Desenhar ou plotar  os requisitos funcionais de uma aplicação.

Interações com as tecnologias

Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.

Informações adicionais

Descrever detalhes a mais sobre esse tema.

Referências bibliográficas

Relacionar aqui as referências bibliográficas no padrão ABNT. 
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores