欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    进制转换计算器.ppt

    • 资源ID:88403676       资源大小:325.49KB        全文页数:31页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    进制转换计算器.ppt

    第11讲进制转换计算器12本讲主要内容1.单选按钮控件2.复选框控件31.单选按钮控件单选按钮时一个圆圈和文本标签组合,当它被选中时,圆圈中就标上一个黑点。单选按钮通常是分组使用,同一组的单选按钮具有互斥性,即某一单选按钮被选中会清除同组内其他单选按钮的选中状态。通过将某一单选按钮Properties中General选项卡中勾选Group标识某一组开始,直到下一个Group标识出现,其顺序是Tab键顺序(单击菜单Layout|TabOrder命令)。41.单选按钮控件操作步骤:(1)打开IntegerCalculator工程,添加2个单选 按 钮,如 下 图 所 示,其 ID值 分 别 为IDC_RADIODEC和IDC_RADIOOCT。52.单选按钮控件(2)选中IDC_RADIODEC控件Properties中General选项卡中Group选项。(3)打开ClassWizard的MemberVariables选项 卡,为 IDC_RADIODEC添 加 关 联 变 量m_nHex,如下图所示,并在CIntegerCalculatorDlg类的构造函数中将其初始值改为0,表示10进制为默认选项。61.单选按钮控件71.单选按钮控件(4)为打开ClassWizard的MessageMaps选项卡,为IDC_RADIODEC和IDC_RADIOOCT添加BN_CLICKED消息,生成OnRadiodec()和OnRadiooct()函数,并添加如下代码:81.单选按钮控件voidCIntegerCalculatorDlg:OnRadiodec()CButton*p8=(CButton*)GetDlgItem(IDC_B8);/通过ID得到按钮控件对象的指针p8-EnableWindow(TRUE);/使按钮可用CButton*p9=(CButton*)GetDlgItem(IDC_B9);p9-EnableWindow(TRUE);transform();/进制转换其中GetDlgItem()函数的功能是根据控件ID获取对话框中控件的句柄,其函数声明为:CWnd*GetDlgItem(intnID)const;其中nID为控件的ID值。而EnableWindow()函数是CWnd类的成员函数,功能是使窗口允许或禁止,其函数声明为:BOOLEnableWindow(BOOLbEnable=TRUE);其中bEnable为TRUE,则窗口被允许,为FALSE,则窗口将被禁止。9voidCDialog10Dlg:OnRadiooct()/TODO:AddyourcontrolnotificationhandlercodehereCButton*p8=(CButton*)GetDlgItem(IDC_B8);/通过ID得到按钮控件对象的指针p8-EnableWindow(FALSE);/使按钮不可用CButton*p9=(CButton*)GetDlgItem(IDC_B9);p9-EnableWindow(FALSE);transform();/进制转换101.单选按钮控件(5)编写transform()函数,在IntegerCalculatorDlg.h文件中添加函数声明voidtransform();,在IntegerCalculatorDlg.cpp文件中添加如下代码。voidCIntegerCalculatorDlg: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进制转换为8进制m_nValue=atoi(s8);UpdateData(FALSE);/更新界面,显示转换后结果octToDec()函数为自定义函数,功能是将8进制数值转换为10进制数值同样10进制转换为8进制,我们也可以参照上面的思路编写一个转换函数,也可以采用现有的库函数进行转换。itoa()函数的功能是将整数转换为字符串,其原型为:char*itoa(intvalue,char*string,intradix);其中参数含义为:value:待转换整数。string:转换后字符串指针radix:转换基数,可以是2进制、8进制、10进制和16进制。atoi()函数的功能是将字符串转换为整数,转换过称谓跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(/0)才结束转换,并将结果返回。其函数原型为:intatoi(constchar*nptr);其中参数含义为:nptr:待转换字符串。111.单选按钮控件其中octToDec()函数为自定义函数,功能是将10进制数值转换为8进制数值,函数代码如下:intCIntegerCalculatorDlg:octToDec(intvalue)int result=0;/结果变量int num=0;/次幂变量while(value!=0)int 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()函数的功能是获得复选框的选中状态,其函数声明为:intGetCheck()const;其返回值为0:按钮处于未选中状态。1:按钮处于选中状态。2:按钮状态不定(仅当按钮风格为BS_3STATE或BS_AUTO3STATE时)如果按钮是其它风格,则返回0。为了代码清晰,系统为其做了宏定义:#defineBST_UNCHECKED0 x0000#defineBST_CHECKED0 x0001#defineBST_INDETERMINATE0 x0002172.复选框按钮(3)在OnCheckhex()函数中添加如下代码:elseCButton*pDec=(CButton*)GetDlgItem(IDC_RADIODEC);pDec-EnableWindow(FALSE);CButton*pOct=(CButton*)GetDlgItem(IDC_RADIOOCT);pOct-EnableWindow(FALSE);182.复选框按钮(4)为了使对话框在初始运行时保持正常状态,需在OnInitDialog()函数中添加如下代码:BOOLCIntegerCalculatorDlg:OnInitDialog()SetIcon(m_hIcon,FALSE);/SetsmalliconCButton*pDec=(CButton*)GetDlgItem(IDC_RADIODEC);pDec-EnableWindow(FALSE);CButton*pOct=(CButton*)GetDlgItem(IDC_RADIOOCT);pOct-EnableWindow(FALSE);192.复选框按钮(5)编译、链接、运行。203.补充案例【例【例7-9】世界杯知识小测验该问卷调查包括3道题目,两道单选题,一道多选题,单选题选项采用单选按钮控件实现,多选题选项采用复选框控件实现。213.补充案例实现步骤:(1)创建基于对话框的Survey工程。(2)删除对话框中原有的“确定”、“取消”按钮和静态文本控件,然后添加4个单选按钮控件、3个复选框控件、4个静态文本控件和1个按钮,并修改Caption。223.补充案例(3)修改控件ID,单选按钮控件ID依次为IDC_EURO、IDC_AFRI、IDC_SPAIN、IDC_HOLLAND,复 选 框 控 件 ID依 次 为IDC_ITALY、IDC_FRANCE、IDC_BRAZIL,按钮控件ID为IDC_SUBMIT。233.补充案例(4)修 改 控 件 的 Tab Order,单 击 菜 单Layout|TabOrder命令,通过鼠标点击修改为下图所示顺序。243.补充案例(5)将 控 件 IDC_EURO和 IDC_SPAIN的General选项卡中Group选项选中。(6)修改对话框Caption为“世界杯知识小测验”。(7)为控件添加关联变量,如下图所示。253.补充案例263.补充案例(8)为按钮控件IDC_SUBMIT添加消息响应函数,单 击 菜 单 View|ClassWizard命 令,在MessageMaps选项卡中为IDC_SUBMIT按钮添加BN_CLICKED消息响应函数OnSubmit()。273.补充案例(9)在函数OnSubmit()中添加代码如下:voidCSurveyDlg:OnSubmit()UpdateData(TRUE);/获得用户操作if(m_nHost=-1|m_nChampion=-1)/检查题目是否做完AfxMessageBox(题目未完成,请填写完整!题目未完成,请填写完整!);return;int nCount=0;/答对题目数量283.补充案例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);293.补充案例(10)编译、链接、运行。30作业作业:1)习题7-06,7-09;31

    注意事项

    本文(进制转换计算器.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开