hur.cn - 华软网

 热门搜索

(在线等待:顶者有分)如何自动生成准考证号?

  作者:未知    来源:网络    更新时间:2018/6/13
假如我现在有3000人。每个考场有30人,按报考职位为,053和054各代表一个职位,如果表里的职位代码是01则准考证前三位是053,如果表里的职位代码是02则准考证前三位是054,第4、5位是考场号,从01开始,后4位是考场考号如第一个为0101,这代表第一个考场的第一号。30人过后,后4位应变为0201,以此类推,直到排完3000为止。请问大虾们,谁能帮小弟我渡过这个难关,谢谢大家了!
------华软网友回答------
up,学习
------华软网友回复------
总人数=3000
每场人数=30

if 职位代码='01' then
  考号0='053'
else
  if 职位代码='02' then
      考号0=‘054’
  end if
end if

考场号= 01
do while 总人数 > 0
    座位号=01
    do while  座位号 <= 每场人数 and 总人数 >0
      考号=考号0+string(考场号,‘00’)+string(座位号,‘00’)
      座位号=座位号 + 1
      总人数 = 总人数 - 1
    loop
    考场号= 考场号 + 1
loop


------华软网友回复------
ing

------华软网友回复------
建一table型的数据窗口,dw_1要设为能update,选择考生的有关信息。
int i,j,k
string appointment '职位
string examinee_id '考号
dw_1.retrieve()
j=1   '考场号
k=1  
for i=1 to dw_1.rowocunt()
    appointment=dw_1.getitemstring(i,'appointment')   '引号内为职位代码字段名
    choose case appointment
       case '01'
          examinee_id='053'
       case '02' 
     examinee_id='054'
  end choose
    examinee_id=examinee_id+string(j,'00')+string(k,'00')
    k=k+1
    if k=31 then
      j=j+1
      k=1
    end if
    dw_1.setitem(i,'examinee_id',examinee_id)
next
dw_1.accepttext()
if dw_1.update() <> 1 then
messagebox('提示','数据保存失败',information!,ok!)
rollback;
else
messagebox('提示','数据保存成功',information!,ok!)
commit;
end if
------华软网友回复------
to: hszjx(留心剑)

首先谢谢你。
问题:应该是从31开始重新编号,但你的这个从11就开始重新编号。应该30一轮换,但你的是10一轮换,怎么改成30一轮换的。。。。谢谢了。。。。
------华软网友回复------
to: hszjx(留心剑)
我说错了。。。不是那个原因,是少了两位,应该是9位,可是你的只有7位。。。
后4位应该是考场号+考号两部分组成的。。。。

------华软网友回复------
examinee_id=examinee_id+string(j,'00')+string(k,'00')
稍加改动
examinee_id=examinee_id+string(j,'00')+string(j,'00')+string(k,'00')
------华软网友回复------
不可能完成,根据楼主提供的数据总人数是3000人,每个考场30人,也就是要有100个考场,当排到第一百个考场的时候会出错误,因为楼主有个条件是后4位是考场考号,到了100考场的时候会出现5位数字。
如果不考虑准考证的位数则 ‘csdsjkk()’ 和 ‘hszjx(留心剑)’ 所给的程序都是正确的。
------华软网友回复------
to: hszjx(留心剑)

如果把两个职位分开做,那又应该怎么做啊?请大虾们赐教

------华软网友回复------
dw_1选择考生的有关信息,可以order by appointment '职位
------华软网友回复------
同意zhdCSDN(加班至深夜)所说      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。