全文预览

矩阵键盘简易计算器

上传者:塑料瓶子 |  格式:doc  |  页数:20 |  大小:5331KB

文档介绍
| (num=='x') || (num=='/') || (num=='=') || (num=='^'))//输入数字最大位数为8或输入符号表示输入结束Р {Р i=0; //计数器复位Р if(firstflag==0) //如果是输入的第一个数据,赋值给a,并把标志位置1,到下一个数据输入时可以跳转赋值给bР {Р sscanf(temp,"%f",&a);?//将字符串数组temp中的字符以浮点数的形式输出到变量aР firstflag=1;Р }Р elseР sscanf(temp,"%f",&b);?//b中存放temp字符数组的各自对应的ASCII码Р for(s=0;s<8;s++) //赋值完成后把缓冲区清零,防止下次输入影响结果Р temp[s]=0; Р if(num!='=') //判断当前符号位并做相应处理Р sign=num; //如果不是等号记下标志位Р elseР { Р firstflag=0; //检测到输入=号,判断上次读入的符合Р switch(sign)Р {Р case '+':a=a+b;Р break;Р case '-':a=a-b;Р break;Р case 'x':a=a*b;Р break;Р case '/':a=a/b;Р break;Р case '^':a=pow(a,b);Р break;Р default:break;Р }Р sprintf(temp,"%f",a); //以字符的形式打印浮点数到临时缓冲区字符数组temp中Р for(s=0;s<8;s++) //由于打印的是ASCII码值Р { Р if(temp[s]==0x2d)//表示负号,数码管显示负号 0x40Р TempData[s]=0x40;Р else if(temp[s]==0x2e)//表示小数点,数码管显示小数点 0x98

收藏

分享

举报
下载此文档