基于Wince的计算器程序
来源:互联网 发布:淘宝女装拍摄灯光布置 编辑:程序博客网 时间:2024/05/22 17:23
折腾一个星期,终于把计算器完成了,实现加减乘除,精确度能达到20位。
由于用DUI实现界面布局,因此要达到存储24位整数数值,必须用数组,两者结合,使用TCHAR数组,
加减乘除算法网上都有,有了算法需要的就是操作逻辑,计算器操作逻辑其实并不简单,这里需要搞清楚
我的逻辑是这样的,首先你要写入一个数字a,按下运算符号,再写入一个数字b,按下=号,记录之前的符号和当前的符号进行判断,以便于下次计算,当你输入小数的时候,需要将所有的小数都化为整数去计算,网上的算法都是正整数的,所以符号位你需要另外去考虑,这也就意味着负数和减法的冲突,也就是说如果先按下负号,你需要判断现在的情况,是用减法的功能,还是负号的功能。另外小数化为整数,运算得到的结果还需要根据原小数点的位置进行判断,所以要进行小数点的移位。
你需要的变量就比较多了
TCHAR num_input_a[1000];//输入第一个数
TCHAR i_input_a[1000];//输入第一个数的整数部分
TCHAR f_input_a[1000];//输入第一个数的小数部分
int index_a;//输入第一个数的索引
int i_index_a;//输入第一个数整数部分的索引
int f_index_a;//输入第一个数小数部分的索引
int temp_a;//保存第一个数的临时索引
int i_temp_a;//保存第一个数整数部分的临时索引
int f_temp_a;//保存第一个数小数部分的临时索引
TCHAR num_input_b[1000];//输入的第二个数
TCHAR i_input_b[1000];//输入第二个数的整数部分
TCHAR f_input_b[1000];//输入第二个数的小数部分
int index_b;//输入第二个数的索引
int i_index_b;//输入第二个数整数部分的索引
int f_index_b;//输入第二个数小数部分的索引
bool m_isFloat;//是否为小数
int num_point_a;//输入第一个数的小数位数
int num_point_b;//输入第二个数的小数位数
int m_iNega;//0为正数,1为负数
bool m_continmul;//按下乘除后 是否没有按数字,直接按计算符号
bool m_isFlag;//是否点击了加减乘除
TCHAR num_result[1000];//输出结果
TCHAR i_num_result[1000];//输出整数部分结果
TCHAR f_num_result[1000];//输出小数部分结果
int m_jw;//十进制进位
int m_sign;//判断符号
int m_prvsign;//判断计算时前一个符号
int temp_count;//保存小数位中较多的位数
- 基于Wince的计算器程序
- 基于tcp协议的计算器程序
- 基于线程的WINCE测试程序
- 基于线程的WINCE测试程序
- mfc基于对话框计算器程序
- 基于51单片机的计算器 C语言程序
- 软件设计目标—基于简单工厂模式的计算器程序
- Java中基于Scanner 编写的计算器小程序
- 一个基于python3+PyQt5实现的简单计算器程序
- WinCE中为基于对话框的程序动态增加菜单
- 基于S3C2410A的WINCE下Stepldr程序移植详细分析
- 基于堆栈的计算器
- 基于Qt的计算器
- 用vs2008开发基于wince的程序如何直接运行在wince上
- 基于wince的录音机
- 简单的计算器程序
- 实现计算器的程序
- 简单的计算器程序
- Refecing Improving the Design of Existing Code reading comments(三)
- Android之基于百度云推送IM
- 策略模式
- Arcgis中将栅格数据导出成Txt格式
- Fuseki在linux下的部署及启动方法
- 基于Wince的计算器程序
- vmware_6.5.3+ubuntu_11.04 虚拟工具(vmware tool)的安装
- int nSelItem = m_wndList.GetSelectedIndex();程序报错的解决
- Cover、Rational PureCoverage、BullseyeCoverage
- window.parent ,window.top,window.self详解
- 背包问题
- .net项目开发的工具选择
- 【设计模式】备忘录
- 指针和引用的区别;vector;双冒号