斑竹你好,请教个问题。在线等
有个程序以前经常用的,不过这次用起来老是出现问题。请帮助一下。调班后学生班级不进行调换了。
程序代码:accept '年级名称:' to xdm
do while .t.
use 'mingdan'+allt(xdm)
do while .t.
accep '调班学生姓名是:' to tbxm
disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for 姓名=allt(tbxm)
accep '找到调班学生,记下记录号……,空格继续查找): ' to ans
if val(ans)>=1
exit
else
loop
endif
enddo
do while .t.
input '请输入调班学生记录号:' to aaaa
go aaaa
stor allt(czcxh)+allt(姓名)+allt(str(班级)) to aaaaz
stor 班级 to bj1
stor 总成绩 to zcj
stor 科类 to kl1
if 调='T'
?' 该生已调!该生已调!该生已调!'
endif
?'调班学生信息如下:'
disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for recn()=aaaa
accep '确认按数字键1,空格重新输入调班学生记录号 需要留在该班按数字键0……:' to ans
if val(ans)>=1
exit
else
if ans='0'
clear
go aaaa
repl 调 with 'T'
do allt(xdm)+'bzr'
?'该生已调:'
list 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for recn()=aaaa
exit
endif
loop
endif
enddo
if ans<>'0'
do while .t.
input '请输入目标班班级序号:' to mb
?'从下列学生中选择对换学生'
*if (zcj>=550.and.kl1='1').or.(zcj>=550.and.kl1='1')
*disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for (总成绩>=int(zcj/10)*10).and.(总成绩<int(zcj/10+1)*10).and.科类=kl1.and.班级=mb.and.调<>'T'
*endif
*if (zcj<550.and.kl1='1').or.(zcj<550.and.kl1='1')
disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for (总成绩>=int(zcj/10-2)*10).and.(总成绩<int(zcj/10+2)*10).and.科类=kl1.and.班级=mb.and.调<>'T'
*endif
accep '找到对换学生,记下记录号……(确认按数字键1,空格继续选择):' to ans
if ans='1'
exit
else
loop
endif
enddo
do while .t.
input '请输入对换学生学生记录号:' to bbbb
go aaaa
?'调班学生:'
disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for recn()=aaaa
go bbbb
stor allt(czcxh)+allt(姓名)+allt(str(班级)) to bbbbz
stor mb to bj2
stor 科类 to kl2
stor 总成绩 to zcj2
?'对换学生:'
disp all 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for recn()=bbbb
accep '同意进行对换按数字键1,空格重新输入对换学生记录号: ' to ans
if kl1=kl2
if ans='1'
if abs(zcj2-zcj)<30
go bbbb
repl 班级 with bj1
repl 调 with 'H'
repl bz with aaaaz+'→'+allt(str(bj1))+'于'+dtoc(date())+' '+time()
repl 时间 with date()
go aaaa
repl 班级 with bj2
repl 调 with 'T'
repl bz with bbbbz+'→'+allt(str(bj2))+'于'+dtoc(date())+' '+time()
repl 时间 with date()
do allt(xdm)+'bzr'
?'两学生已经对调:'
list 考号,科类,姓名,班级,xb,调,总成绩,校名次,班主任,rxksh,byxx,原班级 for recn()=aaaa.or.recn()=bbbb
else
?'出现错误,成绩差大于30分!'
endif
exit
else
loop
endif
else
?'文理科类不对!'
endif
enddo
endif数据表在附件
[ 本帖最后由 tianbolw 于 2010-8-27 19:29 编辑 ]








