| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2366 人关注过本帖, 3 人收藏
标题:编程技巧擂台赛[四]
取消只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
结帖率:88.24%
收藏(3)
已结贴  问题点数:100 回复次数:8 
编程技巧擂台赛[四]
数据表[体考.DBF]结构如下:
图片附件: 游客没有浏览图片的权限,请 登录注册

数据表[标准.DBF]结构如下:
图片附件: 游客没有浏览图片的权限,请 登录注册

参照数据表[标准.DBF]中的内容,统计出必考分数[必考项目]、抽选分数[抽选项目]、自选分数[自选项目]、备选分数[备选项目]及总分数。
图片附件: 游客没有浏览图片的权限,请 登录注册

tabl.rar (73.65 KB)

请朋友们帮助,给出最优方案。
搜索更多相关主题的帖子: 结构 编程 擂台赛 数据表 技巧 
2012-12-31 17:34
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
数据表[体考.DBF]中字段的关系
必考项目—>必考项目数(测试结果)—>必考分数(对照[标准.DBF]中的下限上限判断,给出分数)
抽选项目—>抽选项目数(测试结果)—>抽选分数(同上)
自选项目—>自选项目数(测试结果)—>自选分数(同上)
备选项目—>备选项目数(测试结果)—>备选分数(同上)

只统计[标准.DBF]中有的内容。

[ 本帖最后由 sdta 于 2012-12-31 17:48 编辑 ]

坚守VFP最后的阵地
2012-12-31 17:46
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
没有成绩肯定是没有分数的
项目不全,不要去管它

坚守VFP最后的阵地
2012-12-31 23:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
多谢月版
能贴出最后运行结果图吗

坚守VFP最后的阵地
2013-01-01 00:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
速度有点慢

坚守VFP最后的阵地
2013-01-01 01:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
精彩,收益颇多,学习了。

坚守VFP最后的阵地
2013-01-02 01:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
实际上,计算分数,直接用四个UPDATE 命令即可。

坚守VFP最后的阵地
2013-01-03 01:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
个人认为,优化算法,本着简单易懂的原则,不要一味追求一句代码,表面看是一句代码,实际上有十几行甚至几十行,这种算法,我认为不是最优的算法。

坚守VFP最后的阵地
2013-01-03 22:13
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:0 
这是一个初学VFP的网友在实际工作中遇到的问题,我当时给了一段代码给他,后来我发现这段代码的优点是运行速度很快,缺点是思路不是太好,现贴上这段代码:
程序代码:
CLOSE DATABASE
SELECT ksh,性别,必考项目 AS 考试内容,必考项目数 AS 考试成绩,[必考项目] AS 考试分类 FROM 体考;
   UNION ALL SELECT ksh,性别,抽选项目 AS 考试内容,抽选项目数 AS 考试成绩,[抽定项目] AS 考试分类 FROM 体考;
   UNION ALL SELECT ksh,性别,自选项目 AS 考试内容,自选项目数 AS 考试成绩,[自选项目] AS 考试分类 FROM 体考;
   UNION ALL SELECT ksh,性别,备选项目 AS 考试内容,备选项目数 AS 考试成绩,[备选项目] AS 考试分类 FROM 体考;
   INTO ARRAY ATK
SELECT ksh,性别,必考项目 AS 考试内容,必考项目数 AS 考试成绩,[必考项目] AS 考试分类,00.0 FS FROM 体考 INTO CURSOR TEMP READWRITE
ZAP
APPEND FROM ARRAY ATK
BLANK ALL FIELDS 考试成绩 FOR 考试成绩=0 &&清空[0]
UPDATE TEMP SET FS=测试标准.分数 FROM 测试标准 WHERE ALLTRIM(TEMP.考试内容)==ALLTRIM(测试标准.项目名称) AND TEMP.性别==测试标准.性别 AND BETWEEN(考试成绩,测试标准.下限,测试标准.上限)
SELECT A.KSH,A.性别,A.必考项目,B.抽定项目,C.自选项目,D.备选项目,A.必考项目数,;
       B.抽定项目数,C.自选项目数,D.备选项目数,A.FS1,B.FS2,C.FS3,D.FS4,;
       CAST(A.FS1+B.FS2+C.FS3+D.FS4 AS N(4,1)) 总分 FROM ;
       (SELECT ksh,性别,考试内容 AS 必考项目,考试成绩 AS 必考项目数,FS AS FS1 FROM TEMP WHERE ALLTRIM(考试分类)==[必考项目]) A,;
       (SELECT ksh,性别,考试内容 AS 抽定项目,考试成绩 AS 抽定项目数,FS AS FS2 FROM TEMP WHERE ALLTRIM(考试分类)==[抽定项目]) B,;
       (SELECT ksh,性别,考试内容 AS 自选项目,考试成绩 AS 自选项目数,FS AS FS3 FROM TEMP WHERE ALLTRIM(考试分类)==[自选项目]) C,;
       (SELECT ksh,性别,考试内容 AS 备选项目,考试成绩 AS 备选项目数,FS AS FS4 FROM TEMP WHERE ALLTRIM(考试分类)==[备选项目]) D WHERE A.KSH==B.KSH AND B.KSH==C.KSH AND C.KSH==D.KSH
后来看了大家的贴子后,代码改成以下:
程序代码:
CLOSE DATABASES
UPDATE 体考 SET 体考.必考分数=标准.分数 FROM 标准 WHERE 体考.必考项目==标准.项目名称 AND 体考.性别==标准.性别 AND BETWEEN(体考.必考项目数,标准.下限,标准.上限)
UPDATE 体考 SET 体考.抽选分数=标准.分数 FROM 标准 WHERE 体考.抽选项目==标准.项目名称 AND 体考.性别==标准.性别 AND BETWEEN(体考.抽选项目数,标准.下限,标准.上限)
UPDATE 体考 SET 体考.自选分数=标准.分数 FROM 标准 WHERE 体考.自选项目==标准.项目名称 AND 体考.性别==标准.性别 AND BETWEEN(体考.自选项目数,标准.下限,标准.上限)
UPDATE 体考 SET 体考.备选分数=标准.分数 FROM 标准 WHERE 体考.备选项目==标准.项目名称 AND 体考.性别==标准.性别 AND BETWEEN(体考.备选项目数,标准.下限,标准.上限)
SELECT 体考
REPLACE ALL 总分数 WITH 必考分数+抽选分数+自选分数+备选分数
FOR I=11 TO 15
    BLANK FIELDS (FIELD(I)) FOR EVALUATE(FIELD(I))=0
ENDFOR
BROWSE


 

坚守VFP最后的阵地
2013-01-03 22:19
快速回复:编程技巧擂台赛[四]
数据加载中...
 
   



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

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