Palm OS应用程序设计指南之十三
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]-
在这一章中,我们将编写计算器程序运运算的核心部分。我先为核心编制一个ANSI C版本,然后将详细探讨如何使这些代码在Palm OS中运行。
设计计算器核心
在开始写代码之前,我们必须知道到底该做些什么。一个解决这类问题的好方法是建立一个包括程序各个状态并通过箭头相连表示它们之间的关系的状态表。对本程序来说,这也是个很好的办法,因为这个程序比一般的程序包含了更多状态和状态关联。
你也可以将状态表制成一个大纲的形式,这样会使对程序看的更清楚。通常,当我想知道程序该完成哪些工作时,我就先从纸上画出程序的状态表大纲。不管效果如何,你可以先试一下。我建议你在看我的状态表之前,自己先做一个。表14-1是我所做的状态表。
状态:
操作算子――->改变符号―――>完成操作、显示结果、保存―――>回到预备状态
等于号(equal)―――>改变符号―――>完成操作、显示结果―――>回到预备状态
清除号(clear) ―――>清除数字和操作算子―――>回到预备状态
完成号(Done)―――>拷贝当前显示结果到粘贴板―――>退出程序预备状态:显示当前数字
0―――>显示0―――>预备状态
其它数字―――>显示数字―――>插入状态
改变符号―――>显示-0―――>预备状态
小数点―――>显示0. ―――>小数状态
指数―――>出错声―――>预备状态
整数状态:显示一个整数
数字―――>如果是允许输入的最大数字,则发出声音―――>整数状态
改变符号―――>给当前整数取反―――>整数状态
小数点―――>在当前整数后加小数点显示―――>小数状态
指数―――>在当前整数后加e+0显示―――>指数状态
小数状态:显示一个数字和一个小数点
数字―――>如果是允许输入的最大数字就发出报警音―――>把新输入的数字显示在最后―――>小数状态
改变符号―――>给当前显示的数字取反显示―――>小数状态
小数点―――>出错音―――>小数状态
指数―――>在当前显示的数字后加e+0显示―――>指数状态
指数预备状态:带e+0的显示一个数字
0―――>指数预备状态
其它数字―――>显示数字的指数―――>指数输入状态
改变符号―――>改变当前的指数符号为e-0―――>指数预备状态
小数点―――>出错音―――>指数预备状态
指数号―――>出错音―――>指数预备状态
指数输入状态:显示带指数的数字
数字―――>如果是允许输入的最大数字就发出警报音―――>给输入的数字取指数―――>指数输入状态
改变符号―――>改变指数的符号―――>指数输入状态
小数点―――>出错音―――>指数输入状态
指数号―――>出错音―――>指数输入装态
在我开始的状态表中,还有一些其它的状态,例如Clear状态和Enter Second Number状态,但当我画完时,发现这些状态可以很容易的融入到其它的状态中去。在开始编程之前,状态表将是一个很好的参考材料,所以我建议都来使用状态表,况且其它的大多数界面都要比本例子简单和直接。
剩余代码
为了好解释有关将ANSI标准C代码导入Palm OS的知识,我用以下的方法编写了程序。在程序中有一些可移植性的错误,看看你自己在看导入代码那部分之前能不能将它找出来。 - [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
-
- Palm OS应用程序设计指南之十三 相关文章:
- ·Palm OS应用程序设计指南之十三
- Palm OS应用程序设计指南之十三 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:通用菜单生成程序
下一篇:演示异常处理的实例(实例七)
精品推荐
热点TOP10
- ·图象处理中的边缘检测------canny算子
- ·EZ-USB 68013A开发指南
- ·数值计算程序大放送-特征值和特征向量
- ·ARM的嵌入式Linux移植体验之BootLoader
- ·Visual C++ ADO数据库编程入门
- ·智能手机Smartphone开发导语
- ·利用 wordXP 实现自动排班
- ·[分形]DLA团簇模型的摸拟
- ·DENX U-Boot及Linux使用手册
- ·Static和Final修饰类属性变量及初始化
- ·BPEL的异常管理
- ·看Vue 5 Esprit函数的节点与链接详情
- ·初学者全面接触学习jquery(译文)
- ·LinQ学习之旅 从整型数组中找出偶数
- ·Enterprise Library 快速入门
- ·CVS源代码库服务器建立和权限配置
- ·Visual FoxPro 9.0 SP2正式版下载
- ·VS2005控件的问题解决办法
- ·Cookie是什么?用法是怎样?与SESSION有什么区别?
- ·J2SE API读取Properties文件的六种方法
