刚刚终于把自己的Qt进制转换程序完成了。这是第三个版本。除了二、八、十、十六进制转换外,还可以进行加减乘除、乘方、开方、求余、指数、对数、正反三角函数运算。C++标准库里常见的运算全搬上去了。这多亏了我的手机Nokia5230支持浮点运算,不然,这些函数我还真不知道怎么在实现。室友的手机就没有浮点运算功能,所以他自己写了这些乘方、开方的类。想想我还是蛮取巧的:P不过本身就是为了熟练下Qt嘛,也不是为了锻炼自己算法。
截几张程序在模拟器中运行的图:
Former Calculation框可以显示以前计算的数值,程序退出后清除。NoCal标签在加减乘除等运算时会自动变成相应的计算符号,以提示用户。OF标签是在十进制的负数转换成二进制时用的,如果越界就标为红色的1。此时二进制的范围由下面QSpinBox中的数值限定,默认为8位。Advanced Calculation下拉框里面就是那些乘方、开方之类的运算啦。为了节省显示空间,所以用了下拉框。为了方便我的Nokia5230触屏的输入,我特地在程序中加入了键盘。这样输入就方便多啦!输入数据后,选择相应的进制,result框就会出现转化的结果。
Advanced Calculation中的函数。div get remainder是两整数相除得到商和余数。其他的应该大家都明白吧:)
输入-12。也可在其他进制模式下输入,再进行加减乘除运算也没问题。
转换成二进制,result框中出现了8位的结果。
大体上在模拟器上运行就是这样。在手机上色彩会变得更亮丽点:)感觉很小巧、紧凑。
做到这第三个版本就暂时不想做了,毕竟还是别的事情做,呵呵。(课程作业还没做呢:P)以后有时间还可以拿出来再改进下。
大体满意,当然还是有些问题的啦。尤其是最开始只是想进制转换的,后来才慢慢加入那些计算功能。所以,用计算功能的时候可能有些不顺手。比如:它不能连续计算。计算出小数后再进制转换,就得不到正确结果。因为当时做进制转换是没想用小数。(做课后题不需要有小数的功能。。。)不过我进行了设置,就算有些功能不是很好用,但也不会因错误而强制退出。
嘿嘿,上课的时候拿出来对付老师的课堂小题是肯定够用了的:P
我把它放在新浪共享里了,下面附上它的下载地址:
sis安装文件http://ishare.iask.sina.com.cn/f/14403752.html。安装过程中可能会有安全提示,我没申请签名,用的是QtCreator的自动签名。所以会有提示。放心,绝对没恶软(有恶软滴偶现在还编不出来咧)
Qt支持库http://ishare.iask.sina.com.cn/f/14402849.html。手机上的Qt支持插件。也可以上官网下载,我这是从NokiaQtSDK的安装包里提取的。Symbain^3的手机已经装了Qt插件了,就不用装这个了。
Windows版http://ishare.iask.sina.com.cn/f/14403972.html。反正是Qt编的,就顺便编译了个可以在Windows下运行的。(还是在手机里有feeling:P)