Fortran, если отображается все и не выбрано - PullRequest
0 голосов
/ 29 мая 2020

Добрый вечер! Я пытаюсь создать виртуальную шкалу времени в fortran с помощью Force 2.0. Я хочу сделать if с принятием значения «a», то есть года, и с if вы отобразите факты, которые произошли в том году, я написал этот код:

  program Calc
  real :: a
  print *, "Inserisci la data"
  print *, "Type the first number: "
  read *, a
  if a = 1900
  print *, "London arrives to 4 milion inhabitants"
  if a = 1901
  print *, "First trans-oceanic radio transmission"
  read *
  end program Calc

но каждый ввод, который я вставляю, отображает все выводы, а не выбранные. Например, если я ввожу «1900», отображаются факты как 1900, так и 1901 », но это не то, что я хотел. Знаете, что я могу сделать? Thxxx

1 Ответ

1 голос
/ 30 мая 2020

Как я сказал в комментариях к вашему вопросу, конструкция select case может быть более аккуратной в вашем случае:

program test
    implicit none
    integer:: year

    write(*,*) "Type the first number: "
    read(*,*) year

    select case(year)
        case(:1899)
            write(*,*) "I guess something happened before 1900"
        case(1900)
            write(*,*) "I am sure at least one cat was born in 1900"
        case(1901:1905)
            write(*,*) "I am sure something happened between 1901 and 1905"
        case(1906:)
            write(*,*) "Everything past 1906"
        case default
            write(*,*) "default case"
    end select

    read(*,*)
end program test

Вот объяснение с блок-схемой . Обратите внимание, что я изменил тип года на целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...