先介绍一下变量,
float a;
int   b;
a是一个在不断增大的数字,比如从1.0,2.3,3.1这样不断的增大的浮点数。b跟a有对应关系,打个比方,当a在m和n之间时b=1,当a增大到p和q之间时,b=0,这个范围对应关系在程序运行前都已经定义好了
现在就是在思考用一个什么样的数据结构在达到自动给b赋值的功能,a的值随时间在自动增大的。我现在的思路是用一个run.ini文件存放定义好的范围对应关系,里面内容如下
1    3     1   //意思是当a在1,3之间时候b=1
3    5     2   //意思是当a在3,5之间时b=2 以此类推。
5    6.4   3   //当a在5和6.4之间时b=3 我现在不知道怎样实现随a增长,来实时的给b赋值,同学说先将run.ini文件里面的值读到一个数组里面,然后用定时器来定时检查,可是我不知道咋使用这个数组啊,怎么下手啊。请弄过得,给予提示。

解决方案 »

  1.   

    ini里面的文件是固定的吧
    定义一个一维数组char Num[MAX] 可以保证放下ini里的各个整数(由MAX来决定)
    通过读文件的方式将ini里面的数字读出入到Num数组中,按顺序排放 定义一个计数器flag=0 当读取一个数的时候flag++;
    for(i = 0 ; i < flag ; i+3)
    {
      if(a>Num[i]&&a<Num[i+1])
      {
         b = Num[i+2];
         break;
       }
    }
      

  2.   

    逐行读取ini文件  ,3个值对应 a1,a2,a3,  一个标记flag=1;
    然后 a增加以后,如果a1<a<a2 b=a3 flag=当前行  否则flag ++;
    下一次从flag行开始读ini文件