| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3222 人关注过本帖, 1 人收藏
标题:有关中考录取的问题
只看楼主 加入收藏
泛海孤舟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2021-8-15
收藏
得分:0 
回复 20楼 sdta

也可以这么理解,计划生不需考虑dxs的问题,只需考虑等级线是否满足条件,只要分数考得足够高,等级线够即使dxs=.F.也录取,但定向生就需要符合您理解的三个条件,所以我在程序里写了一句If Evaluate(kszy)<>'003701'来判断是否有填003701这个志愿,如果有就要转到查询定向生的资格和定向生计划库。
                           
程序代码:
If zyk.dxsjhk=.T. And Occurs("E",zyk.djf)<=0 .And.Occurs("C",zyk.djf)<=4   && 定向生等级分线要求4C6D
                                    If zyk.tdf>=dxsjhk.fsx
                                        If dxsjhk.lqrs<dxsjhk.lqjh
                                            Replace zyk.lqdm With '003701' In zyk
                                            Replace dxsjhk.lqrs With dxsjhk.lqrs+1 In dxsjhk
                                            Replace dxsjhk.zhzf With zyk.tdf In dxsjhk
                                            Exit
                                        Else
                                            If zyk.tdf==dxsjhk.zhzf
                                                Replace zyk.lqdm With '003701' In zyk
                                                Replace dxsjhk.lqrs With dxsjhk.lqrs+1 In dxsjhk
                                                Exit
                                            Endif
                                        Endif
                                    Endif
                                Endif

