斑竹你好,请教个问题。在线等
有个程序以前经常用的,不过这次用起来老是出现问题。请帮助一下。调班后学生班级不进行调换了。程序代码:
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数据表在附件
mingdan2008.rar
(28.36 KB)
[ 本帖最后由 tianbolw 于 2010-8-27 19:29 编辑 ]