| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:求解问题(二)?
只看楼主 加入收藏
shzhshg
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2010-5-7
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:9 
求解问题(二)?
字段名  类型
性别   字符
身高   字符
体重   字符
评价   字符

根据表:性别:女
    身高        体     重
           低体重   正常   超重  肥胖
    103.5   100   110    120   130   150
    104.0   110   120    130   150   170
请问:例如1个身高为103.5的女孩,体重输入126后,如何得到评价为超重?
搜索更多相关主题的帖子: 女孩 如何 
2014-05-08 06:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
从哪里输入
那个身高、体重为啥用字符型

DO IT YOURSELF !
2014-05-08 06:40
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
>正常<肥胖----超重
2014-05-08 07:10
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
楼主,既然身高、体重是作为需要运算并进行统计的数据,为何还设置成字符型?
2014-05-08 08:02
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:3 
假设第一个表是“体测结果表.dbf”,第二个表是“体重标准表.dbf”

体重标准表的内容如下:

 身高     低体重   正常  超重        
103.5     110      120    130
104.0     120      130    150
……
以身高为“103.5”为例,体重≤110时,为低体重;110<体重≤120时为正常;120<体重≤130时为超重;体重>130时为肥胖。

根据以上逻辑,可参考以下代码:
程序代码:
lose all
use 体重标准表 alias t1 in 0
select 0
use 体测结果表 alias t2
scan
    nHeight = val(身高)
    nWeight = val(体重)
    select t1
    locate for val(身高) >= nHeight
    if found()
        do case
        case nWeight <= val(低体重)
            cRet = '低体重'
        case nWeight <= val(正常)
            cRet = '正常'
        case nWeight <= val(超重)
            cRet = '超重'
        otherwise
            cRet = '肥胖'
        endcase
        replace 评价 with cRet in t2
    endif
endscan
go top
browse


泉城飞狐
2014-05-08 09:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用shzhshg在2014-5-8 06:36:55的发言:

字段名  类型
性别   字符
身高   字符
体重   字符
评价   字符

根据表:性别:女
    身高        体     重
           低体重   正常   超重  肥胖
    103.5   100   110    120   130   150
    104.0   110   120    130   150   170
请问:例如1个身高为103.5的女孩,体重输入126后,如何得到评价为超重?

体重的计量单位是什么?
上述数据符合逻辑吗

坚守VFP最后的阵地
2014-05-08 10:26
shzhshg
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2010-5-7
收藏
得分:0 
回复 5 楼 liuxingang28
老师,还想请教您个问题?
这里面还有个性别的条件
就是在体重标准表.dbf里,
性别:女
    身高        体     重
           低体重   正常   超重  肥胖
    103.5   100   110    120   130   150
    104.0   110   120    130   150   170
性别:男
    身高        体     重
           低体重   正常   超重  肥胖
    103.5   100   110    120   130   150
    104.0   110   120    130   150   170
在检测结果表里输入性别女或男,出现的结果是不一样的,请问怎么编写?是不是在体重标准表里添加上一个性别字段?
再在以下代码中如何添加区分性别的代码呢?
close all
use 体重标准表 alias t1 in 0
select 0
use 体测结果表 alias t2
scan
    cMont = allt(月龄)
    nWeight = val(体重)
    select t1
    locate for allt(月龄)==cMont
    if found()
        do case
        case nWeight <= val(低体重)
            cRet = '低体重'
        case nWeight <= val(正常)
            cRet = '正常'
        case nWeight <= val(超重)
            cRet = '超重'
        otherwise
            cRet = '肥胖'
        endcase
        replace 评价 with cRet in t2
    endif
endscan
go top
browse

2014-05-09 06:35
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:3 
需要修改以下 2 点:
1. 在“体重标准表.dbf”中增加性别字段,并分别输入“男”、“女”的体重标准
2. 修改代码中的 locate for 条件,如下所示:
   locate for val(身高) >= nHeight and allt(性别)==allt(t2.性别)

注:楼主上面的代码复制的是“求解问题(一)”中的代码,张冠李戴了。

泉城飞狐
2014-05-09 08:36
b土木丁口
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:264
专家分:189
注 册:2013-9-12
收藏
得分:0 
路过
2014-05-09 10:12
jsddx
Rank: 2
等 级:论坛游民
帖 子:44
专家分:25
注 册:2006-4-11
收藏
得分:0 
热心肠的老师真是多呀
2014-05-12 10:00
快速回复:求解问题(二)?
数据加载中...
 
   



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

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