| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2482 人关注过本帖
标题:请教,循环套循环的程序如何实现?
取消只看楼主 加入收藏
fengmh
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2018-3-18
结帖率:92.86%
收藏
已结贴  问题点数:18 回复次数:1 
请教,循环套循环的程序如何实现?
已知表A和数组qqq,数组qqq中有7个元素(1,2,4,8,18,38,82);
1、设计程序首次运行,按表A序号顺序从小到大逐行更新投注数;
当结果=.f. 时,投注数=0
当结果=.t.时,投注数仍为0,但在下一条记录开始进行更新本期投注,数值从数组的元素1开始,,一直到循环到最后一个元素值;
2、在数组元素上下标循环范围内,如果结果=.t.,则下条投注数从元素1重新开始加倍投注;
3、如果最后一个元素值投注后,
表A.rar (381 Bytes)
结果仍为.f.,则下一行记录投注数为0,不再投注,直到下一个结果=.t.时,再次启动投注,直至将表中所有记录更新完毕;
注:正确投注已在表A中添加,可参考对比。


[此贴子已经被作者于2019-12-6 09:02编辑过]

搜索更多相关主题的帖子: 更新 元素 数组 结果 循环 
2019-12-06 01:52
fengmh
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2018-3-18
收藏
得分:0 
回复 3楼 厨师王德榜
LOCAL  row1 As Integer, row2 As Integer, irow As Integer, iArray As Integer
row1 = 1
USE 预测
blank all fields 本期投注
row2 = reccount()+1
DIMENSION qqq(7)
LOCAL lCanChipin As Boolean
qqq(1)=1
qqq(2)=2
qqq(3)=4
qqq(4)=8
qqq(5)=18
qqq(6)=38
qqq(7)=82
irow = row1
DO while  irow < row2
    If lCanChipin  Then
        iArray = 0
         ENDIF
        ENDDO

        Do while iArray < alen(qqq)  
            UPDATE 预测 SET 本期投注=qqq(iArray)  WHERE RECNO()=irow  
            If 结果=.t. THEN   
                iArray = 0
            Else
                iArray = iArray + 1
            EndIf
            If iArray <= alen(qqq) Then
            irow = irow + 1
        LOOP
          If 结果=.f. THEN  
            lCanChipin = False
        Else
        EndIf
        irow = irow + 1
    Else
        If  结果=.f. THEN      
             UPDATE 预测 SET 本期投注=0  WHERE RECNO()=irow  
        Else
            UPDATE 预测 SET 本期投注=0  WHERE RECNO()=irow  
            lCanChipin = True
        EndIf
    irow = irow + 1
    ENDIF
     LOOP

太难了,写到这儿不会写了,VB和VF还是有很大差距的,没有Do Until这个命令,老师帮忙再看下,VFP如何改,谢谢了!

[此贴子已经被作者于2019-12-7 10:48编辑过]

2019-12-07 10:44
快速回复:请教,循环套循环的程序如何实现?
数据加载中...
 
   



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

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