nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Problem read

Von: Dirk Weber (dirk-weber@web.de) [Profil]
Datum: 16.02.2007 12:52
Message-ID: <pan.2007.02.16.11.52.24.644968@web.de>
Newsgroup: de.comp.lang.pascal
Dirk Weber
15.02.2007



Hallo,

ich habe eine Frage zu read. Ok, das ist jetzt ein echtes
Anfängerproblem, aber ich komme nicht weiter damit. Die mir zur
Verfügung stehende Literatur bringt mich auch nicht wirklich weiter.

Ich benutze derzeit vor allem D. Cooper / M. Clancy, Pascal, 3. Auflage,
Braunschweig 1991 zum Selbststudium. Das ist die deutsche Übersetzung des
Buchs "Oh! Pascal!", scheint wirklich was zu taugen.

Zur Verdeutlichung meines Problems erst einmal das folgende Programm:

.............................
program selbsttest_s_25;
uses crt;

var
z1,z2:char;
n1,n2:integer;

const
cz1='z1';
cz2='z2';
cn1='n1';
cn2='n2';

BEGIN
clrscr;

writeln('Cooper/Clancy, Pascal, Braunschweig 1991, p. 25, Selbsttest');

z1:=' ';
z2:=' ';
n1:=0;
n2:=0;

writeln('Please enter 123 a45b');
read(n1,z1,z2,n2);
writeln(z1:5,z2:5,n1:5,n2:5);
writeln;
END.
................


Dieses Programm lässt sich kompilieren, führt aber bei der Abarbeitung
zu einem Runtime Error:

.............................

Runtime error 106 at $08048199
$08048199 main , line 46 of selbsttest_s_25.pas
$0804809F
..............................

Eigentlich sollten laut Cooper/Clancydie folgenden Werte für die
Variablen resultieren (aaO., S. 25):

z1: blank
z2: 'A'
n1: 123
n2: 45

Cooper/Clancy schreiben dazu (aaO., S. 25):"Für die Zeicheneingabe gilt
das Leerzeichen (wie auch das Return) als eigenes Zeichen, bei der
Zahleneingabe dienen Leerzeichen als Trennzeichen und werden sonst nicht
beachtet. Der Computer geht darüber hinweg, als seien sie nicht vorhanden."

Nach meinem Dafürhalten sollte eigentlich folgendes passieren:

n1 liest 123, die Integerzahl wird beendet durch einen blank.
z1 liest 'A'
z2 liest '4'
n2 liest 5, die Integerzahl wird beendet durch das Zeichen 'B'.

Tja, drei Lösungen für ein Problem ... :-(

Die Systemumgebung:

OpenSuse 10.2, kompiliert wurde mitels der fp-ide.

Wie finde ich denn jetzt raus, was die richtige Lösung zu meinem Problem
ist? Welche Angaben sollte ich zur besseren Lesbarkeit der Glaskugel
nachschieben?

Gruß aus Arft,

Dirk Weber

[ Auf dieses Posting antworten ]

Antworten