Einlese-Schleife

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Tennis.om
      (* store next valid input character into ch;
         set ch to 0X (null-byte) if no valid input
         is available
      *)
      LOOP (* until we get a valid input character
              or no input is available *)
         Read.Char(ch);
         IF Streams.stdin.count = 0 THEN
            ch := 0X;
            EXIT
         END;
         IF (ch = "A") OR (ch = "B") THEN
            EXIT
         END;
         IF (ch # " ") & (ch # ASCII.nl) THEN
            Write.Line("Invalid input character found!");
            ch := 0X;
            EXIT
         END;
      END;

*0X ist das Nullbyte (also das Zeichen mit dem Wert 0).
 
*Wir nutzen diesen Wert hier, um für den Rest des Programms das Eingabe-Ende bzw. die Eingabe unzulässiger Zeichen zu signalisieren.
 
*Der OR-Operator liefert TRUE, falls einer der beiden Operanden den Wert TRUE hat, andernfalls FALSE.
 
*Der &-Operator liefert TRUE, falls beide Operanden den Wert TRUE haben, andernfalls FALSE.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005