我目前正在撰寫一個程序作爲每週作業的一部分,而且我已經打了一堵牆。這對一些人來說可能是顯而易見的,但卻讓我難堪。代碼中的各種錯誤
我的問題是,編譯器返回這些錯誤:
我的代碼周圍起了一點嘗試和糾正自己,但運行我到其他錯誤。我不太確定頂部的INTENT(IN)
定義爲什麼會以「不是一個DUMMY」變量的形式返回給我。
以及不知道如何糾正下面的實際參數錯誤。我試圖用我的變量Dial_A_In
和Dial_A_Out
等返回一個邏輯值來檢查組合,但無濟於事。
這裏是我的代碼:
錯誤和相關的代碼以文本形式:
INTEGER, INTENT(IN) :: Dial_A_In , Dial_B_In , Dial_C_In
返回錯誤:符號在(1)不爲虛擬變量。
IF (check_solution() .EQV. .TRUE.) EXIT
返回錯誤:缺少實際參數爲參數的「a」(1)
編輯:我設法解決)呼籲check_solution(,這是一個三個整數參數字符串,可以在下面看到。
全部代碼文本:
SUBROUTINE sevensub(Dial_A_Out, Dial_B_Out, Dial_C_Out, Iteration_Count)
USE globals_mod
INTEGER, INTENT(IN) :: Dial_A_In , Dial_B_In , Dial_C_In
INTEGER, INTENT(OUT) :: Dial_A_Out , Dial_B_Out , Dial_C_Out , Iteration_Count
Iteration_Count = 0
DO Dial_A_Out = 1, Dial_A_In, 1
DO Dial_B_Out = 1, Dial_B_In, 1
DO Dial_C_Out = 1, Dial_C_In, 1
WRITE(*,*) '1st Dial:', Dial_A_Out, '2nd Dial:', Dial_B_Out, '3rd Dial:', Dial_C_Out, 'Number of Iterations:', Iteration_Count
Iteration_Count = Iteration_Count + 1
IF (check_solution(Dial_A_Out, Dial_B_Out, Dial_C_Out) .EQV. .TRUE.) EXIT
END DO
IF (check_solution(Dial_A_Out, Dial_B_Out, Dial_C_Out) .EQV. .TRUE.) EXIT
END DO
IF (check_solution(Dial_A_Out, Dial_B_Out, Dial_C_Out) .EQV. .TRUE.) EXIT
END DO
IF (check_solution(Dial_A_Out, Dial_B_Out, Dial_C_Out) .EQV. .TRUE.) THEN
WRITE(*,*) 'The Combination has been Found'
WRITE(*,*) 'It took', Iteration_Count, 'attempts'
ELSE IF (check_solution(Dial_A_Out, Dial_B_Out, Dial_C_Out) .EQV. .FALSE.) THEN
WRITE(*,*) 'The Combination could not be Found'
END IF
END SUBROUTINE sevensub
問題是我無法打開該模塊的源文件,看看它是什麼要求,所以這是怎樣的一個猜謎遊戲的。
郵政相關的代碼,並在這裏直接的錯誤,爲文本。 – Carcigenicate
INTEGER,INTENT(IN):: Dial_A_In,Dial_B_In,Dial_C_In 返回錯誤:(1)處的符號不是DUMMY變量。 IF(check_solution().EQV .TRUE。)EXIT 返回錯誤:缺少實際參數爲參數的「a」(1) 問題是我無法打開該模塊的源代碼文件,看看它是什麼呼籲,所以這是一種猜謎遊戲。 –
不作爲一個混亂的評論。取而代之的是,將您的帖子放在那裏,並且可以正確格式化並輕鬆看到。 –