C ++如何变量/ Arduino

时间:2014-12-29 19:58:00

标签: arduino

我怎样才能简单?我在L0到L9下有预定义的数字。当程序获得例如32的数字时,我需要在LX下将其写为L3并且在LY下将其写为L2。任何人都知道如何做到这一点?我需要从0到64形成它 if(number == 64){LX=L6;LY=L4;} if(number == 63){LX=L6;LY=L3;} if(number == 62){LX=L6;LY=L2;}

1 个答案:

答案 0 :(得分:1)

您没有详细说明LXLYL0 .. L9的类型,但是从我看到的情况来看,您希望使用number的每个数字来查找相应的"预定义数字"然后将十位数放在LX中,将数字放在LY中。

一种直接的方法是使用开关明确地进行查找 在一个函数

   /* Convert x (in [0..9]) to corresponding "predefined number" */
    L_type get_L_num(int x)
    {
        switch(x) {
            case 0: return L0;
            ...
            case 9: return L9;
            default: if needed, some error handling...
    }    

(其中L_type是您预定义数字变量所属的任何类型)并将其用于每个数字,如

{LX = get_L_num(number/10]; LY = get_L_num[number%10]}

另一种方法是将L0..L9放在数组Lnumbers中,然后将其索引为

{LX = Lnumbers[number/10]; LY = Lnumbers[number%10]}

并且,如果需要,可以为number添加范围检查。

请注意,仅使用/10查找数字%10以查找数字number假设{{1}}位于[0..99],(应该是因为你问过[0..64])