File: ASK.FT of Tape: Various/ETH/f2
(Source file text) 

	SUBROUTINE ASK(N,IRES,FRES,STRRES,NCHAR,PROMPT)
	LOGICAL LOGIC
	REAL PROMPT(1),STRRES(1),TEMSTR(10)
	INTEGER INFLAL(4),STRAR,STRA6,CHAR,FILL
	COMMON //IFIL
	DATA INFLAL/'IN','FL','AL','LO'/
	GOTO 60
50	REWIND IFIL
	IFIL=4
60	IF(IFIL.NE.4) GOTO 100
	WRITE(4,100)
100	FORMAT(1H )
	STRAR=1
3	STRA6=1
1	CALL CGET(PROMPT(STRAR),STRA6,CHAR)
	CALL CPUT(TEMCH,1,CHAR)
	IF(CHAR.EQ.38) GO TO 2
	IF(IFIL.NE.4) GOTO 101
	WRITE(4,101) TEMCH
101	FORMAT(1H+,1A1,$)
	STRA6=STRA6+1
	IF(STRA6.LE.6) GO TO 1
	STRAR=STRAR+1
	GO TO 3
2	IF(IFIL.NE.4) GOTO 102
	WRITE(4,102) INFLAL(N)
102	FORMAT('+?(',A2,'):  ',$)
	GOTO (10,20,30,40),N
10	CALL CHKEOF(EOF)
	READ(IFIL,103) IRES
	IF(EOF.NE.0) GOTO 50
103	FORMAT(1I4)
	RETURN
20	CALL CHKEOF(EOF)
	READ(IFIL,104) FRES
	IF(EOF.NE.0) GOTO 50
104	FORMAT(1G14.6)
	RETURN
30	STRAR=1
	STRA6=1
	FILL=1
	CALL CHKEOF(EOF)
	READ(IFIL,105) TEMSTR
	IF(EOF.NE.0) GOTO 50
105	FORMAT(10A6)
7	CALL CGET(TEMSTR(STRAR),STRA6,CHAR)
	IF(CHAR.EQ.38) GOTO 11
9	IF(FILL.EQ.2) CALL CPUT(STRRES(STRAR),STRA6,32)
	IF(FILL.EQ.2) GO TO 8
	CALL CPUT(STRRES(STRAR),STRA6,CHAR)
8	STRA6=STRA6+1
	IF(STRA6.LE.6) GO TO (7,9),FILL
	STRAR=STRAR+1
	IF(STRAR.EQ.11) RETURN
	STRA6=1
	GO TO (7,9),FILL
11	NCHAR=(STRAR-1)*6+STRA6-1
	FILL=2
	GO TO 9
40	CALL CHKEOF(EOF)
	READ(IFIL,106) LOGIC
	IF(EOF.NE.0) GOTO 50
106	FORMAT(L1)
	IRES=IFIX(LOGIC)
	RETURN
	END