clan( zena, ana_jovic, 34, 100, 178, da, 1, ozbiljno ).
clan( zena, maja_pujic, 22, 0, 165, da, 0, avantura ).
clan( zena, nada_petkovic, 45, 300, 169, da, 3, ozbiljno ).
clan( zena ,una_maric, 69, 30, 165, da, 2, ozbiljno ).
clan( zena, jovana_natic, 37, 70, 178, ne, 1, avantura ).
clan( muskarac, aleksa_juric, 48, 170, 195, da, 2, ozbiljno ).
clan( muskarac, dejan-kulic, 26, 100, 184, ne, 0, avantura ).
clan( muskarac, gojko_pantic, 37, 120, 188, da, 3, ozbiljno ).
clan( muskarac, aca_hajic, 42, 70, 178, ne, 1, avantura ).

dodatak( ana_jovic, profesor, beograd, rak, crna, crne, srednja, prosecan ).
dodatak( maja_pujic, domacica, paracin, ovan, smedja, plave, vitak, odlican).
dodatak( nada_petkovic, pravnik, beograd, vaga, crna, smedje, debeo, prosecan ).
dodatak( una_maric, penzioner, prokuplje, skorpija, seda, zelene, debeo, prosecan ).
dodatak( jovana_natic, sekretarica, beograd, lav, crna, zelene, vitak, odlican ).
dodatak( aleksa_juric, direktor, smederevo, rak, celav, crne, debeo, prosecan ).
dodatak( dejan_kulic, arheolog, beograd, vodolija, crna, crne, vitak, odlican).
dodatak( gojko_pantic, vozac, beograd, rak, crna, plave, vitak, prosecan ).
dodatak( aca_hajic, nastavnik, beograd, lav, smedja, smedje, debeo, prosecan ).

fortuna:-autorstvo,napomena,	
         uput,
         meni.
       
autorstvo:-tab(10),write('---------------------------------------------'),nl,
write('  SEMINARSKI  RAD  primene racunara          '),nl, nl,nl,
write(' Prof. VLADIMIR  SRDANOVIC  '),nl,nl,nl,nl,                       
write(' kandidat  Jevtic Sanja  '),nl,nl,nl,nl,
write('       Program iz baze kandidata izdvaja potencijalnog partnera'),  nl,
write('       Moze ga koristiti agencija za izbor partnera'),nl,nl,nl,
write('***************************************************************'),nl.

napomena:-write( 'U ovom sistemu pisati ime u obliku na.pr. ana_jovic' ), nl.

uput :- write( ' Uputstvo: Ako zelite mozemo vam pomoci da pronadete' ), nl,
 write( ' partnera svojih snova. Dovoljno je samo da odgovorite na nekoliko pitanja' ), nl,
 write( ' Takodje mozete dobiti listu svih clanova ovog kluba'), nl,
 write( ' Mozete se i uclaniti u klub'), nl,
 write( ' Da biste mogli izabrati opciju ukucajte start i zavrsite sa tackom'), nl, 
 write( ' a posle pritisnite enter '), read(S).

meni:-nl, nl, 
 write('---------------------------------------------------------------------------------'),nl,
 write('   ODABERITE OPCIJU  '),nl,
 write('          a.-pretraga   '),nl,
 write('          b.-baza   '),nl,
 write('          c.-izlaz   '),nl, 
 write('          d.-uclanjivanje   '),nl,
 write('          f.-brisanje podataka  '),nl,
 write('          g.-menjanje podataka  '),nl,
 write('   Unesite oznaku opcije koju zelite i zavrsite tackom.  '), nl,
 read(L), nl,
 (L=a,savet;
 L=b,baza;
 L=d,cln;
 L=f,brisanje;
 L=g,menjanje;
 L=c,write('kraj')).

baza:-write(' Ako zelite da imate pregled osoba muskog pola ukucajte 1.'),nl,
      write(' Ako zelite da imate pregled osoba zenskog pola ukucajte 2.'),nl,
read(O),trazi(O).

trazi(O):-O==1,clan(muskarac,I,G,Z,V,S,D,T),write('Ime:'),write(I),nl,
write('Godine'),write(G),nl,
write('Zarada'),write(Z),nl,
write('Visina'),write(V),nl,
write('Stambeno pitanje sredeno?'),write(S),nl,
write(' Broj dece '),write(D),nl,
write('Interesovanje za vezu'),write(T),nl,
write('Ako vas ova osoba posebno interesuje zapamtite njeno ime i kasnije'),nl,
write('Pozovite pomoc,ali jos jednom Vas molimo da tacno zapamtite njeno '),nl,
write('Inace ukucajte bilo koje slovo sa tackom'),nl,
write('a ako zelite povratak u meni ukucajte da.'),
read(X),(X=da,meni;fail).

trazi(O):-O==2,clan(zena,I,G,Z,V,S,D,T),write('Ime:'),write(I),nl,
write('Godine'),write(G),nl,
write('Zarada'),write(Z),nl,
write('Visina'),write(V),nl,
write('Stambeno pitanje sredjeno?'),write(S),nl,
write(' Broj dece'),write(D),nl,
write('Interesovanje za vezu'),write(T),nl,
write('Ako Vas ova osoba posebno interesuje dobro zapamtite njeno ime i '),nl,
write(' kasnije	pozovite pomoc asada ukucajte bilo sta sa tackom na kraju'),nl,
write('a ako zelite povratak u meni ukucajte da.'),nl,
read(X),(X=da,meni;fail).

trazi(O):-write('To je sve').

greska:-write('nepravilno ste unli podatak,sada pritisnite bilo sta'),nl,
 meni.

