Извините за вопрос noob ie, но мне нужна помощь в выяснении, как вернуть выполнение обратно к началу подпрограммы после того, как логический блок завершит проверку пользовательского ввода.
Program FibSequence
Integer(2) :: n_terms
print*, "Please Enter number 0-99"
read*,n_terms
call check_term()
End Program
Subroutine check_term()
if n_terms <= 0 then
!print stuff
read*, n_terms
return
else if n_terms > 99 then
!print stuff
read*, n_terms
return
else
print*, "you have chosen " , n_terms
end
Программа выполняется успешно, но не делает того, что должна.
Я подозреваю, что программа входит в проверку, тогда, когда она это делает, если число выбрано неправильно, так что число> 99 или < = 0, затем он "перечитывает" n_terms для пользовательского ввода, затем возвращает выполнение в основную программу, что приводит к завершению программы. вместо перехода к следующей строке выполнения из main - которая будет конечной программой.
Помощь будет признательна, спасибо!