标题:[求助]这样截取和统计程序应该怎么写?
只看楼主
wuvdong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-8
结帖率:60%
已结贴  问题点数:20 回复次数:18 
[求助]这样截取和统计程序应该怎么写?
谢谢大家提醒,还是没有表达清楚!我重写一遍 谢谢大家!
M个班级的N名同学对自己班的8名班干部进行评选,评选条件有5项,

分别是:管理态度、生活作风、帮助他人、纪律要求、学习态度,每位同学都对应5项,
每一项有优良中差4个选项分别是ABCD分值是20、18、12、8

班长是1-5 体委是6-10 劳委是11-15 团委是16-20
纪委是21-25 美术是26-30 男舍长是31-35 女舍长36-40

填涂在一张答题卡上!

统计每个同学的得分

一条记录代表一个同学涂写的答题卡数据,

例如:ABCDC 10+18+12+8+12=60分 再求班级整体同学打分的均分

=====================================================================
01表有2个字段,bj和abcd字段
01表中的记录是这样
BJ abcd
1 ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
1 ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
2 ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
3 ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
.....
57 ABCBAABCBAABCBAABCBAABCBAABCBAABCBAABCBA
班级有很多,abcd记录都不同,但都是40个字符,每5个字符对应一个班干部。
ABCD分别对应的评分是20、18、12、8分
=====================================================================
bj表中有bj、j1、j2、j3、j4、j5、j6、j7、j8这样9个字段分别对应
班级、班长、体委、劳委、团委、纪委、美术、男舍长、女舍长。

bj j1 j2 j3 j4 j5 j6 j7 j8
1
2
3
...
70
=====================================================================
bj字段填充的是一个1-80的数字序列
js字段需要填充01表中5项abcd的均分
第1条记录:
j1中填充bj=1,所有记录的subtr(abcd,1,5)的均分
j2中填充bj=1,所有记录的subtr(abcd,6,5)的均分
j3中填充bj=1,所有记录的subtr(abcd,11,5)的均分
....
j8中填充bj=1,所有记录的subtr(abcd,36,5)的均分

第2条记录:
j1中填充bj=2,所有记录的subtr(abcd,1,5)的均分
j2中填充bj=2,所有记录的subtr(abcd,6,5)的均分
j3中填充bj=2,所有记录的subtr(abcd,11,5)的均分
....
j8中填充bj=2,所有记录的subtr(abcd,36,5)的均分

1班的记录所有1号得分平均
======================================================================


[ 本帖最后由 wuvdong 于 2010-10-9 10:07 编辑 ]
搜索更多相关主题的帖子: 生活作风 班干部 
2010-10-08 14:29
wuvdong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-8
得分:0 
平时用VFP大多都是表的操作命令,排序或者报表,还没用到过程序!
我开始想用增加8个字段,然后用repl和sub进行替换,发现这样工作量太大,而且结束后发现没有办法把ABCD选项和分值对应起来!
麻烦大家!
2010-10-08 14:34
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:1 
没太明白。
楼主的意思是每条记录保存了8个同学的答题卡?将近50条记录也就是将近50×8=400个同学了(或者是8个同学答了将近50张卡)?

相互学习,互相交流,共同提高。
2010-10-08 15:56
wuvdong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-8
得分:0 
是每条记录都对应的是相同的8个人的数据 这8个人是被评人

同学在答题卡上对应的5项 分别涂写5项的分值
2010-10-08 16:00
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:1 
我觉得楼主的表结构设计有缺陷,这样储存数据除了保密性比较好之外,其他几乎都是缺点了,读取数据、写入数据、数据分析都非常不方便,且容易出错。

活到老,学到老! http://www. E-mail:hu-jj@
2010-10-08 21:30
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:1 
这样只能写个程序,慢慢处理!(表结构设计好了,一条SQL语句就能搞定)

★★★★★为人民服务★★★★★
2010-10-09 06:07
zyz995462
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2004-12-5
得分:17 
还是把意思给大家讲清楚,意思清楚了,就一个小程序而已,没必要高人,我这个低手也会写出程序.
比如:第一条记录的1号同学"ABCBA"到底是几分?第二条记录的1号呢?是不是50条记录所有1号得分平均?
让人家费解猜测,怎么帮啊!
2010-10-09 09:29
wuvdong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-10-8
得分:0 
zyz995462你好 每个班级的记录的所有1-8号均分,
第一条记录的1号同学"ABCBD"得分是20+18+12+18+8
第二条记录的1号也是对应的同一个人
2010-10-09 10:10
zyz995462
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2004-12-5
得分:0 
哦,我基本明白了.
01.dbf 里储存的是全部班级,每个班级全部学生对自己班班干部的打分
需要每班所有同学对所有班干部的逐一评分平均,写到bj.dbf里,对吗?

如果是这样的要求,那我就帮你写个小程序...下午你耐心等着。因为我同时在上班工作...
2010-10-09 13:14
zyz995462
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2004-12-5
得分:0 
*依你表述,假设01.dbf和bj.dbf里bj字段是数值型;j1/j2/j3...j8也是数值型
*依你表述,假设bj.dbf里bj字段里已输好1,2,3...70...等所有班级代号
*以下程序计算每班每个班干部的平均得分

use 01
calculate max(bj) to maxbj  &&得到最大的班级号,确定班级数
for whichbj=1 to maxbj      &&逐班
for jx=1 to 8               &&逐个班干部
    use 01
    set filter to bj=whichbj
    count to students &&该班学生数
    zongfen=0

    for whichstudent=1 to students
    go top
    skip whichstudent-1
        for dafen=1 to 5  &&5项打分
        myabcd=substr(abcd,5*jx+dafen-5,1)
        do case
        case myabcd='A'
        zongfen=zongfen+20
        case myabcd='B'
        zongfen=zongfen+18
        case myabcd='C'
        zongfen=zongfen+12
        case myabcd='D'
        zongfen=zongfen+8
        endcase
        endfor
    endfor

    pingjunfen=zongfen/students
    use bj
    jjx='j'+alltrim(str(jx))
    locate for bj=whichbj
    replace &jjx. with pingjunfen
endfor
endfor
return


   
   


收到的鲜花
  • wuvdong2010-10-09 16:00 送鲜花  3朵   附言:我很赞同
2010-10-09 14:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322245-1-1.html




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

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