科学计算器课程设计报告C课程设计修订稿
C++ 科学计算器-课程设计报告
screen.SetWindowTextW(str);
have_num=true;
have_point=true;
}
// TODO:在此添加控件通知处理程序代码
}
四则运算按钮事件加法为例
void C计算器Dlg::OnBnClickedadd()
{
if(have_num||have_left) //判断条件,运算符必须在数字后与右括号后
//栈的实现
//初始化
stack::stack(int len)
{
lengh=len;
date=new double[len];
date[0]=0;
top=0;
}
stack::stack()
{
date=new double[100];
date[0]=0;
top=0;
}
//判断为空
bool stack::is_empty()
result=cal.eval(char_arr,char_arr+lengh);
if(cal.geterror()=="null")
{
str.Format(_T("%g"),result);
screen.SetWindowTextW(str);
}
else
{
MessageBox(cal.geterror());
if(str.GetLength()!=0)
{
check_char(str); //删除前检查一下
str=str.Left(str.GetLength()-1);
screen.SetWindowTextW(str);
C课程设计简易计算器实验报告
《程序设计基础》(C++)课程设计报告计算器姓名:班级:学号:指导教师:成绩:完成时间:完成地点:计算器1 基本功能描述计算器包含基本的四则运算、开方、倒数、相反数(正负)等运算。
可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算。
同时包含清除功能。
2 设计思路如图1是计算器总流程图,输完第一个操作数后,若点击双目运算符,则把m_edit 传递给op1,并传递给变量calculator相对运算符对应的值,输入的第二个操作数传递给op2,点击等号根据calculator的值进行相应运算并输出结果。
若点击的是单目运算符,则直接对其处理得出结果。
若点击清零,则m_edit等于0。
设计思路流程图如下(见下页)。
图1 计算器设计思路总流程图3 软件设计创建步骤打开Microsoft Visual C++ ,选择新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名Calculator及其所在位置。
将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成。
MFC AppWizard建立基于对话窗口的程序框架。
界面设计1、创建控件在对话框上的合适的位置画出编辑框和下压式按钮。
如图2所示。
图2 绘制编辑框在按钮和编辑框属性对话框中输入控件的ID值和标题属性。
如图3所示。
图3 Push Button属性按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
表1 各对象属性对象ID 标题或说明编辑框IDC_EDIT1 结果显示按钮IDC_BUTTON0 0按钮IDC_BUTTON1 1按钮IDC_BUTTON2 2按钮IDC_BUTTON3 3按钮IDC_BUTTON4 4按钮IDC_BUTTON5 5按钮IDC_BUTTON6 6按钮IDC_BUTTON7 7按钮IDC_BUTTON8 8按钮IDC_BUTTON9 9按钮IDC_ BUTTONneg +/-按钮IDC_ BUTTONpot .按钮IDC_ BUTTONadd +按钮IDC_BUTTONsub -按钮IDC_BUTTONmul *按钮IDC_BUTTONdiv /按钮IDC_BUTTONsqrt sqrt按钮IDC_BUTTONCE CE完成后界面如图4所示。
计算器课程设计c
计算器课程设计c一、教学目标本课程的教学目标是使学生掌握计算器的基本使用方法,包括加减乘除、科学计算等功能,能够运用计算器解决实际问题。
知识目标为学生能够理解计算器的基本工作原理和各种功能的使用方法;技能目标为学生能够熟练操作计算器,进行正确的数值计算和科学计算;情感态度价值观目标则是培养学生的计算思维,使他们认识到计算器在现代学习和工作中的重要性,养成良好的学习习惯和科学精神。
二、教学内容根据课程目标,本课程的教学内容主要包括计算器的基本操作、各种功能的使用方法以及计算器在实际问题中的应用。
具体的教学大纲如下:1.计算器的基本操作:学习如何开机、关机、清屏等基本操作。
2.数值计算:学习如何进行加减乘除等基本的数值计算。
3.科学计算:学习如何进行幂次计算、平方根、倒数等科学计算。
4.实际问题应用:通过实例讲解计算器在解决实际问题中的应用,如面积、体积计算等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
讲授法用于讲解计算器的基本操作和功能使用方法;讨论法用于引导学生交流计算器使用的心得和遇到的问题;案例分析法用于分析计算器在实际问题中的应用;实验法用于让学生亲自动手操作计算器进行实际计算。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于提供理论知识的学习,多媒体资料用于辅助讲解和演示计算器的操作,实验设备则是让学生进行实际操作的重要工具。
在教学过程中,教师应充分利用这些资源,丰富学生的学习体验,提高学习效果。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面客观地评价学生的学习成果。
平时表现主要评估学生在课堂上的参与度、提问回答等情况;作业则主要评估学生的动手操作能力和对知识的理解运用;考试则是对学生学习成果的全面检验,包括理论知识和实际操作两部分。
评估方式应公正客观,能够全面反映学生的学习成果。
计算器课程设计报告
计算器课程设计报告一、课程目标本节计算器课程设计以提升学生的数学计算能力、逻辑思维能力和实际应用能力为核心,结合三年级学生的认知特点和实际需求,制定以下课程目标:1. 知识目标:(1)学生能够掌握计算器的基本功能及操作方法;(2)学生能够运用计算器进行简单的四则运算,并理解相关数学概念;(3)学生能够运用计算器解决生活中的实际问题,提高数学应用能力。
2. 技能目标:(1)培养学生运用计算器进行快速、准确计算的能力;(2)培养学生运用计算器辅助解决数学问题的能力;(3)提高学生逻辑思维能力,培养学生独立思考和解决问题的能力。
3. 情感态度价值观目标:(1)激发学生对计算器的兴趣,培养学生主动探究新知的习惯;(2)培养学生合作交流、分享成果的团队精神;(3)培养学生将所学知识应用于实际生活的意识,增强学生的自信心和成就感。
本课程旨在通过计算器教学,使学生在掌握基本计算技能的同时,提高数学素养,培养实际应用能力,激发学生对数学学习的兴趣,为学生的终身学习打下坚实基础。
二、教学内容本节计算器课程依据课程目标,结合课本内容,选择以下教学材料和安排:1. 教学大纲:(1)计算器的基本功能介绍与操作方法;(2)使用计算器进行加、减、乘、除四则运算;(3)运用计算器解决实际问题。
2. 教学内容安排与进度:第一课时:认识计算器,了解计算器的基本功能和操作方法,包括开关机、清屏、数字键、运算符号键等。
第二课时:学习使用计算器进行加、减、乘、除四则运算,并通过练习巩固运算方法。
第三课时:运用计算器解决生活中的实际问题,如购物找零、计算面积等。
3. 教材章节及内容列举:(1)第三章《计算器与计算》:介绍计算器的基本功能、操作方法及四则运算;(2)第四章《计算器在实际应用中的作用》:举例说明计算器在生活中的应用,提高学生实际操作能力。
教学内容科学系统地组织,注重理论与实践相结合,使学生能够熟练掌握计算器的使用方法,并能在实际生活中运用计算器解决简单问题,提高学生的数学素养。
c课程设计计算器报告
c 课程设计计算器报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法,熟练使用C语言进行程序设计。
具体分为三个部分:1.知识目标:学生需要掌握C语言的基本语法,包括数据类型、运算符、控制结构、函数等。
2.技能目标:学生能够使用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力。
二、教学内容教学内容主要包括C语言的基本语法和程序设计的基本方法。
具体安排如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点。
2.第二章:数据类型和运算符,学习C语言的基本数据类型和运算符。
3.第三章:控制结构,学习C语言的条件语句和循环语句。
4.第四章:函数,学习C语言的函数定义和调用。
5.第五章:数组和字符串,学习C语言的数组和字符串操作。
6.第六章:指针,学习C语言的指针概念和应用。
7.第七章:结构体和文件,学习C语言的结构体和文件操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:讲解C语言的基本语法和概念。
2.案例分析法:通过分析实际案例,让学生理解C语言的应用。
3.实验法:安排实验课程,让学生动手编写C语言程序。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。
具体安排如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。
2.作业:占课程总评的30%,包括课后练习、编程任务等。
3.考试:占课程总评的40%,包括期中考试和期末考试。
评估方式要求客观、公正,能够全面反映学生的学习成果。
我们将根据学生的实际情况,及时给予反馈,帮助学生提高。
六、教学安排本课程的教学进度安排如下:1.每周一次课,每次课2小时。
C课程设计(计算器)[转载]
04
C语言函数
函数的定义和声明
函数定义:函数是完成特定任务的独立代码块,可以重复使用 函数声明:在函数定义之前,需要先声明函数,以便编译器知道函数的存在 函数参数:函数可以接受参数,参数可以是变量、常量或其他表达式 函数返回值:函数可以返回一个值,返回值可以是任何类型的数据
2010年代,全球科学家共 同研发了第一台量子计算
机
计算器的应用场景
家庭日常计算:如购物、做饭等 学校教育:如数学、物理等学科的教学和练习 商业计算:如财务、会计等业务的计算和统计 科研计算:如科学研究、工程计算等数据的处理和分析
02
C语言基础
C语言概述
C语言是一种高级 编程语言,广泛应 用于系统编程、嵌 入式系统、驱动程 序等领域。
01
计算器概述
计算器的基本功能
加减乘除运算 平方、开方、求余等高级运算 存储和读取数据
计算器模式切换(如科学计算器、工 程计算器等)
单位转换(如长度、重量、温度等)
计算器设置(如时间、日期、闹钟等)
计算器的发展历程
1820年,英国数学家查尔 斯·巴比奇发明了第一台差
分机
1960年代,日本科学家发 明了第一台便携式电子计
执行流程:函 数被调用后, 会按照函数体 中的代码顺序
执行
返回值:函数 执行完成后,
可以通过 return语句返
回一个值
结束调用:函 数执行完成后, 会返回到调用 函数的位置, 继续执行后面
的代码
05
计算器功能实现
输入输出处理
输入:键盘输入,支持数字、运算符号等 输出:显示屏显示计算结果 处理:计算器内部进行计算,包括加减乘除等基本运算 错误处理:输入错误时,给出提示信息,如“输入错误,请重新输入”
计算器c语言课程设计报告书
设计分析:我做的是一个计算器程序,属于B级。
题目要求如下:1、完善计算器程序,改为可对实数操作。
2、完善程序,改为多个操作数基本四则运算,遇到z为止。
3、增加函数,完成四则混合运算,增加相应的主菜单选项4、添加语句,使四则运算具有测试功能。
5、可扩充其功能。
所给的计算器源程序中已有基本的加、减、乘、除和开方运算,我所要做的就是添加一个可以进行四则混合运算功能的类。
本程序所要用到的头文件有如下几种:process,iostream,conio,stdlib,math和assert.原程序中已经定义了加、减、乘、除和开方的运算,它用了类oopcalc将这几个基本运算进行封装。
类中包含以下几个函数:void calcadd();void calcsub();void calcdiv();void calcmult();void calcfartocel();void calcceltofar();void calcsroot();void exitprog();void menu();void badinput();每个函数的参数形式如下:int add(float x,float y);int sub(float x, float y);int div(float x, float y);int mult(float x, float y);int fartocel(float x);int celtofar(float x);int sqroot(float x);原程序对这几个函数分别做了如下定义:int oopcalc::add(float x, float y) {val = x + y;return val;}int oopcalc::sub(float x,float y) {val = x - y;return val;}int oopcalc::div(float x, float y) {val = x / y;return val;}int oopcalc::mult(float x, float y){val = x * y;return val;}int oopcalc::fartocel(float x){int cel = ((x - 32) * 5) / 9;return cel;}int oopcalc::celtofar(float x){int f;f = x * 9 / 5 + 32;return f;}int oopcalc::sqroot(float x){int g = sqrt(x);return g;}首先要把程序改为可对实数进行操作,由于原程序中的操作数类型都是整形,因此我所采用的办法就是把“int”依次改成“float”。
c简单计算器课程设计报告
c 简单计算器 课程设计报告一、课程目标知识目标:1. 让学生掌握简单计算器的基本功能,包括加、减、乘、除等四则运算。
2. 使学生理解计算器操作规则,如先算乘除后算加减、括号的作用等。
3. 帮助学生掌握计算器上的其他功能键,如清除、取反、百分比等。
技能目标:1. 培养学生运用计算器进行四则运算的能力,提高计算速度和准确性。
2. 培养学生运用计算器解决实际问题的能力,如购物找零、计算面积等。
3. 培养学生通过观察、思考、提问等方式,发现计算器使用过程中的问题,并尝试解决。
情感态度价值观目标:1. 培养学生对待计算器等电子设备的正确态度,爱护设备,遵守使用规范。
2. 培养学生在合作学习中互相帮助、共同进步的精神,增强团队意识。
3. 通过计算器教学,激发学生对数学学科的兴趣,提高学生的自信心和自主学习能力。
本课程针对年级学生的特点,注重培养学生的学习兴趣和实践能力。
课程性质为实践操作类,强调学生在动手实践中掌握知识。
在教学过程中,教师需关注学生的学习需求,及时调整教学策略,确保学生能够达到课程目标。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
在教学结束后,学生应能独立使用计算器完成四则运算,解决实际问题,并在学习过程中培养良好的情感态度和价值观。
二、教学内容1. 计算器基本结构认知:让学生了解计算器各部分名称及其功能,如数字键、运算符号键、等于键、清除键等。
2. 四则运算操作方法:教学加、减、乘、除四则运算的计算器操作方法,以及运算顺序和括号的使用。
- 加法和减法运算- 乘法和除法运算- 混合运算及括号应用3. 计算器其他功能键使用:介绍取反、百分比、开方等特殊功能键的操作方法。
4. 实践应用:设计实际应用场景,让学生运用计算器解决购物找零、计算面积、计算速度等问题。
- 购物找零问题- 长度、面积、体积计算- 速度、时间、路程计算教学内容参考教材相关章节,结合课程目标进行整合。
教学大纲安排如下:第一课时:计算器基本结构认知、四则运算操作方法(加法和减法运算)第二课时:四则运算操作方法(乘法和除法运算)第三课时:四则运算操作方法(混合运算及括号应用)第四课时:计算器其他功能键使用第五课时:实践应用(购物找零问题)第六课时:实践应用(长度、面积、体积计算)第七课时:实践应用(速度、时间、路程计算)教学内容注重科学性和系统性,确保学生能够循序渐进地掌握计算器的使用方法,并在实际应用中巩固所学知识。
c简易计算器课程设计
c 简易计算器课程设计一、课程目标知识目标:1. 学生能理解简易计算器的基本原理,掌握加、减、乘、除四则运算的操作方法。
2. 学生能够运用所学知识,解决生活中简单的数学问题。
3. 学生了解计算器的发展历程,认识到科技对生活的影响。
技能目标:1. 学生能够熟练操作简易计算器,进行基本的四则运算。
2. 学生通过实际操作,培养动手能力和问题解决能力。
3. 学生能够运用计算器辅助学习,提高数学学习效率。
情感态度价值观目标:1. 学生培养对数学学习的兴趣,树立正确的数学观念。
2. 学生在合作交流中,培养团队意识和沟通能力。
3. 学生通过计算器的使用,认识到科技发展的成果,增强民族自豪感。
课程性质:本课程为信息技术与数学学科的整合课程,旨在通过简易计算器的学习,提高学生的数学素养和信息技术能力。
学生特点:四年级学生具备一定的数学基础和信息技术能力,好奇心强,善于合作交流。
教学要求:教师需结合学生的特点,采用启发式教学,引导学生主动探究,注重培养学生的动手能力和问题解决能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,使学生在轻松愉快的氛围中学习。
通过本课程的学习,使学生达到预期的学习成果。
二、教学内容1. 计算器的历史与原理:介绍计算器的发展简史,探讨计算器的工作原理,让学生了解计算器的演变过程,认识到科技对生活的改变。
2. 简易计算器操作方法:详细讲解加、减、乘、除四则运算的操作步骤,让学生熟练掌握计算器的使用方法。
3. 实践应用:结合数学课本中的实际例题,指导学生运用计算器进行计算,解决实际问题,提高计算速度和准确性。
4. 计算器在数学学习中的应用:探讨计算器在辅助数学学习中的作用,如:简化计算过程、提高解题效率等。
教学内容安排和进度:第一课时:计算器的历史与原理,计算器的简单操作。
第二课时:四则运算的操作方法,实践练习。
第三课时:计算器在数学学习中的应用,解决实际问题。
教材章节:《信息技术》第四章:计算器与计算机。
科学计算器课程设计报告C++课程设计
计算机科学与技术学部C++课程设计题目科学计算器学部计算机科学与技术班级计科1103指导教师李军姓名刘明学号**************2012年6月27日摘要计算器的产生和发展是建立在电子计算机基础之上的。
硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。
软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。
在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。
能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。
此系统在Windows 7环境下,使用VC++ 6.0进行编写。
简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。
可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。
并且包含清除,退格功能等。
我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。
关键词:计算器;运算;VC++等课程设计任务分配表:表1 分配信息表课程设计成绩表:表2 成绩表科学计算器采用的数据类型采用的类的数据类型:class CCalculatorDlg : public CDialog{public:void clean_aliter();CString OLD_ANSWER;void out_change(int system);CCalculatorDlg(CWnd* pParent = NULL); // standard constructorint Sel,EndSel; //定义输入或插入时光标的位置int Expr_pos; //词法分析表达式时,标记当前字符位置int OS_pos ; //操作数栈顶位置int old_pos; //历史表达式的位置int old_head; //历史表达式数组中最最前位置int old_back; //历史表达式数组中最最后位置int error_mark; //标记表达式错误int parentheses_count; //记录表达式中括号的个数double operand_Stack[200]; //操作数栈CString old_expression[20]; //表达式历史记录void getword(WordType & w_type ,Operator& Fun_Ope,int system); //词法分析函数int getword16(); int getword10(); int getword8(); int getword2();//将用字符表示的N(2,8,10,16)进制转为浮点型void E_AddSub(); //加减void T_MulDiv(); //乘除void F_Power(); //乘方void L_Function(); //函数void H_Digit(); //数字void Factorial(); //阶乘void P_expression(); //括号void compute(Operator Op); //计算void error(int ); //错误标记函数void clean_all(); //清空表达式和计算结果protected:HICON m_hIcon;DECLARE_MESSAGE_MAP()};程序中所用到相关专业知识:类,对象数组,友元函数,继承与派生,指针,枚举,,数栈,算法目录前言 (1)第一章系统需求 (2)1.1 简介说明 (2)1.1.1 系统要求 (2)1.1.2 具体任务 (2)1.1.3 研究目的 (2)1.2 设计分析 (3)1.2.1 可行性分析 (3)1.2.2 需求分析 (3)1.2.3设计结构 (3)1.3 开发环境 (3)1.3.1 运行环境 (3)1.3.2 开发工具 (3)1.3.3 关于Visual C++ 6.0 (4)第二章系统设计 (5)2.1功能说明 (5)2.1.1 系统总体功能分析 (5)2.1.2 系统功能 (5)2.1.3课程设计内容 (6)2.2设计大概 (6)2.2.1设计思路 (6)2.2.2控件定义 (7)2.2.3 变量的定义以及初始化 (8)第三章系统实现 (9)3.1窗体设计 (9)3.1.1设计步骤 (9)3.1.2控件定义 (9)3.1.3一部分操作截图 (10)3.2 程序核心代码 (11)3.2.1数字键和字母键核心代码 (11)3.2.2计算类型函数的核心代码 (11)3.2.3 提示错误的核心代码 (13)3.2.4进制转换的核心代码 (14)3.2.5八进制单选按钮消息响应函数代码 (16)3.2.6二进制单选按钮消息响应函数 (17)第四章系统运行 (20)4.1测试以及运行界面 (20)4.1.1 程序主界面测试 (20)4.1.2运行的计算结果 (20)4.1.3转换进制计算 (21)4.2 测试 (22)4.2.1测试研究与选择 (22)4.2.2测试环境 (22)总结 (23)参考文献 (24)前言Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。
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. 科学计算器的使用:针对高年级学生,介绍科学计算器的拓展功能,如三角函数、对数等。
计算器c语言课程设计
计算器c语言课程设计一、教学目标本课程旨在通过学习计算器C语言,让学生掌握C语言编程的基础知识和技能,培养学生独立思考、解决问题的能力,并激发学生对计算机科学的兴趣。
1.了解C语言的发展历程和基本特点。
2.掌握C语言的数据类型、运算符、表达式等基本语法。
3.熟悉C语言的函数、数组、指针等编程技巧。
4.理解C语言的程序结构和编译过程。
5.能够使用C语言编写简单的程序,解决实际问题。
6.具备阅读和理解C语言程序的能力。
7.掌握C语言的调试技巧,能够找出和修复程序中的错误。
情感态度价值观目标:1.培养学生对计算机科学的热爱和好奇心,激发学生继续深入学习计算机科学的动力。
2.培养学生严谨、细致的编程习惯,提高学生的逻辑思维能力。
3.培养学生团队协作精神,增强学生的沟通能力。
二、教学内容本课程的教学内容主要包括C语言的发展历程、基本语法、编程技巧和实际应用等方面。
1.C语言的发展历程和基本特点。
2.数据类型、运算符、表达式等基本语法。
3.函数、数组、指针等编程技巧。
4.程序结构和编译过程。
5.C语言在实际应用中的案例分析。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本概念和语法,使学生掌握C语言的基础知识。
2.案例分析法:分析实际案例,让学生了解C语言在实际应用中的具体运用。
3.实验法:让学生动手编写C语言程序,培养学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供丰富的参考书籍,拓宽学生的知识面。
3.多媒体资料:制作精美的PPT课件,生动展示C语言的特点和应用。
4.实验设备:提供计算机实验室,让学生进行实际编程练习。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
c计算器课程设计
c计算器课程设计一、课程目标知识目标:1. 理解c计算器的基本功能与操作,掌握其在数学运算中的应用;2. 学会使用c计算器解决基本的算术问题,如加减乘除、括号运算等;3. 了解c计算器在科学计算中的拓展功能,如三角函数、对数等运算。
技能目标:1. 能够熟练运用c计算器进行日常数学计算,提高计算速度和准确性;2. 学会利用c计算器辅助解决复杂问题,培养解决问题的能力;3. 通过c计算器的操作,锻炼学生的逻辑思维和动手操作能力。
情感态度价值观目标:1. 培养学生对计算器工具的兴趣,激发学习数学的热情;2. 增强学生在团队合作中使用计算器的意识,培养学生的团队协作精神;3. 引导学生正确看待科技产品,树立正确的价值观,认识到科技对生活的积极作用。
课程性质:本课程为实践性课程,注重学生动手操作能力的培养。
学生特点:学生处于好奇心强、动手能力逐渐提高的阶段,对新鲜事物充满兴趣。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性和主动性。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. c计算器的基本功能与操作:包括开机、关机、清屏、基本数学运算(加减乘除)、括号运算等;关联教材章节:第一章 计算器概述及基本操作;2. c计算器的科学计算功能:介绍三角函数、对数、指数、开方等高级计算功能;关联教材章节:第二章 计算器的高级功能;3. 实践操作:通过实际操作练习,让学生熟练掌握c计算器的各种功能;关联教材章节:第三章 计算器操作实践;4. 应用举例:结合实际数学问题,展示c计算器的应用,提高学生解决问题的能力;关联教材章节:第四章 计算器在实际问题中的应用;5. 团队合作与讨论:分组进行计算器操作比赛,讨论计算器在日常生活和学习中的应用;关联教材章节:第五章 计算器的团队合作与交流。
教学大纲安排:1. 第1-2课时:介绍c计算器的基本功能与操作;2. 第3-4课时:讲解c计算器的科学计算功能;3. 第5-6课时:实践操作,熟练掌握计算器功能;4. 第7课时:应用举例,解决实际问题;5. 第8课时:团队合作与讨论,总结学习成果。
vc课程设计计算器
vc 课程设计计算器一、教学目标本课程旨在让学生掌握计算器的基本使用方法,理解计算器在数学和科学计算中的应用,培养学生的逻辑思维能力和解决问题的能力。
具体目标如下:知识目标:使学生了解计算器的各种功能及其应用场景,掌握计算器的基本操作方法。
技能目标:能够运用计算器进行简单的数学计算、科学计算和数据处理,提高计算准确性和效率。
情感态度价值观目标:培养学生对科学技术的兴趣和好奇心,激发学生探索未知、创新思维的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.计算器的基本结构:介绍计算器的各种按键功能及其对应的操作。
2.计算器的使用方法:讲解如何使用计算器进行数学计算、科学计算和数据处理。
3.计算器在实际应用中的案例分析:通过实际案例,使学生了解计算器在日常生活和学习中的重要作用。
4.计算器的维护与保养:教授学生如何正确使用和维护计算器,延长其使用寿命。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:教师讲解计算器的基本原理、功能及使用方法。
2.讨论法:分组讨论计算器在实际应用中遇到的问题,培养学生解决问题的能力。
3.案例分析法:分析实际案例,使学生了解计算器在生活和学习中的重要作用。
4.实验法:让学生亲自动手操作计算器,进行实际计算,巩固所学知识。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用内容丰富、适合学生年龄特点的计算器教材。
2.参考书:提供相关的计算器使用手册和资料,供学生课后自学。
3.多媒体资料:制作课件、教学视频等,以生动形象的方式展示计算器的使用方法。
4.实验设备:为学生提供足够的计算器,以便进行实际操作和实验。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和兴趣。
2.作业:布置适量的课后作业,检查学生对课堂所学知识的掌握程度。
(完整word版)VC++简单科学计算器设计
简单科学计算器设计VC++课程设计报告简单科学计算器设计一、设计任务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~)和进制转换(包括二进制转十进制、十进制转二进制和八进制转二进制)等运算。
以下是本计算器的运算流程图:2. 设计步骤:(1) 创建一个基于对话框的应用程序。
(2) 利用资源编辑器编辑对话框资源,及设计计算器界面并修改对话框各按钮的ID 属性和Caption 属性。
c计算器课程设计
c 计算器课程设计一、课程目标知识目标:1. 学生能够理解计算器的基本原理和功能;2. 学生掌握计算器的基本操作,包括开机、关机、清屏、基本运算等;3. 学生能够运用计算器进行简单的数学运算,如加减乘除、百分比计算等;4. 学生了解计算器在日常生活和学习中的应用。
技能目标:1. 学生能够熟练操作计算器,提高计算速度和准确性;2. 学生通过计算器解决实际问题,培养解决问题的能力和创新思维;3. 学生学会使用计算器进行数据统计和分析,为后续学习打下基础。
情感态度价值观目标:1. 学生培养对计算器的兴趣,认识到计算器在科技发展中的重要性;2. 学生养成使用计算器辅助学习的习惯,提高学习效率;3. 学生在合作交流中,学会尊重他人,培养团队协作精神;4. 学生通过计算器课程,认识到数学与生活的紧密联系,增强学习数学的信心。
课程性质:本课程为实用技能类课程,旨在让学生掌握计算器的使用方法,提高计算速度和准确性,培养解决实际问题的能力。
学生特点:学生处于小学高年级阶段,对新鲜事物充满好奇,具备一定的数学基础,但操作技能和问题解决能力有待提高。
教学要求:结合学生特点,采用讲解与实践相结合的教学方法,注重培养学生的动手能力和实际应用能力。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生都能达到课程目标。
通过课程学习,使学生能够将计算器作为学习工具,提高学习效果。
二、教学内容本课程教学内容主要包括以下几部分:1. 计算器概述:介绍计算器的发展历程、分类及基本功能,让学生了解计算器在科技发展中的作用。
2. 计算器操作方法:详细讲解计算器的开关机、清屏、基本运算(加减乘除、百分比计算等)的操作步骤,让学生熟练掌握计算器的使用。
3. 实际应用:结合教材内容,设计实际应用场景,如购物、预算等,让学生学会运用计算器解决生活中的问题。
4. 数据统计与分析:教授学生使用计算器进行数据统计(如平均数、总和等)和分析(如线性方程求解等),为后续学习打下基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科学计算器课程设计报告C课程设计集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]计算机科学与技术学部C++课程设计题目科学计算器学部计算机科学与技术班级计科1103 指导教师李军姓名刘明学号2012年6月27日摘要计算器的产生和发展是建立在电子计算机基础之上的。
硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。
软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。
在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。
能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。
此系统在Windows 7环境下,使用VC++ 进行编写。
简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。
可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。
并且包含清除,退格功能等。
我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。
关键词:计算器;运算;VC++等课程设计任务分配表:采用的类的数据类型:class CCalculatorDlg : public CDialog{public:void clean_aliter();CString OLD_ANSWER;void out_change(int system);变量的定义以及初始化int Sel,EndSel; //定义输入或插入时光标的位置int Expr_pos; //词法分析表达式时,标记当前字符位置int OS_pos ; //操作数栈顶位置int old_pos; //历史表达式的位置int old_head; //历史表达式数组中最最前位置int old_back; //历史表达式数组中最最后位置int error_mark; //标记表达式错误int parentheses_count; //记录表达式中括号的个数double operand_Stack[200]; //操作数栈CString old_expression[20]; //表达式历史记录//以上为定义部分,以下为初始化部分Sel=0; //输入的光标位置EndSel=0; //插入光标的位置Expr_pos = 0; //当前字符的位置OS_pos = 0 ; //操作数栈顶位置old_pos=old_head=old_back=0;//历史表达式的位置error_mark=0; //表达式错误parentheses_count=0; //括号的个数OLD_ANSWER = _T(""); //初始化第三章系统实现窗体设计利用MFC AppWinzard生成计算器应用程序框架具体步骤如下:(1)执行VC++ 程序,选择文件——新建命令,转到工程选项卡,选择MFC AppWizard(exe)选项,然后在工程名称输入名字,一般以C开头,也可以自定义,位置路径自定义。
(2)单击确定,弹出MFC 应用程序向导-步骤1对话框。
选中单选按钮基本对话框,单击完成即可,如图所示:(1)为控件添加成员变量已经在系统设计里面列举出,这里就不再重复;(2)为控件添加消息,查看-类向导命令,转到Message Maps选项卡,为控件添加BN_CLICKED消息,单击确定即可,具体哪些控件这里就不再详细介绍了。
程序核心代码void CCalculatorDlg::OnNumberKey(UINT nID) //按键输入{(Sel,EndSel); //得到输入框的光标位置switch(nID){// 在光标位置插入按钮表示的字符,在输入框插入相应的数值case IDC_0:{ (Sel,"0");break;}case IDC_1:{ (Sel,"1");break;}case IDC_2:{ (Sel,"2");break;}case IDC_3:{ (Sel,"3");break;}case IDC_4:{ (Sel,"4");break;}case IDC_5:{ (Sel,"5");break;}case IDC_6:{ (Sel,"6");break;}case IDC_7:{ (Sel,"7");break;}case IDC_8:{ (Sel,"8");break;}case IDC_9:{ (Sel,"9");break;}case IDC_A:{ (Sel,"A");break;}case IDC_B:{ (Sel,"B");break;}case IDC_C:{ (Sel,"C");break;}case IDC_D:{ (Sel,"D");break;}case IDC_E:{ (Sel,"E");break;}case IDC_F:{ (Sel,"F");break;}}Sel++; //光标后移UpdateData(FALSE);(Sel,Sel); //更新输入框光标后移位置UpdateData(FALSE);}voidCCalculatorDlg::compute(OperatorOp){//根据操作计算类型,计算结果switch(Op){caseOpAdd:{operand_Stack[OS_pos-2]+=operand_Stack[OS_pos-1];OS_pos--;break;} caseOpSubtract:{operand_Stack[OS_pos-2]-=operand_Stack[OS_pos-1];OS_pos--;break;} caseOpMultiply:{operand_Stack[OS_pos-2]*=operand_Stack[OS_pos-1];OS_pos--;break;} caseOpDivide:{if(operand_Stack[OS_pos-1]==0){error(5);break;}else{operand_Stack[OS_pos-2]/=operand_Stack[OS_pos-1];OS_pos--;break;}}caseOpMod:{if(operand_Stack[OS_pos-1]==0){error(5);break;}else{ __int64temp=0;temp=(__int64)(operand_Stack[OS_pos-2]/operand_Stack[OS_pos-1]);operand_Stack[OS_pos-1]*=temp;operand_Stack[OS_pos-2]-=operand_Stack[OS_pos-1];OS_pos--;break;} }caseOpPower:{operand_Stack[OS_pos-2]=pow(operand_Stack[OS_pos-2],operand_Stack[OS_pos-1]);OS_pos--;break;}caseOpLog:{operand_Stack[OS_pos-1]=log10(operand_Stack[OS_pos-1]);break;} caseOpLn:{operand_Stack[OS_pos-1]=log(operand_Stack[OS_pos-1]);break;} caseOpSqrt:{operand_Stack[OS_pos-1]=sqrt(operand_Stack[OS_pos-1]);break;} caseOpExp:{ operand_Stack[OS_pos-1]=exp(operand_Stack[OS_pos-1]);break;}caseOpSin:{if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*PI/180;operand_Stack[OS_pos-1]=sin(operand_Stack[OS_pos-1]);break;}caseOpCos:{if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*PI/180;operand_Stack[OS_pos-1]=cos(operand_Stack[OS_pos-1]);break;}caseOpTan:{if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*PI/180;operand_Stack[OS_pos-1]=tan(operand_Stack[OS_pos-1]);break;}caseOpAsin:{ if(operand_Stack[OS_pos-1]>1||operand_Stack[OS_pos-1]<-1) {error(9);return;}operand_Stack[OS_pos-1]=asin(operand_Stack[OS_pos-1]);if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*180/PI;break;}caseOpAcos:{ if(operand_Stack[OS_pos-1]>1||operand_Stack[OS_pos-1]<-1) {error(9);return;}operand_Stack[OS_pos-1]=acos(operand_Stack[OS_pos-1]);if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*180/PI;break; }caseOpAtan:{ operand_Stack[OS_pos-1]=atan(operand_Stack[OS_pos-1]);if(m_Radio2==0)operand_Stack[OS_pos-1]=operand_Stack[OS_pos-1]*180/PI;break; }caseOpFactorial:{ if(OS_pos<=0){error(1);return;}longk;k=(long)operand_Stack[OS_pos-1];if(k<operand_Stack[OS_pos-1]){error(8);return;}__int64temp=1;for(longi=1;i<=k;i++){ temp*=i;//operand_Stack[OS_pos-1]*=i; }/*(_T("%I64X"),temp);UpdateData(FALSE);MessageBox("sdfsd");*/operand_Stack[OS_pos-1]=(double)temp;break;}}提示错误的核心代码void CCalculatorDlg::error(int error_type) //错误类型{ //错误处理switch(error_type){case 1: {m_result="错误:缺少操作数!";break;}case 2: {m_result="错误:括号不匹配!";break;}case 3: {m_result="错误:函数名不正确!!";break;}case 4: {m_result="错误:非法输入!!";break;}case 5: {m_result="错误:出现除数为零!!";break;}case 6: {m_result="错误:函数缺少括号!!";break;}case 7: {m_result="错误:缺少运算符!!";break;}case 8: {m_result="错误:阶乘操作数不是整数!!";break;}case 9: {m_result="asin和acos函数计算必须在[-1,1]内!!";break;}}error_mark=1; }voidCCalculatorDlg::getword(WordType&w_type,Operator&Fun_Ope,intsyste m)//进制转为浮点型{//词法分析器,参数w_type,Fun_Ope,system分别表示单词类型,操作运算类型,进制类型intt=();if(t<=0){error(4);return;}//表达式为空则返回if(Expr_pos<t){ if((m_expression[Expr_pos]>='0'&&m_expression[Expr_pos]<='9')||(m_e xpression[Expr_pos]>='A'&&m_expression[Expr_pos]<='F')){//当前字符为数字则转换为浮点数压入操作数栈if((Expr_pos+1)<t&&m_expression[Expr_pos]=='0'&&m_expression[Expr_pos +1]=='0'&&m_Radio1!=3) {error(4); return ;}//数字前面有两个零,报错返回switch(system){//根据传来的进制类型,把字符串表示的数字转换为浮点数case0:{if(!getword16()){error(4);return;}break;}case1:{if(!getword10()){error(4);return;}break;}case2:{if(!getword8()){error(4); return ;} break;}case3:{if(!getword2()){error(4);return ; }break;}default:{error(4);return;}}w_type=Tynum;//单词类型为数字return;}if(m_expression[Expr_pos]>='a'&& m_expression[Expr_pos]<='z'){/*当前字符为字母则,把字母串保存到str中*/char str[100]="";int i=0;while(Expr_pos<t&&m_expression[Expr_pos]>='a'&& m_expression[Expr_po s]<='z'){ str[i]=m_expression[Expr_pos];i++;Expr_pos++; }if(Expr_pos>=t){error(3);w_type=TyFun;return;}//表达式结束,则报错/****以下ifelse语句为匹配字符串****/if(strcmp(str,"ln")==0){Fun_Ope=OpLn;}elseif(strcmp(str,"log")==0){Fun_Ope=OpLog;}elseif(strcmp(str,"sqrt")==0){Fun_Ope=OpSqrt;}elseif(strcmp(str,"exp")==0){Fun_Ope=OpExp;}elseif(strcmp(str,"sin")==0){Fun_Ope=OpSin;}elseif(strcmp(str,"cos")==0){Fun_Ope=OpCos;}elseif(strcmp(str,"tan")==0){Fun_Ope=OpTan;}elseif(strcmp(str,"asin")==0){Fun_Ope=OpAsin;}elseif(strcmp(str,"acos")==0){Fun_Ope=OpAcos;}elseif(strcmp(str,"atan")==0){Fun_Ope=OpAtan;}//elseif(m_expression[Expr_pos]=='('){w_type=TyFun;}else{error(3);w_type=TyFun;return;}//匹配不到函数单词,报错w_type=TyFun;return;}switch(m_expression[Expr_pos]){/*当前字符为操作运算符,则设置单词类型,和操作运算*/case'+':{Fun_Ope=OpAdd;Expr_pos++;w_type=oper;break;}case'-':{Fun_Ope=OpSubtract;Expr_pos++;w_type=oper;break;}case'*':{Fun_Ope=OpMultiply;Expr_pos++;w_type=oper;break;}case'/':{Fun_Ope=OpDivide; Expr_pos++;w_type=oper;break;}case'^':{Fun_Ope=OpPower; Expr_pos++;w_type=oper;break;}case'(':{Fun_Ope=Left_par;Expr_pos++;w_type=oper;break;}case')':{Fun_Ope=Right_par; Expr_pos++;w_type=oper;break;} case'%':{Fun_Ope=OpMod; Expr_pos++;w_type=oper;break;} default:{error(4);return;}//其他字符都为非法字符,报错} }elseif(Expr_pos==t)w_type=TyEnd;//表达式已结束,返回else{error(4);return;}}void CCalculatorDlg::OnOctal() //八进制单选按钮消息响应函数{// TODO: Add your control notification handler code here WordType type ;Operator Ope;CString result;int system;system = m_Radio1;m_Radio1 = 2 ;if()>0) m_expression = OLD_ANSWER;UpdateData(FALSE);getword(type,Ope,system);if(type==Tynum&&(!error_mark)&&(Expr_pos==())){out_change(m_Radio1);result = m_result;clean_all();m_expression = m_result = result;UpdateData(FALSE)Sel = ();(Sel,Sel);UpdateData(FALSE);}else{Expr_pos = 0;OS_pos = 0 ;error_mark=0;parentheses_count=0;m_result = _T("");}(TRUE);(TRUE);(TRUE);(TRUE);(TRUE);(TRUE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);}void CCalculatorDlg::OnBinary() //二进制单选按钮消息响应函数{// TODO: Add your control notification handler code here //E_AddSub();WordType type ;Operator Ope;CString result;int system;system = m_Radio1;m_Radio1 = 3 ;if()>0) m_expression = OLD_ANSWER;UpdateData(FALSE);getword(type,Ope,system);if(type==Tynum&&(!error_mark)&&(Expr_pos==())) {out_change(m_Radio1);result = m_result;clean_all();m_expression = m_result = result;UpdateData(FALSE);Sel = ();(Sel,Sel);UpdateData(FALSE);}else{Expr_pos = 0;OS_pos = 0 ;error_mark=0;parentheses_count=0;m_result = _T("");}(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE);(FALSE); (FALSE); }第四章系统运行测试以及运行界面程序主界面测试测试测试过程中要判断是否成功,要分析程序界面的变化和计算数据的结果是否正确以及各功能键是否能正常实用。