回 帖 发 新 帖 刷新版面

主题:知道有错却不知错在哪 !解决30分

学习了不少时间的qb 总是不进步 别人看来很简单的我却没办法 下面的问题 希望有知道的不嫌麻烦告诉我 !
   我的程序想解决的问题 从一个文件读出任意一组数据并完整写出来 
   只所以用seek 是希望从任意一期读入都可以正确的显示
     发现问题  
 在程序的这里
      s1 = 56
     SEEK #6, s1 * 10      
  这里的10是代表从第10期数据读入,问题就在这里 如果10换了8以下都是对的 ,换了比8大的print出来的顺序就错了 求指正错在那里了 为什么 只求改正这个错误的原因 不求其他方法 因为想知道错在那里了 还有就是再深的还不会!
  
   下面是程序   

OPEN "f:c04.txt" FOR INPUT AS #6

        
  
      s1 = 56
  '   SEEK #6, s1 * 1
    
   FOR i = 1 TO 1
     INPUT #6, a12, a11, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10

       
       
  
      
    ax(a1) = ax(a1) + 1
    ax(a2) = ax(a2) + 1
    ax(a3) = ax(a3) + 1
    ax(a4) = ax(a4) + 1
    ax(a5) = ax(a5) + 1
    ax(a6) = ax(a6) + 1
    ax(a7) = ax(a7) + 1
     
    
    

    

     
       

            

      s1 = 56
     SEEK #6, s1 * 10        FOR i1 = 1 TO 14
       
     INPUT #6, b12, b11, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10
      
            NEXT i1
    
          PRINT b12; b11; b1; b2; b3; b4; b5; b6; b7; b8; b9; b10
                  

     FOR j = 0 TO 35
        ax(j) = 0
        ax1(j) = 0
        tj(j) = 0
          FOR j1 = 0 TO 15
        bx(j, j1) = 0
         cx(j, j1) = 0
           dx(j, j1) = 0
            tj1(j, j1) = 0
           NEXT j1
        NEXT j
     
     qq1 = 0
      qq2 = 0
        qq3 = 0
         qq4 = 0
         qq8 = 0

    
    NEXT i

   PRINT q
     CLOSE
END



下面是 c04.txt 文件

 2009044  2009-06-08  08 13 20 23 24 29 33  35  0  0 
 2009043  2009-06-05  04 09 15 27 29 31 33  34  0  0 
 2009042  2009-06-01  03 17 18 19 21 27 35  28  0  0 
 2009041  2009-05-29  07 09 12 13 17 24 35  18  0  6 
 2009040  2009-05-25  04 05 13 28 32 33 34  21  0  0 
 2009039  2009-05-22  01 06 10 17 19 21 22  30  0  0 
 2009038  2009-05-18  03 04 06 10 15 20 25  27  0  0 
 2009037  2009-05-15  01 07 11 26 28 30 32  05  0  1 
 2009036  2009-05-11  05 08 26 29 31 33 34  03  0  0 
 2009035  2009-05-08  05 08 10 18 25 28 32  09  0  0 
 2009034  2009-05-04  02 14 15 16 23 32 34  27  0  0 
 2009033  2009-05-01  04 06 10 18 22 24 25  14  0  0 
 2009032  2009-04-27  05 15 22 23 27 28 29  32  0  1 
 2009031  2009-04-24  03 09 13 20 21 28 35  19  0  1 
 2009030  2009-04-20  05 08 11 18 26 30 33  13  0  0 
 2009029  2009-04-17  02 06 10 19 21 23 24  16  0  0 
 2009028  2009-04-13  04 05 07 18 27 30 33  25  0  0 
 2009027  2009-04-10  01 14 20 28 29 32 34  04  0  0 
 2009026  2009-04-06  04 16 21 22 23 24 33  32  0  0 
 2009025  2009-04-03  12 14 19 23 26 31 33  15  0  0 
 2009024  2009-03-30  02 04 10 12 18 21 33  17  0  0 
 2009023  2009-03-27  01 07 13 14 20 27 33  30  0  0 
 2009022  2009-03-23  02 03 04 08 09 24 29  20  0  1 
 2009021  2009-03-20  07 13 15 17 26 31 32  19  0  0 
 2009020  2009-03-16  05 14 18 24 26 31 32  11  0  0 
 2009019  2009-03-13  15 17 23 25 26 28 30  22  0  0 
 2009018  2009-03-09  01 02 04 06 18 27 34  23  0  0 
 2009017  2009-03-06  02 03 19 26 27 33 34  05  0  0 
 2009016  2009-03-02  01 04 08 10 24 25 33  22  0  0 
 2009015  2009-02-27  04 10 12 30 31 33 34  11  0  0 
 2009014  2009-02-23  05 11 16 18 25 26 33  03  0  0 
 2009013  2009-02-20  07 09 17 22 30 32 33  10  0  0 
 2009012  2009-02-16  01 06 16 18 20 25 31  12  0  0 
 2009011  2009-02-13  01 08 11 16 17 29 34  24  0  0 
 2009010  2009-02-09  01 04 10 11 16 20 23  17  0  0 
 2009009  2009-02-06  06 07 08 11 13 26 33  22  0  0 
 2009008  2009-02-02  03 05 17 18 24 31 33  21  0  1 
 2009007  2009-01-23  06 10 11 12 13 21 33  01  0  0 
 2009006  2009-01-19  01 06 11 13 22 28 35  27  0  0 
 2009005  2009-01-16  01 03 08 12 13 15 26  27  0  0 
 2009004  2009-01-12  11 12 13 16 18 20 25  22  0  0 
 2009003  2009-01-09  04 12 15 16 25 29 32  13  0  0 
 2009002  2009-01-05  06 11 20 26 28 31 32  17  0  1 
 2009001  2009-01-02  03 06 17 21 24 34 35  27  0  0 

