计算器的设计
一、设计内容
形如WINDOWS自带的标准型计算器。
二、设计思路
字符串长度算不算 0完成标准型计算器的一样功能。
输入第一个数,进行存储并显示输入运算的类型并存储输入第二个数,存储并显示按“=”或那么按其它运算符号“+、-、*、/”进行持续的运算,最后显示运算结果。
三、具体的实现进程
1、键入感应
第一成立一个簇,然后在簇中成立23个布尔量,其中包括0--9十个数字键,1个小数点键,4个“+、-、*、/”运算键,1个等号键,1个开方键,1个符号转换键,1个倒数键,1个求百分数键,1个清零键,1个退格键,1个退出键。如以下图所示:
然后通过将簇中元素按产生的顺序组成一个一维数组,如此就实现了每一个键与数字
(1--23)之间的对应。每次按下一个键时,通过查出对应的键并把其后对应的数字连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应进程。如以下图所示:
2、运算变量的初始化
在运行程序之前,第一对需要用到的变量进行初始化,如下图
3、无操作时的默许输出
当键盘上的键没有任何一个按下时,系统默许输出,其中等待时刻为250ms。
4、数字1--9的输入
以数字“1”为例,当第一次输入数字“1”后,波尔量为真,进入case结构,将1输出到display 中,波尔量变成假。(图)假设再次输入1,为幸免显现01如此的字符串,先判定之前显示的数据是不是为0,假设为0,那么直接输出1,(图)假设不为0,那么将这两次输入的数据通过连接字符串连接到一路,在display中输出。数字2到9也是一样的道理。(图)
(图)
(图)(图)
5、数字0的输入
当第一次输入0时,与上述真的情形相同,此刻就零输入时的多零问题进行设计。尽管以多个零开头不阻碍输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。
当数据输入后,通过连接字符与00比较,假设不等,那么将数据直接输出(图)。假设相等,那么直接输出0(图)。
(图)(图)
6、小数点的输入
在小数点的输入时,最多只能显示出一个。假设直接点击小数点,那么以“0.”输出(图)。
假设之前已输入数据,现在再输入小数点第一利用判定已输入的数据中是不是含有小数点,假设不含有,那么后输出T,执行程序“真”(图);假设含有小数点,那么输出F,执行程序“假”(图)
(图)
(图)(图)
7、结果去零操作
在进行“+、-、*、/”运算及取负,取百分数,去倒数,开放运算以后程序默以为以保留6位小数的形式输出。而为了显示结果的简便,将末位不阻碍结果的零及小数点进行省略。
利用层叠式顺序结构,第一将得出的结果通过N-1位的偏移后与零进行比较,假设相等,那么进行去零操作,运用while循环结构,直至末位数字不为零,循环终止(图上图表示末位为零,以下图表示末位不为零)
(图)
在进行去零操作以后,进行层叠式顺序结构的第二层,对无关的小数点进行清除。
(图上图表示末位为小数点,以下图表示末位不是小数点)
(图)
八、“+/-”键的设计
第一进行扫描字符串,将字符串数据转换为数值数据,通过取负数后再转换为字符串形式输出。如以下图所示
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论