进制转换计算器课件

上传人:阳*** 文档编号:82340749 上传时间:2022-04-28 格式:PPT 页数:31 大小:191KB
收藏 版权申诉 举报 下载
进制转换计算器课件_第1页
第1页 / 共31页
进制转换计算器课件_第2页
第2页 / 共31页
进制转换计算器课件_第3页
第3页 / 共31页
资源描述:

《进制转换计算器课件》由会员分享,可在线阅读,更多相关《进制转换计算器课件(31页珍藏版)》请在装配图网上搜索。

1、进制转换计算器PPT课件1第11讲 进制转换计算器 进制转换计算器PPT课件2 进制转换计算器PPT课件3本讲主要内容1. 单选按钮控件2. 复选框控件进制转换计算器PPT课件41. 单选按钮控件单选按钮时一个圆圈和文本标签组合,当它被选中时,圆圈中就标上一个黑点。单选按钮通常是分组使用,同一组的单选按钮具有互斥性,即某一单选按钮被选中会清除同组内其他单选按钮的选中状态。 通过将某一单选按钮Properties中General选项卡中勾选Group标识某一组开始,直到下一个Group标识出现,其顺序是Tab键顺序(单击菜单Layout|Tab Order命令)。 进制转换计算器PPT课件51.

2、 单选按钮控件操作步骤:(1)打开Integer Calculator工程,添加2个单选 按 钮 , 如 下 图 所 示 , 其 I D 值 分 别 为IDC_RADIODEC和IDC_RADIOOCT。进制转换计算器PPT课件62. 单选按钮控件(2)选中IDC_RADIODEC控件Properties中General选项卡中Group选项。(3)打开ClassWizard的Member Variables选项卡,为IDC_RADIODEC添加关联变量m _ n H e x , 如 下 图 所 示 , 并 在CIntegerCalculatorDlg类的构造函数中将其初始值改为0,表示10进

3、制为默认选项。 。 进制转换计算器PPT课件71. 单选按钮控件进制转换计算器PPT课件81. 单选按钮控件(4)为打开ClassWizard的Message Maps选项卡,为IDC_RADIODEC和IDC_RADIOOCT添加BN_CLICKED消息,生成OnRadiodec()和OnRadiooct()函数,并添加如下代码 : 进制转换计算器PPT课件91. 单选按钮控件void CIntegerCalculatorDlg:OnRadiodec() CButton *p8 = (CButton*)GetDlgItem(IDC_B8);/通过ID得到按钮控件对象的指针p8-EnableW

4、indow(TRUE); /使按钮可用CButton *p9 = (CButton*)GetDlgItem(IDC_B9);p9-EnableWindow(TRUE);transform();/进制转换其中GetDlgItem()函数的功能是根据控件ID获取对话框中控件的句柄,其函数声明为:CWnd* GetDlgItem(int nID) const;其中nID为控件的ID值。 而EnableWindow()函数是CWnd类的成员函数,功能是使窗口允许或禁止,其函数声明为:BOOL EnableWindow( BOOL bEnable = TRUE );其中bEnable为TRUE,则窗口被

5、允许,为FALSE,则窗口将被禁止。 进制转换计算器PPT课件10void CDialog10Dlg:OnRadiooct() / TODO: Add your control notification handler code hereCButton *p8 = (CButton*)GetDlgItem(IDC_B8);/通过ID得到按钮控件对象的指针p8-EnableWindow(FALSE); /使按钮不可用CButton *p9 = (CButton*)GetDlgItem(IDC_B9);p9-EnableWindow(FALSE);transform();/进制转换进制转换计算器P

6、PT课件111. 单选按钮控件(5)编写transform()函数,在IntegerCalculatorDlg.h文件中添加函数声明void transform();,在IntegerCalculatorDlg.cpp文件中添加如下代码。 void CIntegerCalculatorDlg:transform()UpdateData(TRUE);/获得数据if(m_nHex = 0)/10进制单选按钮被选中m_nValue = octToDec(m_nValue);/将8进制转换为10进制else/8进制单选按钮被选中char s830;itoa(m_nValue,s8,8);/将10进制转

7、换为8进制m_nValue = atoi(s8);UpdateData(FALSE);/更新界面,显示转换后结果 octToDec()函数为自定义函数,功能是将8进制数值转换为10进制数值 同样10进制转换为8进制,我们也可以参照上面的思路编写一个转换函数,也可以采用现有的库函数进行转换。 itoa()函数的功能是将整数转换为字符串,其原型为:char *itoa(int value,char *string,int radix);其中参数含义为:value:待转换整数。string:转换后字符串指针radix:转换基数,可以是2进制、8进制、10进制和16进制。 atoi()函数的功能是将字

