| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2573 人关注过本帖
标题:关于处理考试成绩数据问题,急求!
只看楼主 加入收藏
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
以下是引用lijihe8866在2012-9-15 12:20:54的发言:

sdta你好,对不住了,本人昨天晚上有事,没有在电脑旁边,像你所说,每个班级的数据单独生成一个表,然后排名次,将排名次后的表中的记录,按学号重新存入原表中,那就太麻烦了。这不是我想要的。
看样子楼主从昨天到现在还没睡觉吧?不知道又在那
2012-09-15 14:41
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
从楼主最后一次回帖到现在已经三个小时了,楼主又在那忙了?
2012-09-15 14:42
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:3 
USE ee
INDEX ON VAL(班级)*100000+1-总分 to my_index
Nbj=班级
Nzf=总分
n=1
FOR i=1 to RECCOUNT()
    REPLACE 班级名次 with n
    SKIP
    IF 班级=Nbj .and. 总分<>Nzf
        n=n+1
    ENDIF
    IF 班级<>Nbj
        n=1
    ENDIF
    Nbj=班级   
    Nzf=总分
NEXT
 

相互学习,互相交流,共同提高。
2012-09-15 15:04
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
以下是引用qjbzjp在2012-9-15 15:04:53的发言:

USE ee
INDEX ON VAL(班级)*100000+1-总分 to my_index
Nbj=班级
Nzf=总分
n=1
FOR i=1 to RECCOUNT()
    REPLACE 班级名次 with n
    SKIP
    IF 班级=Nbj .and. 总分<>Nzf
        n=n+1
    ENDIF
    IF 班级<>Nbj
        n=1
    ENDIF
    Nbj=班级   
    Nzf=总分
NEXT
 
分数相同的情况下,名次如何排?
2012-09-15 19:23
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:297
专家分:808
注 册:2012-6-15
收藏
得分:0 
这个简单呀,再加一层循环就解决问题了!

学习交流VFP,QQ:248561326。
2012-09-15 20:54
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
以下是引用cxzbzgz在2012-9-15 20:54:27的发言:

这个简单呀,再加一层循环就解决问题了!
速度?
2012-09-15 21:15
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:297
专家分:808
注 册:2012-6-15
收藏
得分:0 
速度不是问题!

学习交流VFP,QQ:248561326。
2012-09-15 21:48
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:297
专家分:808
注 册:2012-6-15
收藏
得分:0 
以下是完整的处理程序,其实非常简单的,用两循环就行了,不要自己把问题搞的太复杂!

USE ee
INDEX on 班级+STR(1000-总分) TO bjzf   && 以下为处理班级名次
 GO TOP
  DO whil NOT EOF()
    bj=班级
    i=1
    DO whil NOT EOF() AND 班级=bj
     zf=总分
     REPLACE 班级名次 WITH i
     SKIP
    IF 总分=zf
     REPLACE 班级名次 WITH i
    ELSE
     i=i+1
    ENDIF
   ENDDO
  ENDDO  && 以上为处理班级名次
  
  INDEX on STR(1000-总分) TO bjzf  && 以下为处理年级名次  
   GO TOP
  
    i=1
    DO whil NOT EOF()
     zf=总分
     REPLACE 年级名次 WITH i
     SKIP
    IF 总分=zf
     REPLACE 年级名次 WITH i
    ELSE
     i=i+1
    ENDIF   
  ENDDO  && 以上为处理年级名次

学习交流VFP,QQ:248561326。
2012-09-15 22:01
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:297
专家分:808
注 册:2012-6-15
收藏
得分:0 
看看,是不是解决问题了!

学习交流VFP,QQ:248561326。
2012-09-15 22:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用cxzbzgz在2012-9-15 22:03:54的发言:

看看,是不是解决问题了!
贴个图看看效果

坚守VFP最后的阵地
2012-09-15 22:40
快速回复:关于处理考试成绩数据问题,急求!
数据加载中...
 
   



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

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