N人上班,按照白、夜、休三班倒,如何每月按此顺序自动排班 题意明白了,好象应该这样写 1 2 3 4 5 6 7 8 甲 白 夜 休 白 夜 休 白 夜 乙 夜 休 白 夜 休 白 夜 休 丙 休 白 夜 休 白 夜 休 白 Right? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样吧:计算100天内的排班,pik[i,1]为星期几,pik[i,2]甲的排班,pik[i,3]乙的排班,pik[i,4]丙的排班:var pik : array [1..100,1..4] of string[10]; i,j,k, multer1,multer2,multer3: integer;begin multer1:= 0; multer2:= 1; multer3:= 2; for i:=1 to 100 do begin case (i mod 7) of 1: pik[i, 1]:= '星期一'; 2: pik[i, 1]:= '星期二'; 3: pik[i, 1]:= '星期三'; 4: pik[i, 1]:= '星期四'; 5: pik[i, 1]:= '星期五'; 6: pik[i, 1]:= '星期六'; 7: pik[i, 1]:= '星期七'; end; case ((multer1+i) mod 3) of 1: pik[i, 2]:= '白班'; 2: pik[i, 2]:= '夜班'; 3: pik[i, 2]:= '休息'; end; case ((multer2+i) mod 3) of 1: pik[i, 3]:= '白班'; 2: pik[i, 3]:= '夜班'; 3: pik[i, 3]:= '休息'; end; case ((multer3+i) mod 3) of 1: pik[i, 4]:= '白班'; 2: pik[i, 4]:= '夜班'; 3: pik[i, 4]:= '休息'; end; end;end; 搞错了,应该是:var pik : array [1..100,1..4] of string[10]; i,j,k, multer1,multer2,multer3: integer;begin multer1:= 0; multer2:= 1; multer3:= 2; for i:=1 to 100 do begin case (i mod 7) of 1: pik[i, 1]:= '星期一'; 2: pik[i, 1]:= '星期二'; 3: pik[i, 1]:= '星期三'; 4: pik[i, 1]:= '星期四'; 5: pik[i, 1]:= '星期五'; 6: pik[i, 1]:= '星期六'; 0: pik[i, 1]:= '星期七'; end; case ((multer1+i) mod 3) of 1: pik[i, 2]:= '白班'; 2: pik[i, 2]:= '夜班'; 0: pik[i, 2]:= '休息'; end; case ((multer2+i) mod 3) of 1: pik[i, 3]:= '白班'; 2: pik[i, 3]:= '夜班'; 0: pik[i, 3]:= '休息'; end; case ((multer3+i) mod 3) of 1: pik[i, 4]:= '白班'; 2: pik[i, 4]:= '夜班'; 0: pik[i, 4]:= '休息'; end; end;end; I think...问题的卡口在月和月之间如何接上!RIGHT? zzy73(地平线),理解透彻,洞悉清楚,可是答案是什么呢?这个问题对我来说比申奥更重要! 是N人吗?我没上个班,我不知如果是4个人是AD一班,还是BD一班,还是怎样安排,能不能细一点. to dzogchen(雪茹)如果是N人,有丁很怪吗? 好像挺简单,现把一个人的排班搞清楚,现设定一个排班的为例:对甲来说排班周期为T=3,先确定上第一个班的日期,假如为2001-7-16,则根据周期来算,2001-7-19与2001-7-16上的班是一样的,以此类推2001-7-16的任意日期都可推算出他应该上的班为: (sDate-(2001-7-16)+1) mod 3=0 上排班中的第一个班 (sDate-(2001-7-16)+1) mod 3=1 上排班中的第二个班 (sDate-(2001-7-16)+1) mod 3=2 上排班中的第三个班sDate为2001-7-16后的任意日期, 更正: (sDate-(2001-7-16)) mod 3=0 上排班中的第一个班 (sDate-(2001-7-16)) mod 3=1 上排班中的第二个班 (sDate-(2001-7-16)) mod 3=2 上排班中的第三个班 多日没来了!TO dzogchen你是否为了要出结果报表? ehlib过滤问题! 请问有谁用Delphi写过磁条卡写卡程序没有?如有请给一段代码。 如何在DBGRID中实现自动汇总呀. Delphi复制SQL数据库 求ODAC-TOraStoredProc返回带参数的游标的代码。 为什么和Dephi 5开发人员指南说的不同? Delphi里面有没有什么查找窗口的好方法??(急!等) 为什么我的BDE连接不上,有哪些可能??? 今天只想找地方散分!! 如何使用抽象类,例如Tstring ClientDataSet1控件更新dbgrid中的数据时,执行applyupdates(-1)为何乱存盘了? 我的烦恼_颜色
计算100天内的排班,pik[i,1]为星期几,pik[i,2]甲的排班,pik[i,3]乙的排班,
pik[i,4]丙的排班:
var
pik : array [1..100,1..4] of string[10];
i,j,k, multer1,multer2,multer3: integer;
begin
multer1:= 0;
multer2:= 1;
multer3:= 2;
for i:=1 to 100 do
begin
case (i mod 7) of
1: pik[i, 1]:= '星期一';
2: pik[i, 1]:= '星期二';
3: pik[i, 1]:= '星期三';
4: pik[i, 1]:= '星期四';
5: pik[i, 1]:= '星期五';
6: pik[i, 1]:= '星期六';
7: pik[i, 1]:= '星期七';
end;
case ((multer1+i) mod 3) of
1: pik[i, 2]:= '白班';
2: pik[i, 2]:= '夜班';
3: pik[i, 2]:= '休息';
end;
case ((multer2+i) mod 3) of
1: pik[i, 3]:= '白班';
2: pik[i, 3]:= '夜班';
3: pik[i, 3]:= '休息';
end;
case ((multer3+i) mod 3) of
1: pik[i, 4]:= '白班';
2: pik[i, 4]:= '夜班';
3: pik[i, 4]:= '休息';
end;
end;
end;
var
pik : array [1..100,1..4] of string[10];
i,j,k, multer1,multer2,multer3: integer;
begin
multer1:= 0;
multer2:= 1;
multer3:= 2;
for i:=1 to 100 do
begin
case (i mod 7) of
1: pik[i, 1]:= '星期一';
2: pik[i, 1]:= '星期二';
3: pik[i, 1]:= '星期三';
4: pik[i, 1]:= '星期四';
5: pik[i, 1]:= '星期五';
6: pik[i, 1]:= '星期六';
0: pik[i, 1]:= '星期七';
end;
case ((multer1+i) mod 3) of
1: pik[i, 2]:= '白班';
2: pik[i, 2]:= '夜班';
0: pik[i, 2]:= '休息';
end;
case ((multer2+i) mod 3) of
1: pik[i, 3]:= '白班';
2: pik[i, 3]:= '夜班';
0: pik[i, 3]:= '休息';
end;
case ((multer3+i) mod 3) of
1: pik[i, 4]:= '白班';
2: pik[i, 4]:= '夜班';
0: pik[i, 4]:= '休息';
end;
end;
end;
问题的卡口在月和月之间如何接上!RIGHT?
这个问题对我来说比申奥更重要!
如果是N人,有丁很怪吗?
对甲来说排班周期为T=3,先确定上第一个班的日期,假如为2001-7-16,则根据周期来算,
2001-7-19与2001-7-16上的班是一样的,以此类推2001-7-16的任意日期都可推算出他
应该上的班为:
(sDate-(2001-7-16)+1) mod 3=0 上排班中的第一个班
(sDate-(2001-7-16)+1) mod 3=1 上排班中的第二个班
(sDate-(2001-7-16)+1) mod 3=2 上排班中的第三个班sDate为2001-7-16后的任意日期,
(sDate-(2001-7-16)) mod 3=0 上排班中的第一个班
(sDate-(2001-7-16)) mod 3=1 上排班中的第二个班
(sDate-(2001-7-16)) mod 3=2 上排班中的第三个班
TO dzogchen
你是否为了要出结果报表?