| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5029 人关注过本帖, 1 人收藏
标题:每次考试都要打乱顺序随机编排考场,一个考场30人
只看楼主 加入收藏
swcihc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-2-24
结帖率:0
收藏(1)
已结贴  问题点数:10 回复次数:10 
每次考试都要打乱顺序随机编排考场,一个考场30人
每次考试都要打乱顺序随机编排考场,一个考场30人,座号从01到30,怎么排啊请教了
搜索更多相关主题的帖子: 考试 
2012-02-24 09:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
按年级班(每个班的编号不允许缺号)统一编号(BH),然后MOD(BH,考场数),余数相同的一个考场。相同余数的重新编号。

[ 本帖最后由 sdta 于 2012-2-28 00:20 编辑 ]

坚守VFP最后的阵地
2012-02-24 10:21
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:2 
程序代码:
********************************************
* 全县毕业考试场编排
* 随机编排毕业考证号、试场、座位号
* 翁建林 完成时间2007年4月11日星期三13:29
********************************************
CLOSE DATABASES
SET SAFETY off
SET engi 70
SELECT 0
USE bybmk
IF !EMPTY(sjs)
  MESSAGEBOX('试场号已生成,不能重排!!!',64,'提示')
  RETURN
ENDIF
REPLACE sjs with allt(str(val(subs(time(),7))*rand()*123456789)) all
INDEX ON school+sjs to ls
SET ORDER TO ls
GO top
nZKZH=VAL('11001')
DO WHILE !EOF()
  czwh=101
  cxxdm=school
  DO WHILE !EOF().AND.czwh<=130 .and. school=cxxdm
    REPL sch WITH SUBSTR(allt(STR(nZKZH)),2)
    repl zwh with subs(allt(str(czwh)),2)
    czwh=czwh+1
    SKIP +1
  ENDDO
  nZKZH=nZKZH+1
ENDDO
go top
nZKZH=VAL('1100001')
DO WHILE !EOF()
  REPL bykh WITH SUBSTR(allt(STR(nZKZH)),2)
  SKIP +1
  nZKZH=nZKZH+1
ENDDO

只求每天有一丁点儿的进步就可以了
2012-02-24 13:15
swcihc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-2-24
收藏
得分:0 
回复 3楼 wengjl
非常感谢你的热心帮助,不过由于我是刚入门,看不太懂啊,能做个简单的说明吗,呵呵 ,谢谢啦
2012-02-25 11:28
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用swcihc在2012-2-25 11:28:45的发言:

非常感谢你的热心帮助,不过由于我是刚入门,看不太懂啊,能做个简单的说明吗,呵呵 ,谢谢啦
先学会走,才能学跑

坚守VFP最后的阵地
2012-02-25 11:41
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:2 
简单的来了

SELECT 座位表
SCAN
    REPL SORT WITH RAND() * 10000000
ENDSCAN
SELECT * FROM 座位表 ORDER SORT INTO CURSOR 新座位表
 
2012-02-25 23:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用swcihc在2012-2-24 09:30:59的发言:

每次考试都要打乱顺序随机编排考场,一个考场30人,座号从01到30,怎么排啊请教了
******************************************************
* 考场安排:30人/考场
* 特点:当考生人数不是30的整数倍时,1号考场空1号座位
******************************************************
CLEAR
CREATE CURSOR
KC (考生号 C(4),考场号 C(4),座位号 C(7))
NUM=1821 &&总人数
KCS=INT(NUM/30)+IIF(MOD(NUM,30)=0,0,1) &&考场数
FOR I=1 TO NUM
    INSERT INTO KC VALUE (PADL(I,4,"0"),PADL(MOD(I,KCS)+1,4,"0"),"")
ENDFOR
SELECT * FROM KC ORDER BY 考场号 INTO DBF MMM
REPLACE ALL 座位号 WITH 考场号+"-"+TRANSFORM(MOD(RECNO(),30)+1)
BROWSE
CLOSE TABLES
ERASE
MMM.DBF

[ 本帖最后由 sdta 于 2012-2-28 00:31 编辑 ]

坚守VFP最后的阵地
2012-02-28 00:12
zkzcs
Rank: 2
等 级:论坛游民
帖 子:30
专家分:17
注 册:2005-9-25
收藏
得分:2 
思路1、用随机数替换字段sjh
repl all zh with rand()*1000
2、以sjh排序
select * from 学生表  order by sjh into table 按sjh的排序表
3、编排考号kh
4、编排座号1--30 zh
go top
do while !eof()
   for k=1to 30
   repl zh with k
   if !eof()
         skip
        else
        exit
    endif
   endfor
enddo

[ 本帖最后由 zkzcs 于 2012-3-2 14:48 编辑 ]
2012-03-02 14:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
继续……

授人以渔,不授人以鱼。
2012-03-02 14:59
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
收藏
得分:0 
谢谢谢谢
2012-03-05 20:11
快速回复:每次考试都要打乱顺序随机编排考场,一个考场30人
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021009 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved