| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:如何统计A、B、C、D的个数,并计算总分
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
结帖率:97.06%
收藏
已结贴  问题点数:20 回复次数:9 
如何统计A、B、C、D的个数,并计算总分
现有表文件cpb.dbf,如何统计A、B、C、D的个数,并计算总分,生成Tjb.dbf。[赋分规则 A:20 B:18 C:12 D:8],盼高手赐教,万分感谢!!!
cpb.rar (216 Bytes)

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 统计 dbf 计算 总分 个数 
2023-04-17 09:24
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:0 
又把老帖子翻出来了?

坚守VFP最后的阵地
2023-04-17 09:48
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
收藏
得分:0 
原来每个字段只有一个汉字,现在有5个字符。由于不会变通,还请指点一下,谢谢!!!

[此贴子已经被作者于2023-4-17 10:44编辑过]

2023-04-17 10:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9803
专家分:26906
注 册:2012-2-5
收藏
得分:20 
程序代码:
CLOSE DATABASES
CREATE CURSOR tjb (班级 C(4),A1 N(4), B1 N(4), C1 N(4), D1 N(4), 总分 N(4))
INSERT INTO tjb (班级) SELECT DISTINCT 班级 FROM cpb
INDEX ON 班级 TAG bj
SELECT cpb
SET RELATION TO 班级 INTO tjb
ALINES(la1, "A,B,C,D", ",")
ALINES(la2, "20,18,12,8", ",")
SCAN 
    FOR ln1 = 2 TO FCOUNT()
        lc1 = ALLTRIM(EVALUATE(FIELD(ln1)))
        FOR ln2 = 1 TO LEN(lc1)
            lc2 = SUBSTR(lc1, ln2, 1)
            IF FOUND("tjb")
                REPLACE (lc2 + "1")    WITH EVALUATE(lc2 + "1") + 1, 总分 WITH 总分 + VAL(la2[ASCAN(la1, lc2)]) IN tjb
            ENDIF 
        ENDFOR 
    ENDFOR 
ENDSCAN
SET RELATION TO 
SELECT tjb
BROWSE 

坚守VFP最后的阵地
2023-04-17 10:50
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
收藏
得分:0 
@sdta 非常感谢!!!
2023-04-17 11:13
ybq1014
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:16
注 册:2012-12-19
收藏
得分:0 
回复 4楼 sdta
老哥,无敌的人很寂寞
2023-04-17 13:25
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11773
专家分:43421
注 册:2006-5-13
收藏
得分:0 
s版诲人不倦

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2023-04-17 14:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
SET COMPATIBLE OFF
CREATE CURSOR tt (a I,b I,c I,d I)
INSERT INTO tt VALUES (20,18,12,8)
SELECT * FROM tt INTO ARRAY ci
DIMENSION cj[4]
SELECT *, cj[1] A, cj[2] B, cj[3] C, cj[4] D,;
     cj[1]*ci[1]+cj[2]*ci[2]+cj[3]*ci[3]+cj[4]*ci[4] 总分 FROM cpb WHERE fun()

FUNCTION fun()
    STORE 0 TO cj
    cs = ALLTRIM(s1-s2-s3-s4-s5-s6-s7-s8)
    FOR i=1 TO LEN(cs)
        k = ASC(SUBSTR(cs,i,1)) - ASC("A") + 1
        IF BETWEEN(k,1,4)
            cj[k] = cj[k] + 1
        ENDIF  
    ENDFOR
    RETURN .t.
ENDFUNC
2023-04-17 14:35
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:601
专家分:1770
注 册:2017-7-16
收藏
得分:0 
我的程序代码,通俗易懂,最和合初学者。
图片附件: 游客没有浏览图片的权限,请 登录注册

************
王咸美,我的代码朴实无华,通俗易懂,值得一看。
用最通俗的手法,写出最深刻的代码,这才是真正的程序员!

[此贴子已经被作者于2023-4-17 15:03编辑过]

2023-04-17 14:51
王咸美
Rank: 1
等 级:新手上路
帖 子:589
专家分:0
注 册:2018-1-4
收藏
得分:0 
谢谢各位的热心指点!一定好好学习。
2023-04-17 17:41
快速回复:如何统计A、B、C、D的个数,并计算总分
数据加载中...
 
   



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

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