一个关于条件赋值的数据结构

sam_jiang 2009-09-12 02:58:06
先介绍一下变量,
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文件里面的值读到一个数组里面,然后用定时器来定时检查,可是我不知道咋使用这个数组啊,怎么下手啊。请弄过得,给予提示。
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oktsl 2009-09-14
  • 打赏
  • 举报
回复
逐行读取ini文件 ,3个值对应 a1,a2,a3, 一个标记flag=1;
然后 a增加以后,如果a1<a<a2 b=a3 flag=当前行 否则flag ++;
下一次从flag行开始读ini文件

sam_jiang 2009-09-14
  • 打赏
  • 举报
回复
没有人知道吗?
sam_jiang 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuhudie203 的回复:]
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;
  }
}
[/Quote]
对,是固定的,这个计数器起打作用是?
没有理解这个计数器是怎么回事?
yuhudie203 2009-09-12
  • 打赏
  • 举报
回复
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;
}
}
jyh_baoding 2009-09-12
  • 打赏
  • 举报
回复
就是查询,比较,赋值

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