| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1142 人关注过本帖
标题:请教一个统计分数段的程序
只看楼主 加入收藏
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2202
专家分:3862
注 册:2007-4-27
收藏
得分:0 
现在中考结束了。6月成绩出来时,我是用循环解决的

只求每天有一丁点儿的进步就可以了
2015-07-09 12:16
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2202
专家分:3862
注 册:2007-4-27
收藏
得分:0 
程序代码:
  ****************
  *分数段统计
  ****************
  CLOSE DATABASES
  SET SAFETY off
  *---------------
  *设定统计范围
  SELECT 0
  USE fsdk
  ZAP
  FOR i=560 to 300 step -1  &&&  I 的二个起止数决定统计的范围,步长决定分数段大小
    APPEND BLANK
    REPLACE zf with i
  ENDFOR
  GO top
  *---------------
  *计算每一分的累计人数
  SELECT 0
  USE bmk
  SELECT fsdk
  SCAN
    SELECT bmk
    COUNT to nn for bmk.zf>=fsdk.zf
    SELECT fsdk
    REPLACE ljrs with nn
  ENDSCAN
  SELECT bmk
  USE
  *----------------
  *计算每一分的小计人数
  SELECT fsdk
  GO top
  REPLACE xjrs with ljrs
  sn=ljrs
  DO while not EOF()
    SKIP 1
    REPLACE xjrs with ljrs-sn
    sn=ljrs
  ENDDO
  *----------------
   REPORT FORM rep_fsd noeject noconsole prev

只求每天有一丁点儿的进步就可以了
2015-07-09 12:19
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1528
专家分:180
注 册:2006-6-3
收藏
得分:0 
根据各种分段需要(1分,2分,5分,10分)的通用公式
*按报名点分段统计中考/高考成绩
proc   bmdfdtjzkcj

sET TALK Off
SET SAFE OFF
clear all

fsd='10'  
@10,10 SAY '请打入分段分数: ' GET fsd
READ
**分段分--
n=val(alltr(fsd))

cdir=GETDIR("D:","请选择<中考/高考>成绩分段统计人数的bmk0651数据库的目录")
CD (cdir)   
cdir=left(cdir,len(cdir)-1)

cd (cdir)  &&进入相应的目录
if !file('bmk0651.dbf')
wait "所选的bmk0651文件不存在,请退出重找!" window timeout 5  AT SROWS()/2,(SCOLS()/4)
clear
retu
else
use bmk0651
if vartype(xh)="U"
   WAIT "本库缺少xh或bmddm或tot1字段,请退出修改后再统计!" WINDOW TIMEOUT 5  AT SROWS()/2,(SCOLS()/4)

clear
retu

else


**--通用代码
select *,iif(mod(tot1,n)=0,ceil(tot1/n)*n,ceil(tot1/n)*n-n)as fs1,iif(mod(tot1,n)=0,ceil(tot1/n)*n+n-1,ceil(tot1/n)*n-1)as fs2 from bmk0651  into table tmp1

select bmk0651.*,tmp1.fs1,tmp1.fs2,str(tmp1.fs1,3)+"-"+str(tmp1.fs2,3) as 分段 from bmk0651,tmp1 where bmk0651.xh=tmp1.xh INTO table tmp2


select bmddm,分段,count(分段) as 人数 from tmp2 group by bmddm,分段 order by bmddm,分段  into table bmdfdtj
brow


WAIT "统计完毕,请核对库tmp1(分数分段库),tmp2库(临时库),bmdfdtj库(各报名点分段统计库) " WINDOW TIMEOUT 5  AT SROWS()/2,(SCOLS()/4)
endif
endif
CLEA
set talk on
set safety on



[ 本帖最后由 sylknb 于 2015-7-9 14:27 编辑 ]
2015-07-09 14:21
glheghhu
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2015-1-6
收藏
得分:0 
回复 10楼 欧阳mh
又学到一个
2015-07-29 16:29
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:171
专家分:19
注 册:2013-8-12
收藏
得分:0 
高手,学习了,我用得着的知识
2015-08-16 10:35
快速回复:请教一个统计分数段的程序
数据加载中...
 
   



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

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