Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andersonrc_

Ao criar aplicação de forma não estruturada, funções não são executada

Recommended Posts

Olá pessoal, estou fazendo uma aplicação de uma biblioteca e estou com problemas ao chamar as funções criadas nas classes Biblioteca e Usuario. As funções cadastrarUsuario e listarUsuarios da classe Biblioteca e listagemUsuarios da classe Usuario foram implementadas de forma correta, pois quando executo aplicacao2.py o código funciona, no entanto o problema é na aplicacao.py.

 

Caso forem executar a aplicacao2.py, basta digitar nome e senha, já na aplicacao.py, o primeiro passo é digitar a opção 10 e depois digitar nome e senha. Depois digitar a opção 12.

 

O código simplesmente não funciona na aplicacao.py, sendo que as funções citadas anteriormente funcionam na aplicação2.py

 

Vou deixar os códigos abaixo: (estou utilizando o Python 3.5.0)

from usuarios import Usuario

class Biblioteca:

    def __init__(self):
        self.nome = 'system'
        self.senha = 'admin'
        #self.login = login
        self.logado = False
        self.usuarios = []

    def cadastrarUsuario(self, usuario):
        self.usuarios.append(usuario)

    def listarUsuarios(self):
        for u in self.usuarios:
            u.listagemUsuarios()

class Usuario:
    def __init__(self, nome, senha):
        self.nome = nome
        self.senha = senha

    def getNomeUsuario(self):
        return self.nome

    def getSenhaUsuario(self):
        return self.senha

    def listagemUsuarios(self):
        print('Nome: %s' %self.nome)
from biblioteca import Biblioteca
from usuarios import Usuario

biblioteca = Biblioteca()
nome = input('\nDigite o nome: ')
senha = input('Digite a senha: ')
usuario = Usuario(nome, senha)
biblioteca.cadastrarUsuario(usuario)
biblioteca.listarUsuarios()
from biblioteca import Biblioteca
from usuarios import Usuario

def aplicacao():
    print('\n**********MENU DE OPÇÕES**********')
    print(' 0 - Sair do sistema')
    print(' 1 - Listagem de livros')
    print(' 2 - Listagem de autores')
    print(' 3 - Busca de livro por título')
    print(' 4 - Busca de livro por autor')
    print(' 5 - Login')
    print(' 6 - Logoff')
    print(' 7 - Informações do usuário (logado)')
    print(' 8 - Empréstimo')
    print(' 9 - Devolução')
    print('10 - Cadastro de usuário')
    print('11 - Cadastro de livro')
    print('12 - Listagem de usuários')
    print('13 - Listagem de empréstimos')
    print('**********************************')

while True:
    aplicacao()
    biblioteca = Biblioteca()
    opcao = int(input('\nDigite a opção: '))
    if opcao == 10:
        nome = input('\nDigite o nome do usuário: ')
        senha = input('Digite a senha: ')
        usuario = Usuario(nome, senha)
        biblioteca.cadastrarUsuario(usuario)
    if opcao == 12:
        print('\n********LISTAGEM DE USUÁRIOS********')
        biblioteca.listarUsuarios()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona sim. Inclusive a criação de um objeto da classe Biblioteca a cada iteração do while True...Isso deveria estar fora do while.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.