| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7153 人关注过本帖
标题:如何将2018年高考位次对应的分数update到2019年的位次表中
只看楼主 加入收藏
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
精确计算
CLOSE TABLES all
USE lk19
REPLACE fscz WITH 0 all
FOR i=1 TO RECCOUNT('lk19')
    SELECT lk19
    GO i
    iwc=wc
    SELECT fs18,wc,iwc-wc cs,ABS(wc-iwc) as csab FROM lk18  INTO CURSOR mpmp ORDER BY csab
    REPLACE fs18 WITH mpmp.fs18 IN lk19
    SELECT mpmp
    fs1=fs18
    wc1=wc
    ncs=cs
    IF ncs>0  &&ÕÒ²»µ½°´²åÖµ·¨¼ÆËã¡£
        GO 2
        fsp=fs1+(fs18-fs1)*ncs/(wc-wc1)
        REPLACE fscz WITH fsp IN lk19
    ENDIF
endfor
结果说明误差

[此贴子已经被作者于2019-7-4 14:40编辑过]


dBase有人接盘了。
2019-07-04 14:01
lj95315
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2018-3-1
收藏
得分:0 
回复 11楼 xuminxz
感谢!程序能部分运行。问题如图所示。
图片附件: 游客没有浏览图片的权限,请 登录注册
如果我添加了字段fscz,就会出现如下问题
图片附件: 游客没有浏览图片的权限,请 登录注册
只要点忽略,就会生成一些数据,但要一直点忽略
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2019-7-4 14:32编辑过]

2019-07-04 14:31
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
精确计算
CLOSE TABLES all
USE lk19
REPLACE fscz WITH 0 all
FOR i=1 TO RECCOUNT('lk19')
    SELECT lk19
    GO i
    iwc=wc
    SELECT fs18,wc,iwc-wc cs,ABS(wc-iwc) as csab FROM lk18  INTO CURSOR mpmp ORDER BY csab
    REPLACE fs18 WITH mpmp.fs18 IN lk19
    SELECT mpmp
    fs1=fs18
    wc1=wc
    ncs=cs
    IF ncs>0  &&找不到安插值法计算。
        GO 2
        fsp=fs1+(fs18-fs1)*ncs/(wc-wc1)
        REPLACE fscz WITH fsp IN lk19   &&fscz  n(6,2)
    ENDIF
endfor
结果说明误差很小可以按下面方法计算
CLOSE TABLES all
USE lk19
FOR i=1 TO RECCOUNT('lk19')
    SELECT lk19
    GO i
    iwc=wc
    SELECT fs18,wc,ABS(wc-iwc) as csab FROM lk18  INTO CURSOR mpmp ORDER BY csab
    REPLACE fs18 WITH mpmp.fs18 IN lk19
endfor

dBase有人接盘了。
2019-07-04 15:15
sxy166
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:69
专家分:127
注 册:2012-3-28
收藏
得分:2 
回复 13楼 xuminxz
我是94 年上的学,学的foxbase,sql不熟,想请教

    SELECT fs18,wc,iwc-wc cs,ABS(wc-iwc) as csab FROM lk18  INTO CURSOR mpmp ORDER BY csab
   iwc-wc cs  为什么没有as,后边ABS(wc-iwc) as csab 有as?


    SELECT mpmp
    fs1=fs18
    wc1=wc
    ncs=cs
    IF ncs>0  &&找不到安插值法计算。
        GO 2
        fsp=fs1+(fs18-fs1)*ncs/(wc-wc1)      这两个减法不都是等于0吗?
2019-07-04 16:20
lj95315
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2018-3-1
收藏
得分:0 
回复 13楼 xuminxz
感谢大神!!!两种方法测试通过,结果是相同的。再次感谢。
2019-07-04 17:17
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
回复 14楼 sxy166
第二个问题你应该有答案了吧。第一个中要不要 as 都可以。

dBase有人接盘了。
2019-07-04 19:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
close databases all
set collate to "MACHINE"
set near on
use lk18 in 0
index on wc tag wc
use lk19 in 0
select lk19
blank fields fs18 all
scan
    nwc = wc
    select lk18
    seek nwc
    replace fs18 with lk18.fs18 in lk19
endscan
select lk19
go top
browse
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2019-07-04 20:25
sxy166
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:69
专家分:127
注 册:2012-3-28
收藏
得分:0 
回复 17楼 sdta
例如19表里wc75,在18表应该是73名 688分,但结果是84名687分
2019-07-05 09:22
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:2 
[quote]以下是引用sxy166在2019-7-4 16:20:57的发言:

我是94 年上的学,学的foxbase,sql不熟,想请教

 这跟你哪年上学没有很大关系,这个问题用FOXBASE也可以解决的,主要是你原来用少了FOXBASE。
2019-07-05 09:34
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用sxy166在2019-7-5 09:22:54的发言:

例如19表里wc75,在18表应该是73名 688分,但结果是84名687分

人往高处走

坚守VFP最后的阵地
2019-07-05 12:03
快速回复:如何将2018年高考位次对应的分数update到2019年的位次表中
数据加载中...
 
   



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

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