在线计算机进制换算,进制转换计算器

《进制转换计算器》由会员分享,可在线阅读,更多相关《进制转换计算器(10页珍藏版)》请在人人文库网上搜索。

1、一 功能概述本应用是讲从数字键盘输入的某进制的数据按要求转换成其他进制的数据,以实现进制转换。本例程是基于对话框的工程,用一个对话框作为应用程序的主窗口,同时实例通过各种控件实现进制转换功能。其中,控件主要包括以下类型:编辑框,命令按钮、静态文本、群组框、单选按钮、复选框。其中主要控件功能为:“输入数据”和“转换数据”编辑框,分别用于显示输入的数矩和转换的结果。“转换为八进制”、“转换为十六进制”、“转换为十进制”三个命令按钮。用于将输入的数据转换为其他的进制。“重新开始”按钮用于将输入的数据和转换的数据清空。“八进制”、“十进制”、“十六进制”单选按钮对应输入数据的进制。同时为防止输入某进制。

2、下无效的按钮,对进制无效的按钮施予静止。本实例中默认输入为十进制。0-9按钮和A-F按钮做为数字键盘“输入数据加进制符号”和“转换数据加进制符号”“数据格式显示选择”群组框中两个复选框作为一组。应用程序实例界面二 实现步骤步骤一 选择file | new 命令,打开new对话框,选择project选项卡,设置工程名为Calculator,然后单击OK按钮。如下图所示:步骤二打开下图所示对话框,选择基本对话框,其余设置均采用默认操作,单击“完成”按钮完成整个工程的创建,如下图:步骤三在应用程序的主窗口的对话框资源中添加控件,并为对话框中的各个控件添加成员变量和消息响应函数。在已生成的IDD_CA。

3、LCUATOR_DIALOG对话框中添加控件资源如下表:控件标题控件类型ID号风格输入数据静态文本IDC_STATIC默认转换数据静态文本IDC_STATIC默认输入数据编辑控件IDC_EDIT_INPUT默认转换数据编辑控件IDC_EDIT_OUTPUT默认0按钮IDC_BUTTON_0默认1按钮IDC_BUTTON_1默认2按钮IDC_BUTTON_2默认3按钮IDC_BUTTON_3默认4按钮IDC_BUTTON_4默认5按钮IDC_BUTTON_5默认6按钮IDC_BUTTON_6默认7按钮IDC_BUTTON_7默认8按钮IDC_BUTTON_8默认9按钮IDC_BUTTON_9默认。

4、A按钮IDC_BUTTON_A默认B按钮IDC_BUTTON_B默认C按钮IDC_BUTTON_C默认D按钮IDC_BUTTON_D默认E按钮IDC_BUTTON_E默认F按钮IDC_BUTTON_F默认重新开始按钮IDC_BUTTON_RESET默认转换为八进制按钮IDC_BUTTON_TO_O默认转换为十六进制按钮IDC_BUTTON_TO_H默认转换为十进制按钮IDC_BUTTON_TO_D默认八进制单选按钮IDC_RADIO_O默认十进制单选按钮IDC_RADIO_D默认十六进制单选按钮IDC_RADIO_H默认数据格式选择群组框IDC_STATIC默认输入数据加进制符号复选框IDC_。

5、CHECK_INPUT默认输出数据加进制符号复选框IDC_CHECK_OUTPUT默认添加成员变量和消息响应函数消息响应函数如下表:控件ID通知消息消息响应函数IDC_BUTTON_0BN_CLICKEDOnButton0()IDC_BUTTON_1BN_CLICKEDOnButton1()IDC_BUTTON_2BN_CLICKEDOnButton2()IDC_BUTTON_3BN_CLICKEDOnButton3()IDC_BUTTON_4BN_CLICKEDOnButton4()IDC_BUTTON_5BN_CLICKEDOnButton5()IDC_BUTTON_6BN_CLICKED。

6、OnButton6()IDC_BUTTON_7BN_CLICKEDOnButton7()IDC_BUTTON_8BN_CLICKEDOnButton8()IDC_BUTTON_9BN_CLICKEDOnButton9()IDC_BUTTON_ABN_CLICKEDOnButtonA()IDC_BUTTON_BBN_CLICKEDOnButtonB()IDC_BUTTON_CBN_CLICKEDOnButtonC()IDC_BUTTON_DBN_CLICKEDOnButtonD()IDC_BUTTON_EBN_CLICKEDOnButtonE()IDC_BUTTON_FBN_CLICKEDOnB。

7、uttonF()IDC_BUTTON_RESETBN_CLICKEDOnButtonReset()IDC_BUTTON_TO_OBN_CLICKEDOnButtonToO()IDC_BUTTON_TO_HBN_CLICKEDOnButtonToH()IDC_BUTTON_TO_DBN_CLICKEDOnButtonToD()IDC_RADIO_DBN_CLICKEDOnButtonRadioD()IDC_RADIO_OBN_CLICKEDOnButtonRadioO()IDC_RADIO_HBN_CLICKEDOnButtonRadioH()成员变量如下表:控件ID数据类型成员变量IDC_BU。

8、TTON_8CButtonm_Button_8IDC_BUTTON_9CButtonm_Button_9IDC_BUTTON_ACButtonm_Button_AIDC_BUTTON_BCButtonm_Button_BIDC_BUTTON_CCButtonm_Button_CIDC_BUTTON_DCButtonm_Button_DIDC_BUTTON_ECButtonm_Button_EIDC_BUTTON_FCButtonm_Button_FIDC_EDIT_INPUTCStringm_InputEditIDC_EDIT_OUTPUTCStringM_OutputEditIDC_CHEC。

