先介绍一下变量,
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文件里面的值读到一个数组里面,然后用定时器来定时检查,可是我不知道咋使用这个数组啊,怎么下手啊。请弄过得,给予提示。
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文件里面的值读到一个数组里面,然后用定时器来定时检查,可是我不知道咋使用这个数组啊,怎么下手啊。请弄过得,给予提示。
定义一个一维数组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;
}
}
然后 a增加以后,如果a1<a<a2 b=a3 flag=当前行 否则flag ++;
下一次从flag行开始读ini文件