/* ori7.mar */ /* esempio database semplice con ricerca */ nowarnings include "A:/orio/clienti.pro" domains predicates azione elabora(integer) archivio qualifica regione qualiregio qualicredi singolo anno credito opera goal azione. clauses azione:- makewindow(1,5,1,"",1,1,20,78),opera. opera:- write("premi enter"),readchar(_), clearwindow, write("-----------------------"),nl, write("scrivi 1:archivio totale"),nl, write("scrivi 2:clienti con qualifica"),nl, write("scrivi 3:clienti in regione"),nl, write("scrivi 4:clienti con credito>=X"),nl, write("scrivi 5:con qualifica e regione"),nl, write("scrivi 6:con qualifica e credito>=X"),nl, write("scrivi 7:cliente da cercare"),nl, write("scrivi 8:clienti con eta>=X"),nl, write("scrivi 0:fine"),nl, readint(N), clearwindow, elabora(N). elabora(1):-archivio. elabora(2):-qualifica. elabora(3):-regione. elabora(4):-credito. elabora(5):-qualiregio. elabora(6):-qualicredi. elabora(7):-singolo. elabora(8):-anno. elabora(0):-exit. archivio:- write("stampa archivio dati completo"),nl, write("cogno","\tnome","\tquali","\tregio","\tcredi","\teta"),nl, nl,nl, cliente(X,A,B,C,D,E), write(X,"\t",A,"\t",B,"\t",C,"\t",D,"\t",E), nl,fail;opera. qualifica:- write("stampa nomi con qualifica"),nl, write("scrivi qualifica cercata:"), readln(Q), cliente(X,A,B,C,D,E), Q=B, write(X,"\t","\t",A,"\t",B,"\t",C,"\t",D,"\t",E),nl,fail;opera. regione:- write("stampa nomi abitanti in regione:"),nl, write("scrivi regione cercata:"), readln(R), cliente(X,A,B,C,D,E), R=C, write(X,"\t",A,"\t",C),nl,fail; opera. credito:- write("stampa creditori oltre valore:"),nl, write("scrivi limite credito da cercare:"), readint(CRE), cliente(X,A,B,C,D,E), D>CRE, write(X,"\t",A,"\t",D),nl, fail;opera. qualiregio:- write("clienti con qualifica in regione:"),nl, write("scrivi qualifica da cercare:"),nl, readln(Q), write("scrivi regione da cercare:"),nl, readln(R), cliente(X,A,B,C,D,E), Q=B,R=C, write(X,"\t",A,"\t",B,"\t",C),nl, fail;opera. qualicredi:- write("cliente con qualifica e credito"),nl, write("scrivi qualifica da cercare:"),nl, readln(Q), write("scrivi limite credito:"),nl, readint(CRE), cliente(X,A,B,C,D,E), Q=B,D>=CRE, write(X,"\t",A,"\t",B,"\t",D),nl, fail;opera. singolo:- write("stampa dati cliente da indicare"),nl, write("cognome cliente:"),readln(Co),nl, write("nome cliente :"),readln(No),nl, cliente(X,A,B,C,D,E), Co=X,No=A, write("cognome","\tnome","\tqua","\treg","\tcre","\teta"),nl, write(X,"\t",A,"\t",B,"\t",C,"\t",D,"\t",E), nl,fail;opera. anno:- write("clienti con eta oltre limite:"),nl, write("limite eta:"),nl, readint(Anni), cliente(X,A,B,C,D,E), E>=Anni, write(X,"\t",A,"\t",E),nl, fail;opera.
+-------------------------------------- ¦+------------------------------------- +¦----------------------- +¦scrivi 1:archivio totale ¦¦scrivi 2:clienti con qualifica ¦¦scrivi 3:clienti in regione ¦¦scrivi 4:clienti con credito>=X ¦¦scrivi 5:con qualifica e regione ¦¦scrivi 6:con qualifica e credito>=X ¦¦scrivi 7:cliente da cercare ¦¦scrivi 8:clienti con eta>=X ¦¦scrivi 0:fine ¦¦ ¦¦ +----------------------------------------------- ¦+---------------------------------------------- +¦bassi aldo operaio lazio 122 21 +¦grassi luigi operaio veneto 234 23 ¦¦verdi aldo dottore veneto 123 34 ¦¦rossi alice dottore veneto 125 45 ¦¦rossi carlo dottore lazio 345 36 ¦¦bassi franco operaio lazio 122 21 ¦¦grassi aldo operaio veneto 234 23 ¦¦verdi elvira dottore sicilia 123 34 ¦¦rossi alvise dottore toscana 125 45 ¦¦rossi sergio dottore emilia 345 36 ¦¦bassi giona operaio marche 122 21 ¦¦grassi alberto operaio sicilia 234 23 ¦¦verdi maria dottore friuli 123 34 ¦¦bianchi pietro dottore friuli 125 45 ¦¦neri pierino dottore emilia 345 36 +¦bassi pietro operaio sicilia 122 21 +¦pascoli pietro operaio lazio 234 23 ¦¦premi enter +----------------------------------------------------- ¦+---------------------------------------------------- +¦stampa nomi con qualifica +¦scrivi qualifica cercata:dottore ¦¦verdi mario dottore veneto 123 34 ¦¦rossi anna dottore veneto 125 45 ¦¦rossi luigi dottore lazio 345 36 ¦¦verdi aldo dottore veneto 123 34 ¦¦rossi alice dottore veneto 125 45 ¦¦rossi carlo dottore lazio 345 36 ¦¦verdi elvira dottore sicilia 123 34 ¦¦rossi alvise dottore toscana 125 45 ¦¦rossi sergio dottore emilia 345 36 ¦¦verdi maria dottore friuli 123 34 ¦¦bianchi pietro dottore friuli 125 45 ¦¦neri pierino dottore emilia 345 36 ¦¦premi enter +¦ +¦ +------------------------------------- ¦+------------------------------------ +¦stampa nomi abitanti in regione: +¦scrivi regione cercata:sicilia ¦¦verdi elvira sicilia ¦¦grassi alberto sicilia ¦¦bassi pietro sicilia ¦¦premi enter ¦¦ +----------------------- ¦+---------------------- +¦bassi aldo 122 +¦grassi luigi 234 ¦¦verdi aldo 123 ¦¦rossi alice 125 ¦¦rossi carlo 345 ¦¦bassi franco 122 ¦¦grassi aldo 234 ¦¦verdi elvira 123 ¦¦rossi alvise 125 ¦¦rossi sergio 345 ¦¦bassi giona 122 ¦¦grassi alberto 234 ¦¦verdi maria 123 ¦¦bianchi pietro 125 ¦¦neri pierino 345 +¦bassi pietro 122 +¦pascoli pietro 234 ¦¦premi enter ¦+---------------------- +-------------------------------------- ¦+------------------------------------- +¦clienti con qualifica in regione: +¦scrivi qualifica da cercare: ¦¦dottore ¦¦scrivi regione da cercare: ¦¦sicilia ¦¦verdi elvira dottore sicilia ¦¦premi enter ¦¦ ¦¦ ¦¦ +--------------------------------- ¦+-------------------------------- +¦cliente con qualifica e credito +¦scrivi qualifica da cercare: ¦¦dottore ¦¦scrivi limite credito: ¦¦100 ¦¦verdi mario dottore 123 ¦¦rossi anna dottore 125 ¦¦rossi luigi dottore 345 ¦¦verdi aldo dottore 123 ¦¦rossi alice dottore 125 ¦¦rossi carlo dottore 345 ¦¦verdi elvira dottore 123 ¦¦rossi alvise dottore 125 ¦¦rossi sergio dottore 345 ¦¦verdi maria dottore 123 +¦bianchi pietro dottore 125 +¦neri pierino dottore 345 ¦¦premi enter +------------------------------------------------ ¦+----------------------------------------------- +¦stampa dati cliente da indicare +¦cognome cliente:rossi ¦¦ ¦¦nome cliente :luigi ¦¦ ¦¦cognome nome qua reg cre eta ¦¦rossi luigi dottore lazio 345 36 ¦¦premi enter ¦¦ ¦¦ +------------------------------------ ¦+----------------------------------- +¦clienti con eta oltre limite: +¦limite eta: ¦¦30 ¦¦verdi mario 34 ¦¦rossi anna 45 ¦¦rossi luigi 36 ¦¦verdi aldo 34 ¦¦rossi alice 45 ¦¦rossi carlo 36 ¦¦verdi elvira 34 ¦¦rossi alvise 45 ¦¦rossi sergio 36 ¦¦verdi maria 34 ¦¦bianchi pietro 45 ¦¦neri pierino 36 +¦premi enter +¦
ritorna