/*
A nevek.dat fájlban nevek vannak felsorolva. Pl. így:

jani.
zoli.
mari.
kati.

Be kell olvasni õket, és létrehozni egy 
diak(Nev,0) szerkezetû adatokból álló adatbázist. 
(Az adatbázis jelentése pl.: 
	diak(diak_neve,pontjainak_szama)
induláskor a pontszám nulla.
)


Megmutatok két beolvasási lehetõséget, figyelje meg õket! 
Mindkettõt próbálja ki nyomkövetéssel, és különösen az utolsó lépéseket (a verembõl való "kijövetelt" figyelje meg).

A második változat hatékonyabb, mert nem kell lezárnia az összes üres "be"-t.

Ugyanakkor a tömörsége miatt lehet, hogy nehezebben érti (ha nem, annak csak örülök). 

Ha megtetszett ez a változat, akkor olvassa el a help-ben a repeat-et , ill. figyelje meg a 
zárójel és a pontosvesszõ szerepét!
*/


beolvas1:-  retractall(diak(_,_)),
	    see('nevek.dat'), be1, seen,
	    writeln('A beolvasott adatok: '),	
	    kiir.

be1 :- read(Nev), Nev \== end_of_file, assert(diak(Nev,0)),be1.
be1.




beolvas2:-  retractall(diak(_,_)),
	    see('nevek.dat'), be2, seen,
	    writeln('A beolvasott adatok: '),	
	    kiir.

be2 :- repeat,
	   read(Nev), 
	   (
	     Nev == end_of_file,!; 
	     assert(diak(Nev,0)), fail
	    ).


/* Ha nem emlékszik rá, nézze meg a fail, ill. a cut (!) szerepét az elõadás anyagában vagy a html jegyzetben! */


kiir :- forall(diak(Nev,_), writeln(Nev)).