读书人

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

发布时间: 2013-03-26 09:54:34 作者: rapoo

谁能讲解一下简易计算器的思路
不需要代码,还有个疑问。怎么实现第一次按下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值每次都会变 输出肯定不会稳定

读书人网 >单片机

热点推荐