24小时热门版块排行榜    

查看: 426  |  回复: 3

zyj8119

木虫 (著名写手)

[交流] 【求助】这个程序明明没有错误,但是编译就是显示有个错误【已完结】 已有1人参与

CODE:
FUNCTION plus(hex1,hex2) RESULT(hexsum)
INTEGER::dec1,dec2,tmp,n=8,k,i
CHARACTER(len=*)::hex1,hex2,hexsum
    dec1=h2d(hex1);dec2=h2d(hex2);tmp=dec1+dec2;hexsum=d2h(tmp)
        CONTAINS
         FUNCTION d2h(dec) RESULT(hex)
         CHARACTER(len=8)::hex
         CHARACTER(len=16)::hexc=(/'0123456789ABCDEF'/)
         INTEGER,INTENT(in)::dec
         tmp=dec;hex='';k=0
         DO WHILE(tmp/=0)
          i=MOD(tmp,16);hex(n-k:n-k)=hexc(i+1:i+1);
          tmp=tmp/16;k=k+1
         END DO
         END FUNCTION d2h
         FUNCTION h2d(hex) RESULT(dec)
         INTEGER::dec
         INTEGER,PARAMETER::asciiA=65,asciiF=70,ascii0=48,ascii9=57
         CHARACTER(len=8),INTENT(in)::hex
     dec=0
         DO i=1,n
         IF(hex(i:i)=='')THEN
           CYCLE
         ELSE
           tmp=ICHAR(hex(i:I))
           SELECT CASE(tmp)
                  CASE(asciiA:asciiF);k=tmp-55
                          CASE(ascii0:ascii9);k=tmp-48
                          CASE DEFAULT;  EXIT
                END SELECT
        END IF
        dec=dec*16+k
  END DO
END FUNCTION h2d
END FUNCTION plus
!
PROGRAM HEX_plus
INTERFACE OPERATOR(+)
  FUNCTION plus(hex1,hex2) RESULT(hexsum)
  CHARACTER(len=7),INTENT(in)::hex1,hex2
  CHARACTER(len=8)::hexsum
  END FUNCTION plus
END INTERFACE
CHARACTER(len=7)::hex1,hex2,result*8
OPEN(1,FILE='myf1.out')
hex1='1FAB21';hex2='2EDC34';result=hex1+hex2
WRITE(1,'(A8)')result; WRITE(*,'(A8)')result
END PROGRAM Hex_Plus

[ Last edited by 余泽成 on 2010-9-10 at 16:19 ]
回复此楼

» 猜你喜欢

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

显示的错误是:
--------------------Configuration: 4 - Win32 Debug--------------------
Compiling Fortran...
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\4.f90
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\My Projects\4.f90(8) : Error: The shapes of the array expressions do not conform.
  CHARACTER(len=16)::hexc=(/'0123456789ABCDEF'/)
-----------------------------------^
Error executing df.exe.

4.obj - 1 error(s), 0 warning(s)
好好学习,天天向上。
2楼2010-09-10 01:01:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
zyj8119(金币+1):谢谢参与
zyj8119(金币+9):谢谢指教! 2010-09-10 08:53:09
余泽成(金币+1):辛苦了! 2010-09-10 16:19:31

CHARACTER(len=16)::hexc=(/'0123456789ABCDEF'/)
改成
CHARACTER(len=16)::hexc='0123456789ABCDEF'
试试
3楼2010-09-10 08:51:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

编译通过,此贴结帖。
好好学习,天天向上。
4楼2010-09-10 09:39:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见