我必須計算不同日期的銷售時間間隔的佣金,並形成一個表格「日」,「銷售」,「佣金」。到目前爲止,我已經做到了這一點:Fortran 90字符數組錯誤
real::a(5),b(5)
character(10)::c(5)=(/Sunday,Monday,Tuesday,Wednesday,Thursday/)
open(1,file='in_1.txt')
open(2,file='out_1.txt')
read(1,*)(a(i),i=1,5)
do i=1,5
if(0.<a(i).and.a(i)<99.)then
b(i)=a(i)*.02
elseif(100.<a(i).and.a(i)<299.)then
b(i)=a(i)*.05
elseif(300.<a(i).and.a(i)<499.)then
b(i)=a(i)*.075
else
b(i)=500.*.1+(a(i)-500.)*.125
endif
enddo
write(2,*)' Day ',' Sales ',' Commissions '
do i=1,5
write(2,10)c(i),a(i),b(i)
10 format(a10,t15,f4.1,t25,f8.2)
enddo
total=0.
do i=1,5
total=total+b(i)
enddo
write(2,20)total
20 format('Total Commissions',t25,f8.2)
end
從週日至週四,銷售都在輸入文件in_1.txt。
運行時,它顯示錯誤:REAL(4)數組構造函數中的元素是INTEGER(4)。
這是什麼意思,以及如何解決它?
編譯器在第2行大量散播。我使用Code :: Blocks 13.12作爲編譯器。 –
如果這是你的完整代碼,那麼'implicit none'作爲你的第一行會告訴你爲什麼會出現問題 – francescalus
隱式規則 - > Sunday =單精度實數 - >實數(4)數組 - >星期一=整數 - >錯誤? – roygvib