1樓:
index on 班級+str(總分) tag temp desc && 前提班級字元型、總分數值型
go top
lnrank=1 && 實際排名lnrankindex=1 && 記錄排名變數lnscore=總分 && 總分判斷記錄變數inbanji=班級 && 班級判斷記錄變數 新加scan
if inbanji#班級 && 班級變了就重新賦值lnrank=1 && 排名lnrankindex=1 && 排名lnscore=總分 && 總分判斷記錄變數inbanji=班級 && 班級判斷記錄變數 新加else
if 總分#lnscore
lnscore=總分
lnrank=lnrankindex
else
lnrank=lnrank
endif
endif
replace 班級名次 with lnranklnrankindex=lnrankindex+1endscan
set index to
2樓:五指梳
樓上的方法可行,但是用vfp的統計函式count更簡潔,連索引都可以省去!
原理就是統計總分比當前記錄大的記錄數(即人數),排名就是記錄數+1,如果為0,即排名第一!
把do...enddo之間的備註用的「*」去掉,則年級排名,班級排名就一次出來了,
程式簡單明瞭
**如下:(由於沒成績表,未經執行驗證)
local inrank,inrankb,inscore,inbanji,tmprec &&宣布臨時變數
*inrank && 年級實際排名-1
*inrankb && 班級實際排名-1
*inscore && 總分判斷記錄變數
*inbanji && 班級判斷記錄變數
*tmprec && 臨時記錄號
go top
do while !eof()
inscore=總分
inbanji=班級
tmprec=recno()
* count for 總分》inscore to inrank &&年級名次-1
count for 總分》inscore and 班級==inbanji to inrankb &&班級名次-1
go tmprec
* replace 年級名次 with inrank+1
replace 班級名次 with inrankb+1
skip
enddo
3樓:文心雕龍
演算法描述:資料量不大的話可以用統計來實現
go top
do while .not. eof()
zf=總分
wz=recn()
bj=班級
nj=lfet(學號,4)
count to rs1 for 總分》zf for left(學號,4)=nj
count to rs2 for left(學號,4)=nj .and. 班級=bj
go wz
repl 年級名次 with rs1,班級名次 with rs2skip
enddo
當然如果資料量較大,就要考慮執行時間成本了
各位英語高手,請教幾個問題,請教各位英語高手
1 b 關掉 2 c 不必 3 c4 a be ready to do sth5 a 翻譯 薩姆正帶存款去郵局時,這時他把錢包丟了。解釋 1.此題考查when的乙個特殊用法 when可以做並列連詞,引導並列句,而不是做從屬連詞引導時間狀語從句。此時when and then,翻譯為 就在這時 此種用...
有些問題想請教各位高手,願受指點
1 p4b266c採用i845d晶片組,是p4b266的簡化產品,不支援usb2.0模式,只有兩條記憶體插槽,砍掉了cnr插槽和10 100m網絡卡,但支援ddr 266記憶體,但不是雙通道!理論上你可以購買ddr 266 ddr 333 ddr 400,因為高頻會自動向下相容,但533好像不行。2...
有個問題請教各位 急!急
在每個箱子作上記號,分別拿出1瓶,2瓶,一直到10瓶,放在秤上,如果缺50g則為第一箱,如果缺100克則為第二箱,依次類推,如果缺500g則為第十箱,這樣只要秤一次,就可以知道是哪個箱子中的飲料重量不夠了 問客戶是哪一箱少,然後把那一箱少的整箱放上去,看夠不夠16千克.同意樓上,一次全放上去 關於調...