当前位置:编程学习 > Foxpro >>

一小段FOXPRO程序问题。请请教数据库编程高手

程序如下 store 0 to x,y use 图书 scan if 单价>20 and 单价<25 loop endif if 单价<=20 x=x+1 endif y=y+1 endscan ?y 这是自学考试:管理系统中计算机应用的一道习题 题目答案是:统计单价大于25的图书数量。 我的问题是 第二个IF语句,扫描到单价小于20的记录,属于符合条件,则应执行:x=x+1 那么执行完上面这句应该就ENDIF。那么接下来不就也接着执行y=y+1这句了吗? 这样不就把单价小于20的也统计进去了吗?(当然我试了一下,用这个程序是好像只统计了大于25的图书) 我哪里理解得不对呢?
答案:你的理解应该是对的,我验证过,会包括单价小于20的。这段程序输出y的结果等价于命令:COUNT FOR 单价>=25 OR 单价<=20
楼主可以再试一下。
其他:统计结果:x是小于20的个数,y是大于25的个数。所以小于20的不执行y=y+1是正确的,最后输出的也是y的值 y确实应该包括<=20和>=25的情况,如果没有统计<=20的情况,查看一下是不是记录中没有<=20的? 

上一个:visual foxpro 练习题
下一个:VFP(visual foxpro)替换生产日期 怎么将某个日期字段的生产日期增加三年,但是月和日不变啊?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,