单片机学习小组
直播中

李桂芳

8年用户 169经验值
私信 关注

请问用单片机做计算器时怎么输入2位以上的数?

单片机做计算器时怎么输入2位以上的数???我一直弄不成功,各位大神帮帮忙

回帖(4)

李景天

2019-4-8 07:59:45
个和十两个变量,输第二位时就 十*10+个 ,你的问题是这个意思?
举报

许海明

2019-4-8 08:19:12
对啊,但是我一直错了,你看看代码   while(1)
{
                 
 writeorder(0x06); // 写一个指针加1
      keyscan();
  switch(flagfu)   
  {
 case '=': switch(fuhao)
                      {case'+':a=b+a;while(flagfu=='=')outwork(a);break;//问;break;   while(flagfu=='=')
  case'-':a=b-a;while(flagfu=='=')outwork(a);break;
   case'*':a=a*b;while(flagfu=='=')outwork(a);break;
    case'/':a=b/a;while(flagfu=='=')outwork(a);break;
default:break;    
 } 
 break; 
   case '+':{fuhao='+';b=a;k=0;}break;
   case '-':{fuhao='-';b=a;k=0;}break;       
   case '*':{fuhao='*';b=a;k=0;}break;   
   case '/':{fuhao='/';b=a;k=0;}break;          
   case '0':
   case '1':
   case '2':
   case '3':
   case '4':
   case '5':       
   case '6':    
   case '7':
   case '8':
   case '9':{a=(flagfu-'0')+a*k*10;k=1;}break;//问题2    刚开始k=0的,但是。。。。
    
                      
      
  }
  
  
}
举报

人中狼

2019-4-8 11:56:46
应该是记录连续是数字输入的次数,如果连续输入两个数字,那么第二个数字就*10,如果连续输入三个数字,那么第二个数字就*10,第三个数字就*100
举报

阿信509

2019-4-8 16:30:59
只要输入数字就把之前的数字乘以10,在加上现在的数就行了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分