{ (c) 1998 CREEQ <creeq@web.de> }
PROGRAM Wissens_Quiz;
USES CRT;
CONST QuizFile = 'C:\QUIZ.DAT';
VAR r, f       : Integer;
    D          : Text;
    Antwort    : String;
    Eingabe    : String;
    AAnzahl    : String;
    Anzahl, i  : Integer;
    Frage      : Integer;
    Text       : String;

PROCEDURE ReadQuestion;
Begin
  Assign(D,QuizFile);
  Reset(D);
  Readln(D,AAnzahl);
  Val(AAnzahl,Anzahl,i);
  Randomize;
  Frage := Random(Anzahl)+2;
  WHILE Frage > 1 DO
  Begin
    Dec(Frage);
    Readln(D,Text);
  End;
  FOR i := 1 TO Length(Text) DO
  Begin
    IF Text[i] = 'Ó' THEN
    Begin
      Antwort := Copy(Text,i+1,Length(Text));
      Delete(Text,i,Length(Text));
    End;
  End;
  Close(D);
End;

PROCEDURE AskQuestion;
Begin
  Clrscr;
  TextColor(LightGray);
  Write('Um zu Beenden -> "Ende" eingeben!');
  TextColor(Yellow);
  Gotoxy(1,10);
  FOR i := 1 TO Length(Text) DO
  Begin
    Write(Text[i]);
    IF WhereX > 60 THEN IF Text[i] = ' ' THEN Writeln;
  End;
  TextColor(Lightred);
  Gotoxy(1,20);
  Write('Antwort: ');
  Readln(Eingabe);
  IF Eingabe = 'Ende' THEN
  Begin
    ClrScr;
    TextColor(LightGray);
    Writeln('Richtige Antworten : ',r);
    Writeln('Falsche Antworten  : ',f);
    Readkey;
    TextColor(LightGray);
    ClrScr;
    Halt(0);
  End;
End;

PROCEDURE CorrectQuestion;
Begin
  Clrscr;
  IF Eingabe = Antwort THEN
  Begin
    TextColor(Yellow);
    Gotoxy(35,10);
    Write('Richtig!');
    Inc(r);
    Readkey;
  End
  Else
  Begin
    TextColor(Yellow);
    Gotoxy(35,10);
    Write('Falsch!');
    Gotoxy(25,14);
    Write('Die Richtige Antwort lautet:');
    TextColor(Lightred);
    Gotoxy(15,16);
    Write(Antwort);
    Inc(f);
    Readkey;
  End;
End;

Begin
  REPEAT
    ReadQuestion;
    AskQuestion;
    CorrectQuestion;
  UNTIL False;
End.
