首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

哪位高手能讲解一上简易计算器的思路

2012-12-22 
谁能讲解一下简易计算器的思路不需要代码,还有个疑问。怎么实现第一次按下1,第二次按下3显示13while(1){kk

谁能讲解一下简易计算器的思路
不需要代码,还有个疑问。怎么实现第一次按下1,第二次按下3显示13

while(1)
{



            k=keyscan();
 
            if(flag==1)num=num+k;

if(flag==2)
{num=10*num+k;}
if(flag==3)
{
                    num=100*num+k;
                  }
if(flag==4)
{
                      num=1000*num +k;
                     }

display(num);

}
}
void display(num)
k是在扫描键盘中,每按下一次自加1;
[最优解释]
while(1)
{
k=keyscan();
num=10*num+k;}
}

num初始值是0,比如你想按13出来,第一次按1,执行后num=1,第二次按3,num = 1*10+3=13,如果按数字键就直接原来的结果乘10+新按的数,如果是功能键另作处理

引用:
没有,每次按下flag加一

引用:
你的flag每次重新置位吗?这样子看你的while循环里num值每次都会变 输出肯定不会稳定

[其他解释]
这样子为什么不行
[其他解释]
你的flag每次重新置位吗?这样子看你的while循环里num值每次都会变 输出肯定不会稳定
[其他解释]
没有,每次按下flag加一
引用:
你的flag每次重新置位吗?这样子看你的while循环里num值每次都会变 输出肯定不会稳定

[其他解释]
while(1)
{
k=keyscan();
num=10*num+k;}
}

num初始值是0,比如你想按13出来,第一次按1,执行后num=1,第二次按3,num = 1*10+3=13,如果按数字键就直接原来的结果乘10+新按的数,如果是功能键另作处理

引用:
没有,每次按下flag加一

引用:
你的flag每次重新置位吗?这样子看你的while循环里num值每次都会变 输出肯定不会稳定

热点排行