2017-12-18 2 views
0

ich für das Programm bin mit dem Ziel auszudrucken true oder false vor menu2/0Wie kann die Ausgabe wahr/falsch gemacht werden?

park(_,blue,basketball_court). 

menu2 :- 
    nl,write('Select operation:'),nl, 
    write('1. Check which parking area available to park right now.'),nl, 
    write('2. Check whether a particular parking area is legal to park.'),nl, 
    write('3. End program.'),nl, 
    read(X),nl,choice(X). 

choice(2):- 
    write('Enter your identity:'),nl, 
    read(C), 
    write('Enter sticker type:'),nl, 
    read(D), 
    write('Enter parking area:'),nl, 
    read(E), 
    park(C,D,E), 
    menu2. 

Im Folgenden auf die Rückkehr ist das, was ich bekommen:

menu2. 

Select operation: 
1. Check which parking area available to park right now. 
2. Check whether a particular parking area is legal to park. 
3. End program. 
2 

Enter your identity: 
staff 
Enter sticker type: 
blue 
Enter parking area: 
basketball_court 

Select operation: 
1. Check which parking area available to park right now. 
2. Check whether a particular parking area is legal to park. 
3. End program. 

Nach basketball_court, ich bin der Hoffnung, für True erscheinen. Auch in einem anderen Szenario, selbst wenn "False" angezeigt wird, wie wird es zu menu2/0 zurückgeschleift?

Antwort

1

Hier ist, wie Sie es tun können:

choice(2):- 
    write('Enter your identity:'),nl, 
    read(C), 
    write('Enter sticker type:'),nl, 
    read(D), 
    write('Enter parking area:'),nl, 
    read(E), 
    (park(C,D,E) -> 
     write('true'),nl 
    ; write('false'),nl), 
    menu2. 
Verwandte Themen