9、K_INPUTBOOLm_Check_InputIDC_CHECK_OUTPUTBOOLm_Check_Output步骤四通过上述步骤完成各个控件的添加和控制,下面将对对话框进和控件进行编程,以实现目标功能数字键按钮初始状态的设定。由于默认的进制为十进制,所以09折十个数字的默认状态是enable。因为系统的所有命令按钮的默认状态是enable,所以需要在初始化的时候将AF的状态设置为disable。选择class view 选项卡,双击CCalculatorDig下面的OnInitDialog()并在return钱添加如下代码:m_button_A.EnableWindow(FALSE);m。

10、_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);在程序运行过程中,数字键按钮的状态需要根据对三个单选按钮的选择而定。它们的事件函数代码分别如下:void CCalculatorDig:OnRADIOo() char_radio=O;value=0;m_button_8.EnableWindow(FALSE);m_button_9.Enab。

11、leWindow(FALSE);m_button_A.EnableWindow(FALSE);m_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);void CCalculatorDig:OnRADIOd() char_radio=D;value=0;m_button_8.EnableWindow(TRUE);m_button_9.Enabl。

12、eWindow(TRUE);m_button_A.EnableWindow(FALSE);m_button_B.EnableWindow(FALSE);m_button_C.EnableWindow(FALSE);m_button_D.EnableWindow(FALSE);m_button_E.EnableWindow(FALSE);m_button_F.EnableWindow(FALSE);void CCalculatorDig:OnRADIOh() char_radio=H;value=0;m_button_8.EnableWindow(TRUE);m_button_9.EnableW。

13、indow(TRUE);m_button_A.EnableWindow(TRUE);m_button_B.EnableWindow(TRUE);m_button_C.EnableWindow(TRUE);m_button_D.EnableWindow(TRUE);m_button_E.EnableWindow(TRUE);m_button_F.EnableWindow(TRUE);给数字按钮添加代码,07相似以0为例代码如下:void CCalculatorDig:OnButton0() / TODO: Add your control notification handler code he。

14、reint i_chekinput=m_CHECK_INPUT;/.GetState();/获取“数据输入”复选框的状态,1:表示选中switch(char_radio)case D:value=value*10+0;str.Format(%d,value);/将输入数据转化为字符串if(i_chekinput=1)/str=str+d;break;case O:value=value*8+0;str.Format(%o,value);/将输入数据转化为字符串if(i_chekinput=1)/str=str+o;break;case H:value=value*16+0;str.Format。

15、(%x,value);/将输入数据转化为字符串if(i_chekinput=1)/str=str+H;break;m_inputedit=str;UpdateData(FALSE);8,9不考虑八进制输入一8为例代码如下:void CCalculatorDig:OnButton8() int i_chekinput=m_CHECK_INPUT;/.GetState();/获取“数据输入”复选框的状态,1:表示选中switch(char_radio)case D:value=value*10+8;str.Format(%d,value);/将输入数据转化为字符串if(i_chekinput=0)。

16、/str=str+D;break;case H:value=value*16+8;str.Format(%x,value);/将输入数据转化为字符串if(i_chekinput=0)/str=str+H;break;m_inputedit=str;UpdateData(FALSE);/ TODO: Add your control notification handler code hereAF以A为例代码如下:void CCalculatorDig:OnButtonA() int i_chekinput=m_CHECK_INPUT;/.GetState();/获取“数据输入”复选框的状态,1。

17、:表示选中value=value*16+0x0A;str.Format(%x,value);/将输入数据转化为字符串if(i_chekinput=0)/str=str+H;/ TODO: Add your control notification handler code here三个转换按钮事件的编写代码如下:void CCalculatorDig:OnBUTTONtod() / TODO: Add your control notification handler code hereint i_checkoutput=m_CHECK_OUTPUT;/.GetState();str.Form。

18、at(%d,value);if(i_checkoutput=1)str=str+D;m_outpuedit=str;UpdateData(FALSE);/void CCalculatorDig:OnBUTTONtoh() int i_checkoutput=m_CHECK_OUTPUT;/.GetState();str.Format(%0x,value);if(i_checkoutput=0)str=str+h;m_outpuedit=str;UpdateData(FALSE);/ TODO: Add your control notification handler code herevoi。

19、d CCalculatorDig:OnBUTTONtoo() int i_checkoutput=m_CHECK_OUTPUT;/.GetState();str.Format(%o,value);if(i_checkoutput=0)str=str+o;m_outpuedit=str;UpdateData(FALSE);/ TODO: Add your control notification handler code here上述代码中str为全局变量,把输入的数据转换为CString类型的字符串以供显示。“重新开始”代码如下:void CMyDlg:OnBUTTONreset() m_inputedit= ;m_outpuedit= ;value=0;UpdateData(FALSE);步骤五保存工程,编译,连接,运行程序。我们通过一个简单的实例,介绍了各种常用控件的使用方法。控件是运行Windows应用程序开发的常用工具。同学们在学习本例之后,知道如何定义控件变量,如何调用控件的方法,以及如何定义控件的事件驱动函数等,进一步掌握控件在visual c+程序开发中的使用。小结。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值