| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2231 人关注过本帖
标题:[求助]排课代码
只看楼主 加入收藏
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:30 
[求助]排课代码
各位论友,新年好!本人正做一个排课系统遇到一个问题.一个老师同一节课在不同的班级不能有相同的科目.以下代码可以解决一个老师只能担任两个班课.如果一个老师担任有三个或三个班课,排出的课可能有冲突.不知哪位高手有何妙招帮我解决这个问题呢?
use zkb
...................

m=0
g=0
FOR k=1 TO ALEN(b)

locate FOR  EMPTY(kmname) AND bjname=b(k) AND between(jb,1,5)AND jb!=m
IF FOUND()
m=jb
replace kmname WITH "语文"
g=g+1
IF g>3
EXIT
ELSE
LOOP
ENDIF
ENDIF
endfor
............
其中kmnane表示科目,jb表示第几节,b(k)贮存有班级数组.

[ 本帖最后由 TZTJ 于 2012-2-5 15:13 编辑 ]
搜索更多相关主题的帖子: between 语文 
2012-02-05 15:03
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:7 
能否共享一下你的排课系统的架构及思路!!!
2012-02-05 15:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:7 
用排列组合的办法试试

坚守VFP最后的阵地
2012-02-05 17:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:0 
排课流程,是全校的,还是某一个系的,课程名称表有吗
细节性的问题要讲清楚,否则无法解决问题。

坚守VFP最后的阵地
2012-02-05 20:56
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
我采用数组可以基本解决了问题,但觉得不时最佳方法.
2012-02-06 10:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:0 
以下是引用TZTJ在2012-2-6 10:26:11的发言:

我采用数组可以基本解决了问题,但觉得不时最佳方法.
没有比数组方法再合适的方法了,满足吧

坚守VFP最后的阵地
2012-02-06 18:47
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
各位论友,我遇到一种怪现象,用了数组可以解决以上问题,但第三个班第一节是空的,后面的班级根本没有排课,如果不空的,又可以,原因何在?请高手指点

USE szb

.........................
m=0
g=0
DIMENSION a(10)
STORE 0 TO a
FOR k=1 TO ALEN(b)
locate FOR  EMPTY(kmname) AND bjname=b(k) AND xq=ALLTRIM(thisform.optiongroup1.Buttons(t).caption) AND between(jb,1,4)AND jb!=m
IF FOUND()
m=jb
nps=ASCAN(a,jb)
IF nps!=0
continue
else
STORE jb TO a(k)
replace kmname WITH ALLTRIM(thisform.list2.Value)  
g=g+1
b(k)=null
ENDIF
IF g>2
EXIT
ELSE
LOOP
ENDIF
ENDIF
endfor
...........................
2012-02-07 17:55
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:7 
原始表缺少或缺少必需字段
2012-02-07 19:49
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
不可能,如果去掉
nps=ASCAN(a,jb)
IF nps!=0
continue
else
它就有排课,只不过课程有冲突.我试过很多次,只要第一节排有课,它就没问题.我人为在数组使用过程中有不妥地方.但我查不出原因
2012-02-07 22:32
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
TO:TZTJ

请问做排课系统的DBF表是如何构建的?    能否介绍一二?
2012-02-08 17:48
快速回复:[求助]排课代码
数据加载中...
 
   



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

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