fixes
This commit is contained in:
parent
befe7be9de
commit
ea590431d8
2 changed files with 17 additions and 8 deletions
|
@ -313,14 +313,17 @@ IMPLEMENTATION MODULE InOut ;
|
||||||
Read(ch);
|
Read(ch);
|
||||||
UNTIL (ch # ' ') AND (ch # TAB);
|
UNTIL (ch # ' ') AND (ch # TAB);
|
||||||
UnRead(ch);
|
UnRead(ch);
|
||||||
LOOP
|
REPEAT
|
||||||
Read(ch);
|
Read(ch);
|
||||||
termCH := ch;
|
termCH := ch;
|
||||||
IF (NOT Done) OR (ch <= " ") THEN s[i] := 0C; RETURN END;
|
IF i <= HIGH(s) THEN
|
||||||
s[i] := ch;
|
s[i] := ch;
|
||||||
|
IF (NOT Done) OR (ch <= " ") THEN
|
||||||
|
s[i] := 0C;
|
||||||
|
END;
|
||||||
|
END;
|
||||||
INC(i);
|
INC(i);
|
||||||
IF i > HIGH(s) THEN DEC(i); END;
|
UNTIL (NOT Done) OR (ch <= " ");
|
||||||
END;
|
|
||||||
END ReadString;
|
END ReadString;
|
||||||
|
|
||||||
PROCEDURE XReadString(VAR s : ARRAY OF CHAR);
|
PROCEDURE XReadString(VAR s : ARRAY OF CHAR);
|
||||||
|
|
|
@ -250,7 +250,7 @@ IMPLEMENTATION MODULE RealConversions;
|
||||||
ch := str[iB]; INC(iB);
|
ch := str[iB]; INC(iB);
|
||||||
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
||||||
REPEAT
|
REPEAT
|
||||||
dig(ORD(ch));
|
IF r>BIG THEN INC(pow10) ELSE r:= 10.0D*r+FLOATD(ORD(ch)-ORD('0')) END;
|
||||||
IF iB <= HIGH(str) THEN
|
IF iB <= HIGH(str) THEN
|
||||||
ch := str[iB]; INC(iB);
|
ch := str[iB]; INC(iB);
|
||||||
END;
|
END;
|
||||||
|
@ -259,8 +259,10 @@ IMPLEMENTATION MODULE RealConversions;
|
||||||
ch := str[iB]; INC(iB);
|
ch := str[iB]; INC(iB);
|
||||||
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
IF NOT (ch IN SETOFCHAR{'0'..'9'}) THEN ok := FALSE; RETURN END;
|
||||||
REPEAT
|
REPEAT
|
||||||
dig(ORD(ch));
|
IF r < BIG THEN
|
||||||
DEC(pow10);
|
r := 10.0D * r + FLOATD(ORD(ch)-ORD('0'));
|
||||||
|
DEC(pow10);
|
||||||
|
END;
|
||||||
IF iB <= HIGH(str) THEN
|
IF iB <= HIGH(str) THEN
|
||||||
ch := str[iB]; INC(iB);
|
ch := str[iB]; INC(iB);
|
||||||
END;
|
END;
|
||||||
|
@ -297,6 +299,10 @@ IMPLEMENTATION MODULE RealConversions;
|
||||||
IF pow10 < 0 THEN i := -pow10; ELSE i := pow10; END;
|
IF pow10 < 0 THEN i := -pow10; ELSE i := pow10; END;
|
||||||
e := 1.0D;
|
e := 1.0D;
|
||||||
DEC(i);
|
DEC(i);
|
||||||
|
WHILE i >= 10 DO
|
||||||
|
e := e * 10000000000.0D;
|
||||||
|
DEC(i,10);
|
||||||
|
END;
|
||||||
WHILE i >= 0 DO
|
WHILE i >= 0 DO
|
||||||
e := e * 10.0D;
|
e := e * 10.0D;
|
||||||
DEC(i)
|
DEC(i)
|
||||||
|
|
Loading…
Reference in a new issue