标题:面试考场编排
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用chychychy在2023-3-25 21:13:01的发言:

高手,佩服五体投地。测试完全符合要求。超赞
再请教面试室对应候考室不一定,本次是4个面试室对应一个候考室,共8个,多的放在最后。但我的会出现大于8的,就用笨办法repl替换的,请帮忙优化一下,再跟你学习精简化的程序语言。
i=1
n=1
GO top
do WHILE n<=33
repl 候考室 with n for 组别<=i+4 and 组别>=i&&&&每4个面试室一个候考室,逐渐加
n=n+1
i=i+4
enddo
REPLACE 候考室 WITH 8 FOR 候考室>8 all

问题解决了吗

坚守VFP最后的阵地
2023-03-27 18:39
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
回复 21楼 sdta
谢谢,我用了两句处理的,一句是CEILING函数,原来9行,这样两行简洁了不少
REPLACE 候考室 WITH CEILING(组别/4) all&&&但是会有大于8的,这次要求是最大8个候考室,觉得这种要求是个例不是普通的,就加用了下一句
REPLACE 候考室 with 8 for 候考室>8 all

[此贴子已经被作者于2023-3-27 22:40编辑过]

2023-03-27 22:39
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
一句就可以解决问题,虽然是个例,这是解决问题的一个思路
REPLACE 候考室 WITH IIF(CEILING(组别/4) <= 8, CEILING(组别/4), 8) ALL

坚守VFP最后的阵地
2023-03-27 22:50
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
以下是引用sdta在2023-3-27 22:50:28的发言:

一句就可以解决问题,虽然是个例,这是解决问题的一个思路
REPLACE 候考室 WITH IIF(CEILING(组别/4) <= 8, CEILING(组别/4), 8) ALL

惭愧,“解决问题的一个思路”,这句经典!思路最重要。学习了
2023-03-27 23:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511668-1-1.html




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

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