program teszt; uses 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; k: kerdes; procedure beker; var sv,sv1,i,j: integer; k, k0: kerdes; sv2,fnev, nev: string; sv3: char; begin clrscr; writeln('Mi a file neve, ahov  menti a teszt adatait? '); repeat readln(fnev); fnev:=fnev+'.tes'; {$I-} assign(f,fnev); rewrite(f); {$I+} until ioresult=0; writeln('Mi a teszt neve? '); read(nev); k0.szov:=nev; k0.vdb:=0; k0.tip:=egy; write(f,k0); repeat write('H ny k‚rd‚sb‹l fog  llni a teszt? '); readln(sv); if sv<=0 then writeln('Hiba tortent') until sv>0; {ellenorizni ne negativ legyen} for i:=1 to sv do begin writeln('Mi az ',i,'. k‚rd‚s sz”vege?'); readln(sv2); k.szov:=sv2; repeat write('K‚rd‚s tipusa? e(gy)/t(”bb)/m(ind)'); readln(sv3); until (sv3='e') or (sv3='t') or (sv3='m'); case sv3 of 'e': k.tip:=egy; 't': k.tip:=tobb; 'm':k.tip:=mind; end; repeat write('Hany v lasz van a k‚rd‚sre? '); readln(sv1); k.vdb:=sv1; until sv>0; for j:=1 to k.vdb do begin writeln('Adja meg a(z) ',j,'. v lasz sz”veg‚t!'); readln(sv2); k.valaszok[j].szoveg:=sv2; writeln('H ny pontot ‚r ez a v lasz? '); readln(sv1); k.valaszok[j].pontszam:=sv1; end; write(f,k); end; close(f); end; procedure kiir; var i,j: integer; begin reset(f); read(f,k); writeln('A teszt cˇme: ',k. szov); for i:=2 to filesize(f) do begin read(f,k); writeln('A(z) ',i-1, ' k‚rd‚s sz”vege: ',k.szov); writeln('A(z) ',i-1, ' k‚rd‚shez tartoz˘ v laszok sz ma: ',k.vdb); for j:=1 to k.vdb do begin writeln('A(z) ',j,' v lasz sz”vege: ',k.valaszok[j].szoveg); writeln('A(z) ',j,' v lasz potsz ma: ',k.valaszok[j].pontszam); end; end; end; begin beker; kiir; repeat until keypressed; end.