prova10


/* prova15.pro */
/* attiva INCLUDE MENU.PRO */
/* attivazione menu e scelta opzioni */
/* con ritorno a menu chiamante */
/* con riduzione opzioni menu */
/* con richiesta dati su input */
nowarnings
include "menu.pro"
domains
Enter = char
predicates
azione
termine(integer)
elabora(integer)
scelta(integer)
richiesta
fine
goal 
makewindow(1,7,1,"",1,1,20,60),
azione.
clauses 
 azione:-
 write("\n"),
 write("premi enter\n"),
 readchar(Enter),
 /* clearwindow,*/
 write("scegli opzione con tasti frecce\n"),
 menu(3,40, [".1.scelta1...informa........",
             ".2.scelta2...somma..........",
             ".3.scelta3...sottrazione....",
             ".4.scelta9..fine............"],
             SCELTA),
             elabora(SCELTA),
             termine(SCELTA),!.
 elabora(0).
 elabora(1):-scelta(1).
 elabora(2):-scelta(2).            
 elabora(3):-scelta(3).
 elabora(4):-scelta(4).
 termine(4).
 termine(0).
 scelta(1):-write("scelta1"),nl,
 write("seleziona opzioni da menu.."),
 write("per elaborazione aritmetica "),nl,
 write("su numeri interi da inserire\n"),
 Write("premere ENTER dopo ogni numero\n "),
 azione.
 
 
 scelta(2):-write("scelta2..somma\n"),
 sound(100,600),richiesta,
 readint(X),readint(Y),Somma=X+Y,
 write(Somma),azione.
 
 
 scelta(3):-write("scelta 3..differenza\n"),
          sound(100,700),richiesta,
          readint(A),readint(B),
          Differenza=A-B,
          write(Differenza),azione.
 
 
 scelta(4):-write("fine chiamate"),
 sound(100,600),fine.
 richiesta:-
 write("scrivi due numeri interi"),nl,
 write("separandoli con ENTER \n").
            
 fine:-
 write("......fine prova").