admin 管理员组文章数量: 1086019
2024年4月26日发(作者:易分享资源网)
简易 计算器 (带小数点)
一.主要实现功能
1. 能完成五位数以内的加减乘除运算(其中整数部分最多为3位,小数部分最
多为2位,多余的输入无效)。
2. 运算结果数码管显示。
3. 在进行减法运算时,如果差是负数,数码管能够显示负数。
4. 能及时显示输入的值和运算的结果
二.操作方法(类似普通的计算器)
显示板上的1--9数字键作为运算是数字的输入,上档键作为加法键,下档键
作为减法键,左键作为乘法键,右键作为除法键,Esc键是取消键,用来取消上
一次的操作或是返回上一状态。Enter键在数字输入时作为小数点的键入键,当
完成第二个的数输入后,Enter键则作为计算器中的“=”键,得出运算的结果,
并且在数码管上显示,其余的操作步骤与方法与普通的计算器类似。
三.程序流程图
1.思想
从
计算器的操作步骤来看,可以把计算器的输入过程分解由四个状态来实现,如
下图所示
加减乘除键的输入
第一个数的输入
Enter键 得结果
第二个数的输入
与整数计算器不同的是,带小数的计算器要完成小数点的键入,须记录小数点后
面的位数,所以我们又可以把数字的输入分为两个状态,一个是整数部分的键入,
另一个是小数部分的键入。如下所示:
数字的输入
小数的输入
整数的输入
程序流程图
由程序流程图可以画出程序流程图
开始
初始化
Num =?
0 1 2 3
等号
第
第
加减
键的
二
一
乘除
输入
位
位
的输
数
数
入
显示
结束
以上只是从整体把握计算器程序,也就是程序是通过几个模块实现的。各个模块
之间互不影响的。各个模块实现的算法可以不同,加减乘除和等号的输入比较简
单在这就不描述了,下面对数字的输入和显示做简要的描述,如下图所示:
数字的输
入
Num1=?
0 1
整数小数
的输的输
数字的显示
F=?
0 1 2
入 入
显示
第一
位
数
显示
第二
位
数
显示
结果
四.算法
数字的输入与显示
1>.如何从键盘上读出键入的值并且如实的表示出来?例如按顺序输入12.12,
则在数码管上显示12.12,我们可设一变量th,从键盘上所读出来的值key ,
th=th*10+key,如果按顺序输入1 2 .1 2 ,则th的值为1212。这时我们需对
th做一些处理,在输入小数时可设一变量cnt来记录小数部分的个数。如果cnt
为2则th不作处理,cnt为1则shu=th*10,cnt为0则shu=th*100,第二位输
入数也做同样的处理,这样就把数全部化为了整数,单片机就可以对它进行快速
的处理和预算。第一位输入数和第二位数的显示,我们在利用分解原理得
bai=th/100 shi =th/10%10 ge=th%10.,在数码管的第三位上点亮dp也就是
数码管上显示2位小数,小数点后面第二位相当于整数的个位。这样数码管上观
察到的是12.12,其实shu的值是1212。但对于运算的结果的处理则与第一位输
入数cnt和第二位输入数cnt都有关系,详见程序中的处理。
程序的结构
1> 条件语句 if ....if... 结构 在程序中要不停的检测从显示板上读出的
值判断是键入的是哪个值 并且执行相应的操作
2>开关语句 ase 结构 使整个程序的框架,其它的处理都是在这
个大框架上完成的。
简易计算器(带小数点)程序
版权声明:本文标题:简易计算器 带小数点 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1714125360a666450.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论