1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida Menu em Prolog

Discussão em 'Programação' iniciada por mrebelo, 16 de Maio de 2008. (Respostas: 4; Visualizações: 2717)

  1. Boas pessoal estou aqui com um pequeno problema em prolog, na realização de um menu...

    Eu vou apresentar boas opções e depois o utilizador irá escolher uma delas e dependendo da escolha irá chamar uma outra função...

    Tenho o seguinte código para este menu:

    euro:-

    write(' 1 - Adicionar Nova equipa'),nl,
    write(' 2 - Remover equipa'),nl,

    write('stop - para sair'),nl,
    write('Escolha uma opçao '),nl,

    read(X),nl,write(X). (Este write já não apresenta logo imagino que o read não funciona)

    verifica(stop):-!.
    verifica(X),X=:=1:-executa(portugal). (Para verificar o valor de X e chamar a função correspondente é assim??)


    Desde já obrigado por qualquer ajuda que me possam dar...
     
  2. Baderous

    Baderous Banido

    Código:
    euro:-
        write('1 - Adicionar nova equipa'),nl,
        write('2 - Remover equipa'),nl,
        write('stop - para sair'),nl,
        write('Escolha uma opcao'),nl,
        read(X),
        write(X),
        verifica(X).
    
    verifica(stop):-!.
    verifica(1):-executa(portugal).
     
  3. Desde já obrigado, mas o problema principal infelizmente ainda se mantém isto é o programa entra em execução, escreve o menu e fica a espera de um valor, mas por mais valores que introduza não faz nada, nem stop, nada de nada, isto é escreve aquilo que escrevo no monitor, mas continuar com a execução isso está quieto, lol
     
  4. Baderous

    Baderous Banido

    Assim já dá:

    Código:
    euro:-
        write('1 - Adicionar nova equipa'),nl,
        write('2 - Remover equipa'),nl,
        write('stop - para sair'),nl,
        write('Escolha uma opcao'),nl,
        read(X),
        write(X),
        verifica(X),  
        X==stop,!,writeln('Fim').    
    
    verifica(1):-writeln('add'),nl,!.
    verifica(2):-writeln('remove'),nl,!.
    verifica(stop):-!.
     
  5. A funkar...hehe obrigado pela ajuda...Abraço...
     

Partilhar esta Página