program bedingungen

implicit none
integer ::i,j

!==========================================================================
write(*,*)"eine ganze Zahl:"
read(*,*)i
write(*,*)i
!--------------------------------------------------------------------------
! bedingte AusfÃ¼hrung genau einer Anweisung

if (i/=10) i=i+1000

write(*,*)i
!==========================================================================
write(*,*)"eine ganze Zahl:"
read(*,*)i
write(*,*)i
!--------------------------------------------------------------------------
! Verzweigung mit Labels (veraltet)

if (i-100) 10,20,30

10 write(*,*) "i kleiner 100: i=",i
   goto 40

20 write(*,*) "i gleich 100: i=", i
   goto 40

30 write(*,*) "i groesser 100: i=",i

40 continue
!==========================================================================
! Bedingung mit THEN bzw. mit THEN und ELSE
write(*,*)"zwei ganze Zahlen:"
read(*,*)i,j
write(*,*)i,j
!--------------------------------------------------------------------------
if (i<0) then
              write(*,*) "i ist negativ"
         end if
if (i<j) then 
              write(*,*) "i kleiner j"
         else 
              write(*,*) "i groesser als oder gleich j"
         endif 
!==========================================================================
! CASE - Anweisung
write(*,*) "Kontostand (ganze Zahl):"
read(*,*) i

select case (i)
   case(10000: )
                write(*,*) "jenseits von gut und boese"
   case(1000:9999)
           	write(*,*) "stinkreich"
   case(100:999)
		write(*,*) "zufriedenstellend"
   case( :-1)
		write(*,*) "mal mit Arbeit versuchen"
   case default
		write(*,*) "keine grossen Spruenge moeglich"
   end select

end program bedingungen

