'*' und '/' werden bei der Eingabe durch eine Leseanweisung nicht erkannt

Ich beginne mit dem Erlernen von Fortran und mache ein kleines Falltestprogramm, in dem der Benutzer zwei reelle Zahlen eingibt und arithmetische Operatoren (von + - * /) auswählt. Der folgende Fehler wird angezeigt, wenn der Benutzer "*" @ auswähl

F6502 : read <con> - positive integer expected in repeat field

und wenn der Benutzer "/" auswählt, führt der Compiler den Standardfall aus und zeigt diese Meldung an

invalid operator, thanks
the result is 0.000000E+00

Das Programm sieht wie folgt aus.

program operateur
implicit none

   CHARACTER(LEN=1) :: oper 
   real::a,b,res
   print*,'Give the first number a :'
   read*,a
   print*,'Give the second number b :'
   read*,b
   print*,'which operation ?'
   read*,oper
   !print*,'donnez a,b,oper :'
  ! read(*,*)a,b,oper

               select case (oper)

                  case ('+')      
                  res=a+b

                  case ('-')       
                  res=a-b

                  case ('*')       
                  res=a*b


                  case ('/')       
                  res=a/b           

                  case default
                  print*, "Invalid Operator, thanks" 

               end select

   print*,'the result is ',res 

end program operateur

Antworten auf die Frage(4)

Ihre Antwort auf die Frage