标题:求助各位大神,帮帮忙,写个小程序
只看楼主
思恶魔
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-11
结帖率:33.33%
已结贴  问题点数:20 回复次数:15 
求助各位大神,帮帮忙,写个小程序
现在有一个总表,里面有准考证号,姓名,总分这三个字段,
现在请各位大神写写一个程序,
要求统计总分>700分,700到600,600到500,500到400,400到300,<300,这几个分数段的人数,还有这几个分数段累计人数
搜索更多相关主题的帖子: 准考证 统计 姓名 
2014-10-11 11:36
思恶魔
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-11
得分:0 
最好能编写一个小程序,因为表里有几千条数据,而且分数段可能还要分的细致一些
2014-10-11 11:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
这么简单的需求,自己写好一点,顺便学点东西。

授人以渔,不授人以鱼。
2014-10-11 11:40
思恶魔
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-11
得分:0 
回复 3 楼 TonyDeng
刚开始学,还不会写啊,所以才求助各位大神
2014-10-11 11:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
不写怎么会。写得好不好是一回事,动不动手又是另一回事。没动过手,没思考过,人家写出来你都不知道好在哪里、为什么要那么写。

授人以渔,不授人以鱼。
2014-10-11 11:53
思恶魔
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-10-11
得分:0 
我只会用select语句,一组一组的查询,写程序还真是没试过,才接触vfp啊,都不知道怎么开始,
2014-10-11 12:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
一组一组地做,也能做出来,只不过效率低罢了,但也可以用啊。当你使用的时候,发现效率无法忍受,或者有新的变动导致修改麻烦,才要去考虑怎么改进程序,只有这些需求都冒出来,你才知道真正的程序该怎么写,否则别人给了你,你都不知道奥妙在哪里,还说人家写的复杂。学编程是要经过这些磨难阶段的。现成给你还不容易么,随便都可以用一组一组select做的程序给你,你收了货也没用。

授人以渔,不授人以鱼。
2014-10-11 12:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
顺便吐槽一下,我一向就反对没有编程基础的人起手就学SQL SELECT查询,那样做的结果正是你现在问题的根源,不会在细节上控制数据,没有面向过程的基础,直接跳到面向结果的语法,就是沙滩上建高楼。

授人以渔,不授人以鱼。
2014-10-11 12:26
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:4 
程序代码:
* 假设:总分为整数。以下代码对分数段的临界值作了稍许改动
local nSum,nNum,cFor
close all
use 成绩表 alias test in 0
create cursor curResult (分数段 c(10),人数 i,累计 i,条件 c(50))
insert into curResult (分数段,条件) values ('>=700','总分>=700')
insert into curResult (分数段,条件) values ('600-699','between(总分,600,699)')
insert into curResult (分数段,条件) values ('500-599','between(总分,500,599)')
insert into curResult (分数段,条件) values ('400-499','between(总分,400,499)')
insert into curResult (分数段,条件) values ('300-399','between(总分,300,399)')
insert into curResult (分数段,条件) values ('<300','总分<300')
nSum = 0
scan
    cFor = alltrim(条件)
    calculate cnt() to nNum for &cFor in test
    nSum = nSum + nNum
    replace 人数 with nNum,累计 with nSum
endscan
go top
browse field 分数段,人数,累计



[ 本帖最后由 liuxingang28 于 2014-10-11 14:14 编辑 ]

泉城飞狐
2014-10-11 12:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:4 
上传数据表看看

坚守VFP最后的阵地
2014-10-11 12:27



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




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

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