VC++课程设计 简单计算器的设计
简易计算器c课程设计

简易计算器c 课程设计一、课程目标知识目标:1. 让学生掌握简易计算器C的基本结构,包括算术表达式、运算符和操作数。
2. 使学生了解计算器C中的数据类型及其在内存中的存储方式。
3. 让学生理解顺序结构程序设计的原理,并能够运用到简易计算器C的开发中。
技能目标:1. 培养学生运用计算器C编写简单程序的能力,如加减乘除运算。
2. 培养学生分析问题、解决问题的能力,能够针对特定需求设计相应的计算器功能。
3. 提高学生的编程实践能力,通过动手编写代码,实现简易计算器的功能。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发他们主动探索新知识的欲望。
2. 培养学生团队协作意识,学会与他人共同分析问题、解决问题,共同进步。
3. 培养学生严谨、细致的学习态度,养成良好的编程习惯,为今后的学习打下基础。
课程性质:本课程属于编程启蒙课程,以实践操作为主,结合理论讲解,让学生在动手实践中掌握编程基础。
学生特点:本课程面向的学生为具有一定计算机操作基础,对编程感兴趣的年级学生。
教学要求:教师需结合学生特点,以实例为主线,引导学生主动参与课堂,注重培养学生的动手实践能力和团队协作精神。
通过本课程的学习,使学生在掌握计算器C基本知识的同时,提高编程技能和综合素质。
二、教学内容1. 计算器C基本语法:介绍计算器C的数据类型、变量、常量的定义及使用,让学生掌握基本语法规则。
- 教材章节:第一章 计算器C概述- 内容列举:数据类型、变量定义、常量定义、运算符、表达式。
2. 算术表达式:讲解算术表达式的构成,以及加减乘除运算符的使用方法。
- 教材章节:第二章 算术表达式- 内容列举:算术表达式构成、运算符优先级、括号的使用。
3. 顺序结构程序设计:引导学生学习顺序结构程序设计,掌握程序的基本执行流程。
- 教材章节:第三章 程序结构与控制流程- 内容列举:顺序结构、程序执行流程、输入输出语句。
4. 简易计算器C程序设计:结合前面的知识,设计一个简易计算器C程序,实现加减乘除运算。
c语言设计计算器课程设计

c语言设计计算器课程设计一、课程目标知识目标:1. 学生能够掌握C语言基本语法和数据类型,特别是整型、浮点型的运用。
2. 学生能够理解并运用顺序结构、选择结构和循环结构进行程序设计。
3. 学生能够运用C语言的算术运算符,实现基本的数学运算功能。
技能目标:1. 学生能够编写简单的C程序,实现加、减、乘、除等基本计算功能。
2. 学生能够通过键盘输入数据,并处理输入异常。
3. 学生能够运用调试工具检查并修正程序中的错误。
情感态度价值观目标:1. 学生培养编程的兴趣,认识到编程在解决问题中的重要性。
2. 学生在学习过程中形成合作意识,培养团队精神。
3. 学生通过编程解决实际问题,体验成就感,增强自信心。
分析课程性质、学生特点和教学要求:本课程针对的是高一年级学生,他们对C语言已有一定的基础知识,具备基本的编程能力。
课程性质为实践性较强的编程课程,旨在让学生通过动手实践,掌握C语言编程技巧。
教学要求注重培养学生的实际编程能力,将理论知识与实际应用相结合。
课程目标分解:1. 学生能够独立完成一个简单的计算器程序,实现加、减、乘、除功能。
2. 学生能够运用所学知识对程序进行优化,提高计算器的运算效率和用户体验。
3. 学生通过课程学习,培养良好的编程习惯和解决问题的能力。
二、教学内容本课程教学内容紧密结合课程目标,确保学生能够系统地学习和掌握C语言编程计算器的制作。
1. C语言基本语法和数据类型复习:回顾整型、浮点型等基本数据类型,强调其在计算器程序中的应用。
2. 运算符和表达式:详细介绍C语言的算术运算符,如加、减、乘、除等,并讲解表达式的构成和计算规则。
3. 控制结构:- 顺序结构:巩固顺序执行的概念,并应用于计算器程序。
- 选择结构:讲解if语句,实现计算器的不同运算功能。
- 循环结构:介绍for和while循环,实现重复计算功能。
4. 输入输出函数:教授scanf和printf函数的使用,实现用户与计算器程序的交互。
VC++可视化课程设计(计算器)

