怎样用C语言程序实现计算器功能,要求液晶显示

怎样用C语言程序实现计算器功能,要求液晶显示,第1张

计算器

那种'8;字型液晶吗

那种要参考LED显示的线路,哪个线路对应哪个位,然后把这些对应的值先写出来,再用C语言

逻辑

加以控制(运算)

说个

思路

:

比如数字"8"对应的位为:1111

1110(因为要显示数字8的话,7个LED管都要亮,而最后一位为

小数点

这里只是打个比方,要去查LED对应的位我记得小数点不是最后一位)

那么unsighed

char

number8=0xfe;(1111

1110)

以此类推,

运算的时候,输入数字,

符号

,数字,等于

伪代码

如下:

输入数字;

int

num1=0;//第一个数

int

num2=0;//第二个数

char

oper

=

'\0';

if(input

>='0'

&&input<='9')//这个应该是ASCII码,应该是

按键

的扫描码

单片机

里面不一样我这只是写个思路

{//如果输入的是0-9的数字

num1=num110+input;//把之前的数乘个10,再把输入的数加到个位计算器都是这么用的

count1++;

}

else

{

switch(input)

{

case

'+'://按了

加号

,那么第一个数输入完毕了

oper

=

'+';//这里我也只是写个思路,不用这样等

结束输入第一个数的循环;

break;

}

}

输入第二个数的逻辑差不多,就是最后输入完毕时候是输入符号后,要把值算出来

switch(oper)

{

case

'+'://加法

result

=

num1+num2;

break;

case

'-'//减法

result

=

num1

-

num2;

break;

///其余类似

}

最后输出阶段:

输出那个result;

从最高位开始输出:

int

t=0;bool

first=true;

for(int

l=max;l>0;l--)//这里的max是显示部分能显示多少位

{

t

=

result/pow(10,l);

if(t!=0)

first

=false;//第一个不是0了

if(!first)

{

output(t,l);//把t输出到LED的l位上

result

-=

tpow(10,l);//输出一位少相应的值

}

}//这个

算法

没有考虑小数小数自己研究研究吧

output(int

t,int

l)//大概这样的

{

switch(t)

{

case

'1':

//把对应

电路

的位设置为高电位,比如8

case

'8':

电路控制端=number8;//就是前面那个1111

1110,也就是0xfe

其余数字的

组合方法

查LED

手册

用的哪种LED就查哪种LED的手册有的不一样

}

}

要将button的信号事件和对应的槽函数连接起来:用这句 

QObject::connect( button, SIGNAL(clicked()), textedit, SLOT(on_button_clicked()) );

其中button的类申明内要加信号函数clicked的申明,要用signals关键字,处理该事件的类(你这边应该是计算器类吧)内申明on_button_clicked()

显示的 *** 作在  on_button_clicked()内处理。

以上就是关于怎样用C语言程序实现计算器功能,要求液晶显示全部的内容,包括:怎样用C语言程序实现计算器功能,要求液晶显示、qt中如何使鼠标点击后显示一个字符到TextEdit(我在做一个计算器程序)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9427081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存