8、符串转换为整数,转换过称谓跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(/0)才结束转换,并将结果返回。其函数原型为:int atoi(const char *nptr);其中参数含义为:nptr:待转换字符串。进制转换计算器PPT课件121. 单选按钮控件 其中octToDec()函数为自定义函数,功能是将10进制数值转换为8进制数值,函数代码如下:int CIntegerCalculatorDlg:octToDec(int value)int result=0;/结果变量int num = 0;/次幂变量while (value != 0) int

9、low = value%10;/取个位数int mul = 1;for(int i=0;iGetCheck()CButton *pDec = (CButton*)GetDlgItem(IDC_RADIODEC);pDec-EnableWindow(TRUE);CButton *pOct = (CButton*)GetDlgItem(IDC_RADIOOCT);pOct-EnableWindow(TRUE);GetCheck()函数的功能是获得复选框的选中状态,其函数声明为:int GetCheck() const;其返回值为0:按钮处于未选中状态。1:按钮处于选中状态。2:按钮状态不定(仅当按

10、钮风格为BS_3STATE或BS_AUTO3STATE时)如果按钮是其它风格,则返回0。为了代码清晰,系统为其做了宏定义:#define BST_UNCHECKED 0 x0000#define BST_CHECKED 0 x0001#define BST_INDETERMINATE 0 x0002 进制转换计算器PPT课件182. 复选框按钮(3)在OnCheckhex ()函数中添加如下代码 :elseCButton *pDec = (CButton*)GetDlgItem(IDC_RADIODEC);pDec-EnableWindow(FALSE);CButton *pOct = (CB

11、utton*)GetDlgItem(IDC_RADIOOCT);pOct-EnableWindow(FALSE);进制转换计算器PPT课件192. 复选框按钮(4)为了使对话框在初始运行时保持正常状态,需在OnInitDialog()函数中添加如下代码:BOOL CIntegerCalculatorDlg:OnInitDialog()SetIcon(m_hIcon, FALSE);/ Set small iconCButton *pDec = (CButton*)GetDlgItem(IDC_RADIODEC);pDec-EnableWindow(FALSE);CButton *pOct =

12、(CButton*)GetDlgItem(IDC_RADIOOCT);pOct-EnableWindow(FALSE);进制转换计算器PPT课件202. 复选框按钮(5)编译、链接、运行。进制转换计算器PPT课件213. 补充案例【例【例7-9】 世界杯知识小测验该问卷调查包括3道题目,两道单选题,一道多选题,单选题选项采用单选按钮控件实现,多选题选项采用复选框控件实现。进制转换计算器PPT课件223. 补充案例实现步骤:(1)创建基于对话框的Survey工程。(2)删除对话框中原有的“确定”、“取消”按钮和静态文本控件,然后添加4个单选按钮控件、3个复选框控件、4个静态文本控件和1个按钮,并

13、修改Caption。进制转换计算器PPT课件233. 补充案例(3)修改控件ID,单选按钮控件ID依次为IDC_EURO、IDC_AFRI、IDC_SPAIN、IDC_HOLLAND,复选框控件ID依次为IDC_ITALY、IDC_FRANCE、IDC_BRAZIL,按钮控件ID为IDC_SUBMIT。进制转换计算器PPT课件243. 补充案例(4)修改控件的Tab Order,单击菜单Layout|Tab Order命令,通过鼠标点击修改为下图所示顺序。进制转换计算器PPT课件253. 补充案例(5)将控件IDC_EURO和IDC_SPAIN的General选项卡中Group选项选中。(6)

14、修改对话框Caption为“世界杯知识小测验”。(7)为控件添加关联变量,如下图所示。进制转换计算器PPT课件263. 补充案例进制转换计算器PPT课件273. 补充案例(8)为按钮控件IDC_SUBMIT添加消息响应函数,单击菜单View|ClassWizard命令,在Message Maps选项卡中为IDC_SUBMIT按钮添加BN_CLICKED消息响应函数OnSubmit()。进制转换计算器PPT课件283. 补充案例(9)在函数OnSubmit()中添加代码如下:void CSurveyDlg:OnSubmit() UpdateData(TRUE);/获得用户操作if(m_nHost

15、 = -1 | m_nChampion = -1) /检查题目是否做完AfxMessageBox(题目未完成,请填写完整!题目未完成,请填写完整!);return;int nCount = 0; /答对题目数量进制转换计算器PPT课件293. 补充案例if(m_nHost = 1) /第一题答案为非洲nCount+;if(m_nChampion = 0) /第二题答案为西班牙nCount+;/第三题答案为意大利和法国第三题答案为意大利和法国if(m_bItaly = TRUE & m_bFrance = TRUE & m_bBrazil = FALSE)nCount+;CString msg;msg.Format(你答对了你答对了%d道题目道题目,nCount);/显示答题显示答题结果结果AfxMessageBox(msg);进制转换计算器PPT课件303. 补充案例(10)编译、链接、运行。进制转换计算器PPT课件31作业作业:1)习题7-06,7-09;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!