3功能说明计算器的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。
使用人员能快捷简单地进行操作。
即可单机按钮进行操作,也可直接通过键盘直接输入。
即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
(1)包含的功能有:加、减、乘、除运算,开方、求倒数等功能[1].(2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。
(3)给对话框添加菜单。
(4)制定高级按钮控件,该按钮具有不规则的形状,可以根据用户鼠标的位置和单击状态的不同,显示不同的颜色[3]。
(5)制定高级编辑控件,该编辑控件可以指定文本文字的字体和颜色。
(6)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。
(7)实现对话框的扩展功能[2]。
(8)计算功能基本上是用系统内部函数。
(9)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。
(10)“C E”按钮可以清除所有已输入的数据从头计算功能模块的实现:(1)首先,添加高级按钮控件类,在这个类中实现高级的按钮控件。
在此类中对于所有的对于按钮的绘制工作都是在DrawItem函数中完成的,实现按钮对鼠标不同的位置和动作改变不同的颜色,并且按钮的客户区域变成一个椭圆。
(2)其次,添加一个高级编辑控件类,在此类的基础上实现高级编辑控件。
在OnDisplay函数中设置编辑框的显示文本,再调用OnDraw函数将其显示出来,并用指定的画刷填充客户区,并且用指定的颜色绘制显示文本。
(3)最后,实现主对话框界面功能,主要是加载菜单资源和对话框扩展功能的实现。
在CCalculatorDlg::OnCreate函数中设定对话框的初始大小与位置,可以在这个对话框中进行窗口风格修改,位置设置等操作,然后添加菜单项ID_EXTEND的响应函数OnExtend。
4系统的实现4.1 窗体设计利用MFC AppWinzard生成计算器应用程序框架具体步骤如下:(1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入Calculator 。
c简单计算器课程设计报告

c 简单计算器 课程设计报告一、课程目标知识目标:1. 让学生掌握简单计算器的基本功能,包括加、减、乘、除等四则运算。
2. 使学生理解计算器操作规则,如先算乘除后算加减、括号的作用等。
3. 帮助学生掌握计算器上的其他功能键,如清除、取反、百分比等。
技能目标:1. 培养学生运用计算器进行四则运算的能力,提高计算速度和准确性。
2. 培养学生运用计算器解决实际问题的能力,如购物找零、计算面积等。
3. 培养学生通过观察、思考、提问等方式,发现计算器使用过程中的问题,并尝试解决。
情感态度价值观目标:1. 培养学生对待计算器等电子设备的正确态度,爱护设备,遵守使用规范。
2. 培养学生在合作学习中互相帮助、共同进步的精神,增强团队意识。
3. 通过计算器教学,激发学生对数学学科的兴趣,提高学生的自信心和自主学习能力。
本课程针对年级学生的特点,注重培养学生的学习兴趣和实践能力。
课程性质为实践操作类,强调学生在动手实践中掌握知识。
在教学过程中,教师需关注学生的学习需求,及时调整教学策略,确保学生能够达到课程目标。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
在教学结束后,学生应能独立使用计算器完成四则运算,解决实际问题,并在学习过程中培养良好的情感态度和价值观。
二、教学内容1. 计算器基本结构认知:让学生了解计算器各部分名称及其功能,如数字键、运算符号键、等于键、清除键等。
2. 四则运算操作方法:教学加、减、乘、除四则运算的计算器操作方法,以及运算顺序和括号的使用。
- 加法和减法运算- 乘法和除法运算- 混合运算及括号应用3. 计算器其他功能键使用:介绍取反、百分比、开方等特殊功能键的操作方法。
4. 实践应用:设计实际应用场景,让学生运用计算器解决购物找零、计算面积、计算速度等问题。
- 购物找零问题- 长度、面积、体积计算- 速度、时间、路程计算教学内容参考教材相关章节,结合课程目标进行整合。
教学大纲安排如下:第一课时:计算器基本结构认知、四则运算操作方法(加法和减法运算)第二课时:四则运算操作方法(乘法和除法运算)第三课时:四则运算操作方法(混合运算及括号应用)第四课时:计算器其他功能键使用第五课时:实践应用(购物找零问题)第六课时:实践应用(长度、面积、体积计算)第七课时:实践应用(速度、时间、路程计算)教学内容注重科学性和系统性,确保学生能够循序渐进地掌握计算器的使用方法,并在实际应用中巩固所学知识。
C语言课程设计报告(多项式简单的计算器)

沈阳航空航天大学课程设计报告课程设计名称:C 语言课程设计课程设计题目:多项式简单的计算器院(系):计算机学院专业:计算机科学与技术班级:14010106学号:2011040101258 姓名:崔雨濛指导教师:孙恩岩完成日期:2012年3月16日第1章概要设计 (2)1.1题目的内容与要求 (2)1.2总体结构 (2)第2章详细设计 (3)2.1主模块 (3)2.2多项式建立模块 (4)2.3计算模块 (5)2.4显示模块 (6)第3章调试分析 (7)3.1无法完整输出多项式 (7)3.2多项式中出现多余的项目 (7)3.3用户无法自行选择结束运行程序 (7)第4章使用说明与执行结果 (8)参考文献 (10)附录(程序清单) (11)第1章概要设计1.1题目的内容与要求课程设计的内容是设计一个简单的单词替换程序,可以替换文本文件中指定的单词。
要求:(1)输入多项式各项并建立多项式。
(2)输出多项式。
(3)两个多项式相加减,并输出结果多项式。
(4)采用VC环境进行调试运行。
1・2总体结构本程序主要分为四个模块(功能模块图见图1.1):主模块,多项式建立模块, 计算模块,显示模块。
主模块:输入多项式各项,建立多项式,输出多项式。
多项式建立模块:将输入的多项式各项以链表形式建立起来。
计算模块:比较两个多项式的系数和指数,合并同类项。
显示模块:显示输入的多项式及结果多项式。
图1.1功能模块图第2章详细设计2.1主模块控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块, 实现各项功能,流程如图2.1所示。
图2.1主模块流程图2.2多项式建立模块注释:根据多项式的项数循环存入结构体中2.3计算模块比较两个多项式的系数和指数,合并同类项。
流程图如图 2.3所示图2.3计算模块流程图注释:具体比较方法如下:(1)qa->expn < qb->expnqa所指节点应为结果多项式中的结点,qa后移:qa=qa->next; qb不动。
程序设计综合实践课C简单计算器

1、项目概述
该项目目标是设计开发一个支持连 续计算的四则运算计算器 myCalculator,通过单击按钮,输 入并完成如4+5+6或5*8+16类似的 连续计算,并将运算结果显示在输 出文本框中,同时也具备清空、后 退等功能。
2、设计步骤
项目分析与算法流程设计。
计算器myCalculator的主要功能是完 成加、减、乘、除四则运算,而且支 持连续计算,如4+5+7-8或4*5-6等运 算。连续计算的实现借助于开发工具 中 预 定 义 的 数 据 结 构 Stack ( 栈 ) 实 现,如流程图所示
4、项目扩展2
扩展计算器的使用领域,开发贷 款计算器(或其他,如利息计算 器等)
5、成绩评定说明
ቤተ መጻሕፍቲ ባይዱ程序设计开发语言不限。 成绩评定(要求提交设计报告和程序): ✓其中设计报告占40%(格式可参照本ppt的前四部分) ✓程序(源代码)占60%(程序能够正常运行) 完成项目扩展的酌情加分
2、设计步骤
界面设计。
2、设计步骤
代码编写(略)
2、设计步骤
运行调试
计算“5*9+5+50”,依次单击按 钮“5”、“*”、“9”、“+”、 “5”、“+”、“50”,然后单 击按钮“=”,显示框的数值为 100
3、项目扩展1
增加计算器的功能,添加求平方 根、求余、倒数的功能(读者也 可自行扩展。
vc计算器课程设计

描写童年趣事作文600字高二描写童年趣事作文600字高二6篇童年是七色的,是热忱的、可爱的、好玩的,布满笑声的。
共享一下你的童年趣事吧。
下面是我为大家收集的描写童年趣事作文600字高二例文,期望你宠爱。
描写童年趣事作文600字高二(篇1)一进教室,映入眼帘的就是讲台上的那几个易拉罐和几根“专业”的钓鱼竿。
我一下子就呆住了,心里不禁猜想起老师葫芦里卖的是什么药?“莫非是去钓鱼,不对,要易拉罐干什么?莫非里面装的是鱼食?不对,不对”“下面我们来玩一个叫‘钓旱鱼’的玩耍吧!”老师的一句话打断了我的猜想,也点破了我的困惑。
首先,江老师将我们分成四个大组,每个大组有六名“钓鱼者”。
老师为了让我们生疏玩耍规章,便让我们先进行练习。
在练习的过程中,我渐渐把握了要领,能在十五秒之内钓起一条“旱鱼”了。
在为自己的成绩窃喜时,我才发觉真是“人外有人,天外有天”啊!———有些同学格外娴熟,不出十秒就能钓起一条“旱鱼”,这使我不由得站在一旁观看起其他人的动作。
不一会儿,练习结束,老师让各组前来抽签。
令我欣喜的是:我们组竟幸运的抽到了第5号,这样我们就有机会进行训练了。
这时,老师让每组选出2名队员来参赛。
然而,在参赛问题上,大家竟不约而同的推选了我和刘宇欣,这是我颇感意外的。
竞赛最终开头了。
首先上场的是闵耀东和王涵,他们或许是由于第一个上场产生了恐惊心理,或许是由于不太娴熟,所以显得有些力不从心,连续2次都使“鱼儿”顺当脱钩,最终才钓起了2次。
我和队友们马上对他们报以了“鼓舞”的掌声。
最精彩的也是最使人感到意外的,是第四个上场的李亦桐和方菁如一组。
她们一开头上场的表现是顺风顺水,一连钓起了2个,但到中间的时候,不知是谁顺手将竿一抖,两根鱼竿就像热恋情人一般纠缠在一起了,害得同学们费了九牛二虎之力才将难分难舍的它们分开。
“哈!哈!哈!”的笑声始终萦绕在我的耳畔,它不仅使我的童年丰富多彩,更使它意义非凡。
描写童年趣事作文600字高二(篇2)每个人的童年生活都是丰富多彩的,布满了无穷的乐趣。
c设计计算器课程设计

c 设计计算器课程设计一、课程目标知识目标:1. 学生能理解计算器的基本原理和功能,掌握计算器的基本操作方法。
2. 学生能够运用计算器解决基本的数学运算问题,如加减乘除、百分比计算等。
3. 学生能够理解并运用计算器上的科学计算功能,如平方根、指数运算等。
技能目标:1. 学生能够熟练操作计算器,快速进行数值输入、计算和结果读取。
2. 学生能够运用计算器进行实际问题的计算,如购物找零、时间计算等。
3. 学生能够通过计算器解决一些简单的数学问题,培养解决问题的能力和逻辑思维能力。
情感态度价值观目标:1. 学生培养对计算器的正确使用态度,明白计算器是辅助工具,提高计算效率的同时,不应过度依赖。
2. 学生在合作交流中使用计算器,培养团队合作意识和分享精神。
3. 学生通过计算器的运用,增强对数学学科的兴趣,认识到数学与生活的紧密联系。
课程性质:本课程属于实践操作类课程,注重培养学生的动手操作能力和实际问题解决能力。
学生特点:学生处于小学高年级阶段,对计算器有一定了解,好奇心强,喜欢动手操作。
教学要求:教师应引导学生通过实践操作,掌握计算器的使用方法,将计算器与实际生活问题相结合,提高学生的数学应用能力。
同时,注重培养学生的团队合作意识和正确使用计算器的态度。
在教学过程中,关注学生的学习成果,及时进行教学评估和调整。
二、教学内容1. 计算器的基本结构:介绍计算器的各个部分及其功能,如显示屏、键盘、电源等。
教材章节:《计算器与计算法则》第一章内容列举:计算器按键的功能及操作方法。
2. 计算器的基本操作:教授加减乘除、百分比、平方根、指数等基本运算。
教材章节:《计算器与计算法则》第二章内容列举:各类运算的操作步骤及注意事项。
3. 计算器在生活中的应用:通过实例教授计算器解决实际问题,如购物找零、时间计算等。
教材章节:《计算器与计算法则》第三章内容列举:实际案例及解决方法。
4. 科学计算器的使用:针对高年级学生,介绍科学计算器的拓展功能,如三角函数、对数等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC++课程设计报告简单科学计算器设计姓名:学号:学院:电气工程学院班级:日期:2009-12-27目录一、设计任务 (1)1、选题意义 (1)2、设计目标 (1)二、程序设计与实现 (1)1、程序结构 (1)2、设计步骤 (3)3、详细设计 (4)(1)、计算器界面 (4)(2)、主要代码 (4)(3)、函数功能说明 (16)三、设计难点与解决方法 (17)四、设计效果与不足之处 (18)1、程序效果图 (18)2、不足之处 (18)五、学习体会 (18)一、设计任务1.选题意义此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握Visual C++应用程序。
统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算器系统。
该计算器应能实现如下功能:1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方等简单计算2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算3)、具备历史计算的记忆功能。
2.设计目标使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。
(2)、数制转换功能:可以一次完成二进制转十进制、十进制转二进制、八进制转二进制等运算。
(3)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。
(4)、对数、指数运算功能:可以一次求的对数函数(log、ln)、指数函数(exp)等函数的运算。
(5)、删除功能:可以在输入错误时删除已输入的数值。
(6)、归零功能:可以在计算完成后清空编辑框中的已有数值。
二、程序设计与实现1.程序结构本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)),对数函数(ln、log),指数函数(exp),幂函数(x~)和进制转换(包括二进制转十进制、十进制转二进制和八进制转二进制)等运算。
以下是本计算器的运算流程图:二进制转十进制N-S流程图:十进制转二进制N-S流程图:2.设计步骤:(1)创建一个基于对话框的应用程序。
(2)利用资源编辑器编辑对话框资源,及设计计算器界面并修改对话框各按钮的ID属性和Caption属性。
(3)利用ClassWizard为各按钮添加消息映射(代码在下面详细介绍)。
(4)设置对话框文本背景颜色。
(5)编辑图标。
3.详细介绍:(1)计算器界面:(2)主要代码:void CGyDlg::On0() //输入相应的数据,这为输入数据0{ s2=s2+"0";m_xs=m_xs+"0";UpdateData(FALSE);}void CGyDlg::On1() //输入相应的数据,这为输入数据1 { s2=s2+"1";m_xs=m_xs+"1";UpdateData(FALSE);}void CGyDlg::On2() //输入相应的数据,这为输入数据2 { s2=s2+"2";m_xs=m_xs+"2";UpdateData(FALSE);}void CGyDlg::On3() //输入相应的数据,这为输入数据3 { s2=s2+"3";m_xs=m_xs+"3";UpdateData(FALSE);}void CGyDlg::On4() //输入相应的数据,这为输入数据4 { s2=s2+"4";m_xs=m_xs+"4";UpdateData(FALSE);}void CGyDlg::On5() //输入相应的数据,这为输入数据5 { s2=s2+"5";m_xs=m_xs+"5";UpdateData(FALSE);}void CGyDlg::On6() //输入相应的数据,这为输入数据6 { s2=s2+"6";m_xs=m_xs+"6";UpdateData(FALSE);}void CGyDlg::On7() //输入相应的数据,这为输入数据7 { s2=s2+"7";m_xs=m_xs+"7";UpdateData(FALSE);}void CGyDlg::On8() //输入相应的数据,这为输入数据8 { s2=s2+"8";m_xs=m_xs+"8";UpdateData(FALSE);}void CGyDlg::On9() //输入相应的数据,这为输入数据9 { s2=s2+"9";m_xs=m_xs+"9";UpdateData(FALSE);}void CGyDlg::Onadd() //加法运算{ s2="";s1=m_xs;m_xs=m_xs+'+';str='+';UpdateData(false);}void CGyDlg::Onsub() //减法运算{ s2="";s1=m_xs;m_xs=m_xs+'-';str='-';UpdateData(false);}void CGyDlg::Onxsd() //小数点运算{ s2=s2+".";m_xs=m_xs+".";UpdateData(false);}void CGyDlg::Oncheng() //乘法运算{ s2="";s1=m_xs;m_xs=m_xs+'*';str='*';UpdateData(false);}void CGyDlg::Onchu() //除法运算{ s2="";s1=m_xs;m_xs=m_xs+'/';str='/';UpdateData(false);}void CGyDlg::Ondel() //删除功能{m_xs.Delete(m_xs.GetLength()-1,1);UpdateData(false);}void CGyDlg::Onpf() //平方运算{ s2="";s1=m_xs;m_xs=m_xs+"^2";str='p';UpdateData(false);}void CGyDlg::Onkf() //开2次方运算{ s2="";s1=m_xs;m_xs=m_xs+"^1/2";str='k';UpdateData(false);}void CGyDlg::Onsin() //sin函数运算{ s2="";s1=m_xs;m_xs="sin"+m_xs;str='s';UpdateData(false);}void CGyDlg::Oncos() //cos函数运算{ s2="";s1=m_xs;m_xs="cos"+m_xs;str='c';UpdateData(false);}void CGyDlg::Ontan() //tan函数运算{ s2="";s1=m_xs;m_xs="tan"+m_xs;str='t';UpdateData(false);}void CGyDlg::Onln() //ln函数运算{ s2="";s1=m_xs;m_xs="ln"+m_xs;str='l';UpdateData(false);}void CGyDlg::Onlog() //log函数运算{ s2="";s1=m_xs;m_xs="log"+m_xs;str='g';UpdateData(false);}void CGyDlg::Onex() //以e为底的指数运算{ s2="";s1=m_xs;m_xs="e^"+m_xs;str='e';UpdateData(false);}void CGyDlg::On3cfg() //开3次方运算{s2="";s1=m_xs;m_xs=m_xs+"^1/3";str='f';UpdateData(false);}void CGyDlg::Onxy() // x的y次方运算{ s2="";s1=m_xs;m_xs=m_xs+"^";str='^';UpdateData(false);}void CGyDlg::Onqk() // 归零按钮{ m_xs="";UpdateData(FALSE);}void CGyDlg::Onsze() //十进制转二进制{ s2="";int n,i,t;double Y,p=0.0;Y=strtod( m_xs,NULL); //把字符串转化成浮点型t=(int)(Y);if(t!=1)for(i=1;t>1;i++){n=t%2;t=t/2;p+=n*pow(10,(i-1));}p+=1*pow(10,(i-1));m_xs.Format("%f",p);m_xs=scl(m_xs);UpdateData(false);}void CGyDlg::Onezs() //二进制转十进制{ s2="";int len;double sum=0.0,num;len=strlen(m_xs);for (int i=0;i<len;i++){num=(m_xs[i]-48);num=num*pow(2,len-i-1);sum+=num;}m_xs.Format("%f",sum);m_xs=scl(m_xs);UpdateData(false);}void CGyDlg::Onbze() //八进制转二进制{ s2="";int i,len;char s;len=strlen(m_xs);CString m_xs1;for(i=0;i<len;i++){ s=m_xs[i];switch(s){case'1':m_xs1=m_xs1+"001";break;case '2':m_xs1=m_xs1+"010";break;case '3':m_xs1=m_xs1+"011";break;case '4':m_xs1=m_xs1+"100";break;case'5':m_xs1=m_xs1+"101";break;case '6':m_xs1=m_xs1+"110";break;case'7':m_xs1=m_xs1+"111";break;case'.':m_xs1=m_xs1+".";break;}}m_xs=m_xs1;UpdateData(false);}double add(double X, double Y) { return X+Y;} //加函数double subtract(double X, double Y) { return X-Y;} //减函数double chu(double X, double Y) { return X/Y;} //除函数double cheng(double X, double Y) { return X*Y; } //乘函数double jzf(double fu) { return fu / 180.0 * 3.14159265; } // 角度转弧度CString scl(CString m) //删除小数点后多余的零{ int len,i,j=0;len=strlen(m);if(m[len-1]=='0'){ i=len-1;while(m[i]=='0'){ j++;i--;}m.Delete(len-j,j); // 删除小数点后无用的零 }return m;}double chengfang(double X, int Y) //乘方{ double m=1.0;if(Y==1)return X;elsefor(int i=1;i<=Y;i++)m=m*X;return m;}void CGyDlg::Ondy() //等于号的功能函数{。