C C CONVERT AN INPUT FROM-TO C I2,I4,F4,F8,A2 C DIMENSION IBUF(4) INTEGER*4 I4 INTEGER*2 I2 REAL F4 DOUBLE PRECISION F8 EQUIVALENCE (IBUF(1),I4,F4,F8,I2) 1 DO 10 J=1,4 10 IBUF(J)=0 WRITE(5,2) 2 FORMAT('$','ENTER TYPE OF INPUT- I2,I4,OC,F4,F8,AS ? ') READ(5,3)ITYPE 3 FORMAT(A2) IF(ITYPE.EQ.'I2') GO TO 13 IF(ITYPE.EQ.'I4') GO TO 14 IF(ITYPE.EQ.'OC') GO TO 15 IF(ITYPE.EQ.'F4') GO TO 16 IF(ITYPE.EQ.'F8') GO TO 17 IF(ITYPE.EQ.'AS') GO TO 18 GO TO 90 15 WRITE(5,11) 11 FORMAT(' OCTAL INPUT PLEASE (4 WORDS) ') C C GET OCTAL INPUT C DO 20 J=1,4 READ(5,12,END=90)IBUF(J) 12 FORMAT(O6) 20 CONTINUE GO TO 22 13 WRITE(5,101) 101 FORMAT(1X,'ENTER DECIMAL NUMBER - MAX = 32768') READ(5,102) I2 102 FORMAT(I6) GO TO 22 14 WRITE(5,103) 103 FORMAT(1X,'ENTER DECIMAL NUMBER - MAX =2,147,483,648') READ(5,104) I4 104 FORMAT(I11) GO TO 22 16 WRITE(5,105) 105 FORMAT(1X,'ENTER REAL NUMBER - MAX = 16,777,216 E31') READ(5,106) F4 106 FORMAT(F40.10) GO TO 22 17 WRITE(5,107) 107 FORMAT(1X,'ENTER REAL NUMBER - MAX = VERY LARGE') READ(5,106) F8 GO TO 22 18 WRITE(5,108) 108 FORMAT(1X,'ENTER UP TO 8 ASCII CHARACTERS') READ(5,109)IBUF 109 FORMAT(4A2) GO TO 22 C C TEST WHICH FORMAT TO TYPE IN C 22 WRITE(5,21) 21 FORMAT('$CONVERSION TYPE I2,I4,F4,F8,A2,OC ? ') READ(5,25)ITYPE 25 FORMAT(A2) IF(ITYPE.EQ.'I2') GO TO 100 IF(ITYPE.EQ.'I4') GO TO 200 IF(ITYPE.EQ.'F4') GO TO 300 IF(ITYPE.EQ.'F8') GO TO 400 IF(ITYPE.EQ.'A2') GO TO 500 IF(ITYPE.EQ.'OC') GO TO 600 GO TO 22 100 WRITE(5,30)IBUF(1) 30 FORMAT(' ',I6) GO TO 1 200 WRITE(5,40)I4 40 FORMAT(' ',I20) GO TO 1 300 WRITE(5,50)F4 50 FORMAT(' ',F20.5) GO TO 1 400 WRITE(5,60)F8 60 FORMAT(' ',F40.10) GO TO 1 500 WRITE(5,70)IBUF 70 FORMAT(' ',4A2) GO TO 1 600 WRITE(5,601)IBUF 601 FORMAT(' ',4O6) GO TO 1 90 STOP END