{Zal n Eszter} program teszt2; uses newdelay,crt; const maxvalasz=10; type vtip=(egy,tobb,mind); valasz=record szoveg:string; pontszam:integer; end; kerdes=record vdb:integer; szov:string; tip:vtip; valaszok:array[1..maxvalasz] of valasz; end; var f:file of kerdes; fnev:string; ksz,i,j,n,maxpont,fp,code:integer; k:kerdes; sv:string; jelolt:array[0..maxvalasz] of boolean; osszpont,kp:longint; BEGIN clrscr; repeat writeln('Melyik tesztet akarja megoldani? (max.8 karakter)'); readln(fnev); assign(f,fnev+'.tes'); {$I-} reset(f); close(f); {$I+} until ioresult=0; reset(f); n:=filesize(f); osszpont:=0; maxpont:=0; for i:=1 to n do begin clrscr; read(f,k); writeln(k.szov); writeln; fp:=0; kp:=0; for j:=1 to k.vdb do begin writeln(j,'. ',k.valaszok[j].szoveg); writeln; if k.valaszok[j].pontszam>0 then fp:=fp+k.valaszok[j].pontszam; end; case k.tip of egy: writeln('Egy j¢ v lasz van.'); tobb: writeln('T”bb j¢ v lasz van, r‚szeredm‚nyre is j r pont.'); mind: writeln('T”bb j¢ v lasz van, mindegyiket meg kell jel”lni.'); end; writeln; for j:=1 to k.vdb do jelolt[j]:=false; repeat repeat write('A helyes v lasz sorsz ma (ha nem k¡v n t”bb v laszt megadni,¡rjon 0-t: '); readln(sv); val(sv,ksz,code); until code=0; if (jelolt[ksz]) then writeln('Ezt a v laszt m r megjel”lte.') else jelolt[ksz]:=true; until ksz=0; for j:=1 to k.vdb do if jelolt[j] then kp:=kp+k.valaszok[j].pontszam; case k.tip of egy : if kp>0 then osszpont:=osszpont+kp; tobb: if kp>0 then osszpont:=osszpont+kp; mind: if kp=fp then osszpont:=osszpont+kp; end; maxpont:=maxpont+fp; end; clrscr; gotoxy(30,5); write('A TESZT EREDMNYE'); gotoxy(20,8); write('Az el‚rhet‹ max. pontsz m:'); gotoxy(50,8); write(maxpont); gotoxy(20,10); write('Az el‚rt pontsz ma:'); gotoxy(50,10); write(osszpont); gotoxy(20,12); write('Sz zal‚kos teljes¡tm‚ny:'); gotoxy(50,12); write((100*osszpont)div(maxpont),'%'); repeat until keypressed; close(f); END.