高分求VFP的处理程序

表具有abcd一个字段,存储的是评选答题卡的数据:ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA... 表具有abcd一个字段,存储的是评选答题卡的数据:

ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
..........
差不多有50条记录
每条记录都代表一张答题卡数据,

每5个题表示一个同学的评选成绩,A B C D分别代表20分 18分 12分 8分

我想把每条记录中的5个字符 按照ABCD对应的分数,统计并且求出50条记录的平均分,

1号同学对应的是记录的前5个字符
2号同学对应的是记录的第6-10个字符
3号同学对应的是记录的前11-15个字符
4号同学对应的是记录的前16-20个字符
5号同学对应的是记录的前21-25个字符
6号同学对应的是记录的前26-30个字符
7号同学对应的是记录的前31-35个字符
8号同学对应的是记录的前36-40个字符

求高人帮忙!成功后我另加分!
每条记录的1-5都是1号同学 6-10也都是2号同学的 类推
展开
 我来答
flyingFish211
2010-10-08 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
如果第二条记录1-5字符也是1号同学的成绩的话,建议把表格分割成新表格处理

SELECT SUBSTR(score, 1, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 6, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 11, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 16, 5) FROM TAB
UNION ALL
SELECT SUBSTR(score, 21, 5) FROM TAB
然后计算每一条记录的和
CASE(SUBSTR(score, 1, 1) WHEN 'A' THEN 20
WHEN 'B' THEN 18
WHEN 'C' THEN 12
WHEN 'D' THEN 8
ELSE 0 END)

如果要每条记录5个分割计算,
那就substr每个字符,然后用case换算求和。。
匿名用户
2010-10-08
展开全部
cX='ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA'
LOCAL aM[4]
aM[1]=20
aM[2]=18
aM[3]=12
aM[4]=8

nX=INT(LEN(ALLTRIM(cX))/5)
LOCAL aX[nX]
FOR i=1 TO nX
aX[i]=0
NEXT
FOR i=1 TO nX
cM=SUBSTR(cX,5*(i-1)+1,5)
FOR j=1 TO 5
cK=SUBSTR(cM,j,1)
aX[i]=aX[i] + IIF(cK$'ABCD',aM[ASC(cK)-64],0)
NEXT
NEXT
FOR i=1 TO nX
? i,aX[i]
NEXT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈学阳
2010-10-12 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5606万
展开全部
基于你的题目图书管理系统,我们可以提供一份代码,适用于初学者的,
如有具体需求,可以我们联系,,带着你的问题和Email来找我,有时间可以帮你,肯定救急,使用百度_Hi给我留言,

此回复对于所有需求和和来访者有效,
ES:\\50DD09E4023120FE048F684B2DB9887E

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式