cln:-write('Unesite ime i prezime i zavrsite tackom'),nl,read(Ime),
dodati(Ime),write('Ako hocete jos otkucajte d. '),nl,
write(' U suprotnom bilo koje slovo sa tackom'),read(Da),
(Da=d, clanstvo; meni),!.

dodati(Ime):-
write(' Koliko imate godina? '),read(G),nl,
write(' Vas pol?'),read(P),nl,
write(' Vasa mesecna zarada'),read(Z),nl,
write(' Vasa visina'),read(V),nl,
write(' Vase stambeno pitanje je sredjeno?(da,ne)'),read(S),nl,
write(' Unesite broj dece'),read(D),nl,
write(' Vase interesovanje za vezu(ozbiljan,avantura)'),read(T),nl,
assertz(clan(P,Ime,G,Z,V,S,D,T)),nl,
write('Vase zanimanje'),nl,read(Zan),nl,
write('grad u kome zivite'),read(Grad),nl,
write('Vas horoskopski znak'),read(Horoskop),nl,
write('Vasa kosa(boja)'),read(Kosa),nl,
write('Vase oci (boja)'),read(Oci),nl,
write(' upisite jeste li vitki , debeli ili srednji'),read(Struk),nl,
write(' Opsti izgled '),read(Izgled),nl,
assertz(dodatak(Ime,P,Zan,Grad,Horoskop,Kosa,Oci,Struk,Izgled)),nl,
write('Postali ste clan naseg kluba'),nl,
write('ili su azurirani podaci ako ste vec bili clan').
brisanje:-write('otkucajte ime clana koji se zeli ispisati iz kluba'),nl,
write(' i zavrsite tackom ilik. za povratak u meni'),nl,
read(Ime),nl,
(Ime=k,meni;
clan(_,Ime,_,_,_,_,_,_),retract(clan(_,Ime,_,_,_,_,_,_)),
dodatak(Ime,_,_,_,_,_,_,_),
retract(dodatatak(Ime,_,_,_,_,_,_,_))),brisanje.
menjanje:-write(' Unesite ime clana cije podatke zelite menjati'),nl,
write(' A ako zelite povratak u meni ukucajte k. '),nl,
read(Ime),nl,
( Ime=k,meni;
clan(_,Ime,_,_,_,_,_,_),retract(clan(_,Ime,_,_,_,_,_,_)),
dodatak(Ime,_,_,_,_,_,_,_),retract(dodatak(Ime,_,_,_,_,_,_,_)),
dodati(Ime)),!.

pomoc:-write('Ukucajte ime clana cije blize podatke zelite'),nl,
read(Ime),nl,pl(Ime).
pl(Ime):-write('Ovo su dodatni podaci o doticnom clanu'),nl,
dodatak(Ime,Zan,Grad,Horoskop,Kosa,Oci,Struk,Izgled),nl,
write('Ime'),write(ime),nl,
write('Zanimanje'),write(Zan),nl,
write('Grad'),write(Grad),nl,
write('Horoskopski znak'),write(Horoskop),nl,
write('Boja kose'),write(Kosa),nl,
write('boja ociju'),write(Oci),nl,
write('Stas'),write(Struk),nl,
write('Opsti izgled'),write(Izgled),nl,
write('Ukucajte bilo sta za povratak u meni'),read(X),meni.

savet:-pitanje1(A),pitanje2(B,C),pitanje3(E),
pitanje4(J,K),pitanje5(S),pitanje6(Dk),pitanje7(H),
naslov,evo(A,B,C,E,J,K,S,Dk,H).

naslov:-nl,nl,
write('*******************************************************************'),nl,
write('     Savetnik za izbor partnera  na osnovu odgovora zakljucuje '),nl,nl.
pitanje1(A):-write('unesite pol potencijalnog partnera'),nl,read(A).
pitanje2(B,C):-write('unesite granice za opseg godina koje moze imati Vas partner'),nl,
write('dakle minimalan i maksimalan broj godina'),read(B),read(C),nl.
pitanje3(E):-write('unesite najmanju vrednost mesecne zarade vaseg '),nl,
write('potencijalnog partnera u DM'),nl,read(E),nl.
pitanje4(J,K):-write('unesite raspon visine koju moze imati vas potencijalni partner'),nl,
write('dakle minimalna i maksimalna vrednost njegove visine'),
read(J),read(K),nl.
pitanje5(S):-write('da li vam je veoma bitno stambeno pitanje potencijalnog partnera?'),nl,
read(S),nl.

pitanje6(Dk):-nl,write('max br dece'),read(Dk),nl.

pitanje7(H):-write('ozbiljan\avantura'),read(H),nl.
evo(A,B,C,E,J,K,S,Dk,H):-
clan(A,I,God,Zar,Vis,S,D,H),B<God,C>God,Zar>E,J<Vis,K>Vis,Dk>D,np(I),fail.
evo(_,_,_,_,_,_,_,_,_):-nl,
write('Nema vise clanova kluba koji bi Vam odgovarali'),nl,novimeni.

novimeni:-write('Mozete pokusati potovo malo ublazivsi kriterijume'),nl,
write('ili sami pogledati spisak clanova i odabrati mozda nekog'),nl,
write('a mozete se i uclaniti u nas klub,ukucajte nesto sa tackom'),nl,
read(X),meni.

np(I):-write('Mozda bi Vam odgovarao ovakav izbor'),

prikaz(I).
prikaz(I):-write('Podaci:'),nl,
clan(A,I,God,Zar,Vis,S,D,H),
write('Ime'),write(I),nl,write('godine'),write(God),nl,
write('zarada'),write(Zar),nl,write('visina'),write(Vis),nl,
write('broj dece'),write(D),nl,pl(I).







