我必须计算不同日期的销售时间间隔的佣金,并形成一个表格“日”,“销售”,“佣金”。到目前为止,我已经做到了这一点: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