我想用Replace all dxsjhk.fsx with jhk.fsx-52 for jhk.lqdm='3701'来控制定向生计划库中的fsx,但运行后都是-52分,而不是我所需要的jhk.fsx-52。
2021-08-15 20:24
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:2 
程序代码:
CLOSE DATABASES ALL 
SET COLLATE TO "MACHINE" 
USE 计划库 ALIAS jhk
SET ORDER TO lqdm 
BLANK FIELDS lqrs, zhzf, fsx ALL 
USE 定向生计划库 ALIAS dxs IN 0
SELECT dxs
SET ORDER TO xxdm
BLANK FIELDS lqrs, zhzf, fsx ALL 

 
* 计划生录取开始 [color=#808080]*[/color]
USE 志愿库 ALIAS zyk IN 0
SELECT zyk
BLANK FIELDS lqdm ALL 
SET ORDER TO tdf 
SCAN 
    FOR lnj = 2 TO 20
        lcfld = EVALUATE(FIELD(lnj))
        IF SEEK(lcFld, "jhk", "lqdm") = .T.
            IF OCCURS("C", zyk.djf) <= jhk.djc AND OCCURS("D", zyk.djf) <= jhk.djd AND OCCURS("E", zyk.djf) <= jhk.dje
                 IF  jhk.lqrs <= jhk.lqjh OR zyk.tdf = jhk.fsx
                    REPLACE lqrs WITH lqrs + 1, fsx WITH zyk.tdf IN jhk
                    REPLACE lqdm WITH lcfld IN zyk
                    EXIT 
                ENDIF 
            ENDIF
        ENDIF 
    ENDFOR
ENDSCAN
BROWSE 
SELECT jhk
GO TOP 
lndxfsx = fsx - 52 && 定向生分数线
BROWSE 
* 计划生录取结束 [color=#808080]*[/color]

* 定向生录取开始 [color=#808080]*[/color]
SELECT zyk
SCAN FOR EMPTY(lqdm) AND dxs = .T. AND tdf >= lndxfsx
    FOR lnj = 2 TO 20
        lcfld = EVALUATE(FIELD(lnj))
        IF lcfld == "113701" AND SEEK(zyk.xxdm, "dxs", "xxdm") = .T.
            IF (zyk.djf <= dxs.djf AND dxs.lqrs <= dxs.lqjh) OR zyk.tdf = dxs.fsx
                REPLACE lqrs WITH lqrs + 1, fsx WITH zyk.tdf IN dxs
                REPLACE lqdm WITH lcfld IN zyk
                EXIT
            ENDIF
        ENDIF 
    ENDFOR
ENDSCAN
BROWSE 
SELECT dxs
BROWSE 
* 定向生录取结束 [color=#808080]*[/color]


[此贴子已经被作者于2021-8-15 23:00编辑过]


坚守VFP最后的阵地
2021-08-15 21:09
泛海孤舟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2021-8-15
收藏
得分:0 
回复 22楼 sdta
学习了,不过结果好像不是我要的,像这些,红色前面都是准确的,但是红色后面那些就错了
图片附件: 游客没有浏览图片的权限,请 登录注册
红色圈起来的这些应该的lqdm应该为003701。
2021-08-15 22:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
应该是你的志愿代码问题,到现在你也没说清楚 定向生 录取规则是什么,让别人明白了 定向生 录取规则,你的问题才能够得到圆满解决。难道说清楚这个问题就这么难吗?我都替你着急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[此贴子已经被作者于2021-8-15 22:56编辑过]


坚守VFP最后的阵地
2021-08-15 22:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
* 定向生录取开始
SELECT zyk
SCAN FOR EMPTY(lqdm) AND dxs = .T. AND tdf >= lndxfsx
    FOR lnj = 2 TO 20
        lcfld = EVALUATE(FIELD(lnj))
        IF lcfld == "113701" AND SEEK(zyk.xxdm, "dxs", "xxdm") = .T.
            IF (zyk.djf <= dxs.djf AND dxs.lqrs <= dxs.lqjh) OR zyk.tdf = dxs.fsx
                REPLACE lqrs WITH lqrs + 1, fsx WITH zyk.tdf IN jhk && 此处的jhk 应该改为 dxs
                REPLACE lqdm WITH lcfld IN zyk
                EXIT
            ENDIF
        ENDIF
    ENDFOR
ENDSCAN
BROWSE
SELECT dxs
BROWSE
* 定向生录取结束

坚守VFP最后的阵地
2021-08-15 23:02
泛海孤舟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2021-8-15
收藏
得分:0 
定向生其实是为了照顾乡下学校考生能进入优质学校3701,避免有的乡下学校都没有考生考入优质高中而采取的一种措施,按学校学籍数百分比得出各校的定向生计划数,定向生志愿003701都是在志愿3701统招生之后出现的,通常的分数线是3701统招生录取到的最后一个考生分数基础上减去52分,考生按照zy1-zy19志愿采用平行志愿规则进行投档,其中志愿3701-3718都是依据计划库中的计划进行投档,一旦出现有003701志愿的时候就需要检索定向生计划数,直到计划数满为止,因此不能分成两部分编写程序,统招生和定向生是同步在进行的。不知道这样说是否明白。
2021-08-15 23:36
泛海孤舟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2021-8-15
收藏
得分:0 
您就看tdf677在以下的吧,因为3701在677已经录满了它所需要的的320的计划数,所以定向生的分数线应该就是677-52分得到622分,所以定向生的分数线就是622分以上,满足4C6D的等级线和dxs=.t.三个条件,所以第579条记录前面的因为3701的统招生已经录满,后面的一旦出现113701志愿的就会先检索以下定向生计划库看看是否满足,满足就录取,像第585条记录第二志愿为113701满足录取条件所以lqdm应该为113701而不是3718.
图片附件: 游客没有浏览图片的权限,请 登录注册
2021-08-15 23:48
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:763
专家分:2503
注 册:2011-5-8
收藏
得分:0 
回复 14楼 泛海孤舟
其实就是控制D和E两个等级,因此我用if Occurs("E",zyk.djf)<=jhk.dje .And. Occurs("D",zyk.djf)<=jhk.djD控制。


已经说了你这个语句是错误的,如果你要求E不超过2个,D不超过4个;考生成绩是1个E,5个D应该满足要求吧,可按你的语句是不满足!!

[此贴子已经被作者于2021-8-16 14:08编辑过]


dBase有人接盘了。
2021-08-16 14:07
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:763
专家分:2503
注 册:2011-5-8
收藏
得分:0 
回复 楼主 泛海孤舟
3701计划数为320,总的定向计划为320,是不是它录取总数是640?
考生排序要不要考虑等级分?
bmh            tdf    djf
2137930027    732    AAAAAAAAAB
2137030068    732    AAAAAAAAAA
2137050289    732    AAAAAAABBB
2137060011    732    AAAAAAAAAC
2137170101    732    AAAAAAAAAC
2137170118    732    AAAAAAAAAA
2137170812    732    AAAAAAAAAB
2137170881    732    AAAAAAAAAB
如果不考虑,是否有问题?如果考虑,如何排?例如,
2137050289    732    AAAAAAABBB
2137060011    732    AAAAAAAAAC
谁在前面?


[此贴子已经被作者于2021-8-16 14:41编辑过]


dBase有人接盘了。
2021-08-16 14:15
泛海孤舟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2021-8-15
收藏
得分:0 
回复 29楼 xuminxz
对,3701学校计划数320,定向生计划数是330,总的录取650名,志愿库中我排序了tdf,等级线只要符合计划库中的等级线要求就行,只要计划未录满,就录取,比如3701的等级线是4C6D,4C6D是他的最低等级线。主要是要控制D等级的科数和不要出现E等级就行(E级属于不及格的),因此我用OCCURS("E",Zyk.djf)<=jhk.dje AND OCCURS("D",Zyk.djf)<=jhk.djD这句来控制。通常能考上这所学校的基本上都是A和B。
2021-08-16 15:00
快速回复:有关中考录取的问题
数据加载中...
 
   



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

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