回复列表 (共9个回复)

沙发

1.为了说明我对于帮助别人从来就没有倦怠过。即使我多么虚伪。
2.我不愿意帮你,跟我没有关系,跟你有关系。因为你自己连思考都不愿意,我说再多也是白费。
3.把你的代码中与文件有关的代码整理如下:

OPEN "f:c04.txt" FOR INPUT AS #6
      s1 = 56
  '   SEEK #6, s1 * 1
   FOR i = 1 TO 1
     INPUT #6, a12, a11, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10
[color=0000FF]'没看见next[/color]
      s1 = 56
     SEEK #6, s1 * 10
[color=0000FF]'相当于 seek #6,560[/color]
        FOR i1 = 1 TO 14
     INPUT #6, b12, b11, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10
[color=0000FF]'这一行读文件的语句在循环体内[/color]
            NEXT i1
          PRINT b12; b11; b1; b2; b3; b4; b5; b6; b7; b8; b9; b10
[color=0000FF]'这一行显示数据的却在循环体外,只显示一次。[/color]
     CLOSE
END


4.有无数的疑问

5.每一行的长度不是56,其实数据只是53个字符,加上回行换车符总共55。
 那么seek后面的表达式应该是 55*(i-1)+1 才是第i行的开头位置
 你那些什么 56*i 之类的不知道是哪抄来的。

6.“2009-01-02”这一串数字,用input只能读入2009,至于你说的都没错,不知道是怎么回事。

7.固定长度,如果不嫌麻烦,可以使用random方式打开文件,定义好记录长。
 又或者使用binary方式打开,使用input$方式读入字符串,再根据字符串的位置进行数字处理。

8.说,我愿意说,但我不愿意你把所有的事情都一句“不懂”,就全部由我来帮你把米洗好,把饭煮好,拿好碗筷,捧到你面前,侍候着你“一切都准备好了,请你吃吧”。

9.我对于耍点小聪明来进行福利彩票投注的整理和预测或投注管理等完全没有异议,但将它当成题目拿上来讨论,我简直是哭笑不得,不知道这个世界变成什么样子了。做人居然要靠这些希望,一切努力都显得没有意义。

10.我确实没有什么朋友,不因为我对人冷漠,而是因为我对人的失望。
  你太年轻,没有办法理解,随你嘲笑去好了。

板凳

1, 不用说明你帮助了多少人 因为你确实帮助过很多人 即便是倦怠也是应该的 也是有资格的
2, 所谓难者不会 会者不难 请从初学的角度想想 对有的人非常简单的事对有的人会非常难 我认识的人里已经发现有3个人不会拼音  如果不是用电脑 我也不会明白 还有人学不会拼音 ,我在这里为你的回答表示感谢是 真诚的 ! 愿意不愿意回答是你的心情问题 我对带给你的不快表示歉意!
3,感谢指出的不足 !
5,不是抄来的 是试出来的 因为55和57都不对
6,这个为什么错 你也不知道我也意外 看来我是碰到了点真麻烦
8 ,再一次为强调 本人确实没有等人做饭的意思 我只是不知道错在哪了 希望有人指出
9,这不是讨论彩票 难道彩票就不可以当数据  其次我不明白研究买彩票难道不如研究坑蒙拐骗 的令你如此不齿 许多事情有没用只是个人所处角度不同 正如电脑大部分人都是用来游戏的浪费了大量时间和精力  世界也依然是这个样子 不见得更有希望或更没希望 什么叫有意义这个话题大了点 对你来说没意义我是理解的 但对许多人来说 买点彩票就是他的精神寄托  许多人因此感觉有希望了 活的快乐了 我觉得就是最大的意义!
10 朋友的多少是很难判断的 和个人的要求有很大关系 曲高和寡也是常理  对人失望我想那是因为你要求太高了 没有过高的期望就可以避免失望了 !这些话没有指责你的意思 是希望你可以换个角度考虑问题
  以上是我对你的回答的回答  不为争论 只因人来自五湖四海 对问题 的认识千差万别 希望我的解释可以更清楚的表达我的意思

3 楼

呵呵,我服了,你是我的老师。
要感谢你的开导,真心感谢。

4 楼


5.每一行的长度不是56,其实数据只是53个字符,加上回行换车符总共55。
 那么seek后面的表达式应该是 55*(i-1)+1 才是第i行的开头位置
  用这个方法就不错了[em8][em8]
   这个错误相信不会犯了

5 楼

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

6 楼

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

7 楼

0

8 楼

OPEN "f:c04.txt" FOR INPUT AS #6
      s1 = 56
  '   SEEK #6, s1 * 1
   FOR i = 1 TO 1
     INPUT #6, a12, a11, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10
'没看见next
      s1 = 56
     SEEK #6, s1 * 10
'相当于 seek #6,560
        FOR i1 = 1 TO 14
     INPUT #6, b12, b11, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10
'这一行读文件的语句在循环体内
            NEXT i1
          PRINT b12; b11; b1; b2; b3; b4; b5; b6; b7; b8; b9; b10
'这一行显示数据的却在循环体外,只显示一次。
     CLOSE
END

9 楼

仔细检查,漏洞多!

我来回复

您尚未登录,请登录后再回复。点此登录或注册