| 3 | 1/1 | 返回列表 |
| 查看: 929 | 回復(fù): 2 | |||
_yixiao鐵蟲 (小有名氣)
|
[交流]
【求助】一個fortran程序轉(zhuǎn)換為VC++ 程序 已有2人參與
|
|
這個一個關(guān)于建立體心立方結(jié)構(gòu)的小程序,用fortran編的,現(xiàn)在想用VC++ 6.0編寫,可是我編寫后(我沒用動態(tài)數(shù)組,這個應(yīng)該問題不大吧?)能夠編譯,但是運(yùn)行不出結(jié)果,不曉得哪有出錯 麻煩各位大俠幫忙看看,能不能編寫看看。。;蛘呖纯次揖幍哪腻e了。。。十分感謝! 原fortran程序: program structure implicit none integer :: i,ix,iy,iz,ncellx,ncelly,ncellz,iatoms,natoms,ibas !整數(shù) real*8 :: xunit(2),yunit(2),zunit(2),a !三個一維的實(shí)數(shù)數(shù)組 real*8,allocatable,dimension( :: xbas,ybas,zbas !定義三個一維動態(tài)數(shù)組a=2.8664d0 ! Fe的晶格常數(shù) ! 單胞原子坐標(biāo) xunit(1)=0.0d0 yunit(1)=0.0d0 zunit(1)=0.0d0 xunit(2)=0.50d0 yunit(2)=0.50d0 zunit(2)=0.50d0 ! 在xyz方向重復(fù)次數(shù) write(*,*) 'Numbers of unit cells in x,y,z?' read (*,*) ncellx, ncelly, ncellz iatoms=0 natoms=2 * ncellx * ncelly * ncellz allocate(xbas(natoms)) !給動態(tài)數(shù)組分配內(nèi)存 allocate(ybas(natoms)) allocate(zbas(natoms)) do ix=1,ncellx do iy=1,ncelly do iz=1,ncellz do ibas=1,2 iatoms=iatoms+1 xbas(iatoms)=(float(ix-1)+xunit(ibas))*a ybas(iatoms)=(float(iy-1)+yunit(ibas))*a zbas(iatoms)=(float(iz-1)+zunit(ibas))*a enddo enddo enddo enddo ! 輸出一個xyz文件 open(11,file='Fe.xyz',status='new') do i=1,iatoms write(11,10)i,xbas(i),ybas(i),zbas(i) enddo 10 format(i6,1x,7(f10.5,1x),4(i3,1x)) end program 我用VC++ 6.0改的程序: void CBCC_CrystalDlg::OnCalculate() { // TODO: Add your control notification handler code here FILE * fileFe_xyz = fopen("Fe_xyz.txt", "w+" ;fprintf(fileFe_xyz, "i xbas ybas zbas\n" ;a=2.8664; xunit[0]=0.0; yunit[0]=0.0; zunit[0]=0.0; xunit[1]=0.50; yunit[1]=0.50; zunit[1]=0.50; ncellx=M; ncelly=M; ncellz=M; iatoms=0; natoms=2*ncellx*ncelly*ncellz; for(int i=0;i xbas=0; ybas=0; zbas=0; } for(ix=1;i<=ncellx;ix++) { for(iy=1;iy<=ncelly;iy++) { for(iz=1;iz<=ncellz;iz++) { for(ibas=0;ibas<2;ibas++) { xbas[iatoms]=(float(ix-1)+xunit[ibas])*a; ybas[iatoms]=(float(iy-1)+yunit[ibas])*a; zbas[iatoms]=(float(iz-1)+zunit[ibas])*a; iatoms=iatoms+1; } } } } for(i=0;i fprintf(fileFe_xyz, "%6d %10.5f %10.5f %10.5f\n", i,xbas,ybas,zbas); } fclose(fileFe_xyz); } |

金蟲 (職業(yè)作家)
|
1.樓主說的運(yùn)行不出結(jié)果是什么意思?那運(yùn)行以后是什么現(xiàn)象?這個一定要說清楚的。否則就像去看病,只說醫(yī)生我病了,不說有什么癥狀。 2.樓主VC6的代碼只貼了一個函數(shù),變量聲明沒看到在哪里。 3.貌似樓主用了對話框類,如果是MFC的話寫文件建議用CArchieve類,或者CFile類。 |

鐵蟲 (小有名氣)
| 3 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 304求調(diào)劑 +7 | 司空. 2026-03-18 | 7/350 |
|
|
[考研] 085700資源與環(huán)境308求調(diào)劑 +11 | 墨墨漠 2026-03-18 | 12/600 |
|
|
[考研] 一志愿吉林大學(xué)材料學(xué)碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 廣西大學(xué)家禽遺傳育種課題組2026年碩士招生(接收計算機(jī)專業(yè)調(diào)劑) +3 | 123阿標(biāo) 2026-03-17 | 3/150 |
|
|
[考研] 復(fù)試調(diào)劑 +4 | z1z2z3879 2026-03-14 | 6/300 |
|
|
[考研] 一志愿西安交通大學(xué)材料工程專業(yè) 282分求調(diào)劑 +5 | 楓橋ZL 2026-03-18 | 7/350 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +10 | 秋有木北 2026-03-14 | 10/500 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +5 | 想上岸的鯉魚 2026-03-18 | 6/300 |
|
|
[考研] 311求調(diào)劑 +6 | 26研0 2026-03-15 | 6/300 |
|
|
[考研] 311求調(diào)劑 +11 | 冬十三 2026-03-15 | 12/600 |
|
|
[考研] 299求調(diào)劑 +5 | △小透明* 2026-03-17 | 5/250 |
|
|
[考研] 334求調(diào)劑 +3 | 志存高遠(yuǎn)意在機(jī)?/a> 2026-03-16 | 3/150 |
|
|
[考研] 301求調(diào)劑 +4 | A_JiXing 2026-03-16 | 4/200 |
|
|
[考研] 考研化學(xué)學(xué)碩調(diào)劑,一志愿985 +4 | 張vvvv 2026-03-15 | 6/300 |
|
|
[考研] 302求調(diào)劑 +4 | 小賈同學(xué)123 2026-03-15 | 8/400 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 326求調(diào)劑 +3 | mlpqaz03 2026-03-15 | 3/150 |
|
|
[考研] 26考研一志愿中國石油大學(xué)(華東)305分求調(diào)劑 +3 | 嘉年新程 2026-03-15 | 3/150 |
|