当前位置:文档之家› VB6.0的小程序计算器

VB6.0的小程序计算器

VB6.0的小程序计算器
VB6.0的小程序计算器

VB6.0的小程序计算器

对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。

界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide ,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0?9为了偷懒,用了控件数组cmdNumber(0)~ cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。

思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值

保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。

转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double这些标

准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持

非常大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做

格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行

调整。

如果需要源代码的话在我百度空间里留言。

Option Explicit

Private Const mstrFORMA TDEFAULT As String = "#.##"

Private mstrParam1 As String, mstrParam2 As String

Private mstrOperate As String

Private Sub cmdAdd_Click()

mstrParam1 = Trim(txtShow.Text)

mstrOperate = "+"

txtShow.Text =""

txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf

txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf

End Sub

Private Sub cmdPlus_Click()

mstrParam1 = Trim(txtShow.Text)

mstrOperate ="-"

txtShow.Text =""

txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf

End Sub

Private Sub cmdMultiple_Click()

mstrParam1 = Trim(txtShow.Text)

mstrOperate = "*”

txtShow.Text =""

txtOperate.Text = txtOperate.Text & mstrParam1 & vbCrLf txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf

End Sub

Private Sub cmdDevide_Click()

mstrParam1 = Trim(txtShow.Text)

mstrOperate = "/"

txtShow.Text =""

txtOperate.Text = txtOperate.Text & mstrParaml & vbCrLf

txtOperate.Text = txtOperate.Text & mstrOperate & vbCrLf

End Sub

Private Sub cmdDot_Click()

Dim mstrShow As String

Dim i As Integer

mstrShow =".”

i = InStr(1, txtShow.Text, mstrShow)

If i <= 0 Then

txtShow.Text = txtShow.Text & mstrShow

End If

End Sub

Private Sub cmdMinuse_Click()

Dim mstrShow As String

Dim i As Integer

mstrShow ="-"

i = InStr(1, txtShow.Text, mstrShow)

If i <= 0 Then

txtShow.Text = mstrShow & txtShow.Text

Else

txtShow.Text = Right(txtShow.Text, Len(txtShow.Text) - 1) End If

End Sub

Private Sub cmdNumber_Click(Index As Integer)

Dim mstrShow As String

mstrShow = Index

txtShow.Text = txtShow.Text & mstrShow

End Sub

txtShow.Text =""

End Sub

Private Sub cmdResult_Click()

Dim vParam1 As Variant, vParam2 As Variant

Dim vResult As Variant

Dim strResult As String

Dim i As Long

Dim blnBeforeDot As Boolean

Dim lngDotPos As Long

Dim blnMinuse As Boolean

mstrParam2 = Trim(txtShow.Text)

txtOperate.Text = txtOperate.Text & mstrParam2 & vbCrLf

vParam1 = 0

blnBeforeDot = True

lngDotPos = -1

blnMinuse = False

For i = 1 To Len(mstrParam1)

If IsNumeric(Mid(mstrParam1, i, 1)) = True Then

If blnBeforeDot = True Then

vParam1 = vParam1 * 10 + CByte(Mid(mstrParam1, i, 1)) Else

vParam1 = vParam1 + CByte(Mid(mstrParam1, i, 1)) * (0.1 A (i - lngDotPos)) End If

Elself Mid(mstrParam1, i, 1) = "." Then

blnBeforeDot = False

lngDotPos = i

Elself Mid(mstrParam1, i, 1) = "-" Then

blnMinuse = True

End If

Next i

If blnMinuse = True Then

vParam1 = -vParam1

End If

vParam2 = 0

blnBeforeDot = True

lngDotPos = -1

blnMinuse = False

For i = 1 To Len(mstrParam2)

If IsNumeric(Mid(mstrParam2, i, 1)) = True Then

If blnBeforeDot = True Then

vParam2 = vParam2 * 10 + CByte(Mid(mstrParam2, i, 1))

Else

vParam2 = vParam2 + CByte(Mid(mstrParam2, i, 1)) * (0.1 A (i - IngDotPos)) End If

Elself Mid(mstrParam2, i, 1) = "." Then

blnBeforeDot = False

IngDotPos = i

ElseIf Mid(mstrParam2, i, 1) = "-" Then

blnMinuse = True

End If

Next i

If blnMinuse = True Then

vParam2 = -vParam2

End If

Select Case mstrOperate

Case "+"

vResult = vParam1 + vParam2

Case "-"

vResult = vParam1 - vParam2

Case "*"

vResult = vParam1 * vParam2

Case "/"

vResult = vParam1 / vParam2

End Select

txtOperate.Text = txtOperate.Text & "=" & vbCrLf

strResult = Format(vResult, mstrFORMATDEFAULT)

txtShow.Text = strResult

txtOperate.Text = txtOperate.Text & strResult & vbCrLf

End Sub

txtShow.Text ="" txtOperate.Text ="" End Sub

模拟简单计算器实训

苏州市职业大学 课程设计说明书 名称___模拟简单计算器_______________ 2011 年12月26 日至2011年12月31 日共1 周 院系__ 计算机工程系 班级10嵌入式 姓名 系主任____李金祥 教研室主任刘文芝 指导教师徐丽华、刘文芝

目录 一.课程设计的目的与要求 (2) 1.课程设计的目的 (2) 2.课程设计的要求 (2) 二.题目说明 (2) 2.1开发背景 (3) 2.2 开发工具介绍 (4) 2.3 小组成员分工 (4) 三.硬件方案 (5) 3.1硬件设计 (5) 3.2电路原理图 (7) 四.软件设计 (8) 4.1 模块划分 (8) 4.2 模块结构图 (9) 4.3 液晶显示模块 (9) 4. 4 定时器模块 (6) 五.运行结果分析与系统改进 (10) 六.遇到的问题和解决方法 (11) 七.课程设计总结 (11) 八.参考文献 (11)

一.课程设计的目的与要求 1.课程设计的目的 《单片机原理与应用》是一门专业技术基础课,是一门实践性很强的课,单片机课程设计要求将所学的理论知识通过实践加强理解和认识,提高学生们对单片机的认识,同时提高同学们的设计能力和实践动手能力。 同时《单片机原理与应用》也是一门应用性很强的专业课,其理论与实践技能是从事嵌入式专业技术工作的人员所不可少的。本次课程设计选择AW60实验板进行模拟应用设计与开发,要求学生掌握使用 C 语言进行单片机程序设计和调试的方法,提高综合运用所学的理论知识独立分析和解决问题的能力。同时也为了提高学生的学习能力,锻炼同学之间的合作能力。 2.课程设计的要求 在本课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。 认真编写课程设计报告。 课程设计可以由2~4名同学合作完成一个课题。全体成员应共同完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。 整个设计期间,组长负责协调工作。各小组成员明确自己的任务后,应独立完成设计、编码和调试。 课题设计完成后,小组成员要理解同组其他成员设计的源程序,熟练操作本组设计,各自完成课程设计说明书。 1、对系统进行功能需求分析; 2、设计合理的模块结构和系统框架; 3、编程简练,程序功能齐全,能正确运行; 4、说明书、流程图要清楚; 5、课题完成后必须按要求提交课程设计报告;

C语言程序设计之简单计算器

攀枝花学院 学生课程设计(论文) 题目:简易计算器 学生姓名:葛肪瑜学号:201010801018 所在院(系):计算机学院 专业:计算机科学与技术 班级:10计本(1)班 指导教师:陈三清职称:讲师 2011年6月25日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书 题目计算器的设计 1、课程设计的目的 本课程设计的目的和任务:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握;(2)掌握C语言编程和程序调试的基本技能;(3)利用C语言进行简单软件设计的基本思路和方法;(4)提高运用C语言解决实际问题的能力。 2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等) 一、用C实现如下功能: 使用C语言编写一个类似于Windows附件提供的计算器软件,实现计算器的基本功能,能进行浮点数的加、减、乘、除、乘方和求模运算。 二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 3、主要参考文献 [1] 潭浩强,《C程序设计》,清华大学出版社 [2] 王声决,《C语言程序设计》,中国铁道出版社 [3] 潭浩强,《C程序设计题解与上机指导》,清华大学出版社 [4] 刘玲等,《C语言程序设计应用教程》,西南师范大学出版社 4、课程设计工作进度计划 第1天完成方案设计与程序框图 第2、3天编写程序代码 第4天程序调试分析和结果 第5天课程设计报告和总结 指导教师(签字)日期年月日 教研室意见: 年月日 学生(签字): 接受任务时间:年月日注:任务书由指导教师填写。

简易计算器面板小程序

[java語言與程序設計]简易计算器面板小程序 歸真我发表于:2011/8/1822:49:17标签(TAG):简易计算器面板java小程序 /**C1.java简易计算器面板小程序*/ import java.applet.*;//引入Java系统标准类库中java.applet包 import java.awt.*;//引入Java系统标准类库中java.awt包 import java.awt.event.*;//引入Java系统标准类库中java.awt.event包 public class C1extends Applet{ Label b;//标题标签对象 TextField t1,t2,t3;//三个文本框对象 Button btn1,btn2;//两个按钮对象 CheckboxGroup se;//单选按钮组,它由四个互斥的按钮组成,用来选择计算类型。 Checkbox a,s,m,d;//四个单选按钮,分别代表加、减、乘、除四种运算。 public void init(){ b=new Label("简易计算器面板设计");//创建标题标签对象 t1=new TextField(13);//创建文本框1,用来输入操作数1 t2=new TextField(13);//创建文本框2,用来输入操作数2 t3=new TextField(13);//创建文本框3,用来输出运算结果 btn1=new Button("等于");//创建按钮1“等于”,用来对输入的两操作数进行运算btn2=new Button("重置");//创建按钮2“重置”,用来清空三个文本框,并将计算类型置为初始状态(选中加法)。 se=new CheckboxGroup();//创建单选按钮组 a=new Checkbox("加",true,se);//创建单选按钮:加 s=new Checkbox("减",false,se);//创建单选按钮:减 m=new Checkbox("乘",false,se);//创建单选按钮:乘 d=new Checkbox("除",false,se);//创建单选按钮:除

最新计算机模拟试卷操作题答案

模拟卷1 三、简答题: 1、外存存储器有哪些?内存分哪两种?P13、15 答:外存存储器包括软盘、硬盘、光盘、U盘等。内存分只读存储器ROM和随机存取存储器RAM。 2、计算机网络的分类(按网络覆盖的范围)?P230 答:局域网、城域网、广域网和互联网。 3、常见的视频文件格式有哪些(至少四种)?P343-344 答:视频格式有:.avi格式、.mpg格式、.rm格式和.mov格式。 4、Windows操作题目(写出关键步骤) (1)在桌面上建立AA文件夹,在AA文件夹建立一个名为“JSB”的快捷方式,该快捷方式所指向的对象为“记事本”程序。(记事本程序的文件为 “C:\WINDOWS\system32\notepad.exe”) 步骤:在桌面空白处右击—选择新建文件夹,重命名为“AA”,打开“AA”文件夹,右击选择创建快捷方式,在“浏览”中找到 “C:\WINDOWS\system32\notepad.exe”,点下一步,名称输入“JSB”,完成即可。 (2)将CC文件夹中的“Excel”和“Word ”两个文件夹复制到AA文件夹中,并将“Excel”改名为“TEST”,并将其设置为隐藏属性。 步骤:打开“cc”文件夹,按住“ctrl”键选中“excel”和“word”两个文件夹,右击选择“复制”,打开“AA”文件夹,右击粘贴。在“excel”文件上右击,重命名为“TEST”,右击选择属性,在常规选项卡中,将属性改为“隐藏”。 5、WORD操作题目(6分) (1)修改Word文档中的文字字符的字体、颜色、大小,可以使用哪两种不同的方法实现?P90 答:通过“格式”工具栏和通过菜单“格式”—“字体”命令。 (2)修改文档中的首行缩进2个字符,有哪两种方法实现?P91 答:方法一:选中待修改的文档,把窗口上方的标尺左上的那个小三角往右方移动两个字符的距离,即可。 方法二:选中待修改的文档,右击——段落,在对话框内,特殊格式选择首行缩进,度量值输入2字符,即可。 (3)Word中的哪些对象可以图文混排的? 答:图片、图形,艺术字、文本框等(不确定) 6、EXCEL题目(6分) (1)列举几种Excel中的函数?p156 答:有数学(数值计算)函数、统计函数、逻辑函数、日期与时间函数、财务函数、文本函数等。 (2)列举几种对工作表的操作有哪些?p151 答:选择工作表插入工作表删除工作表移动和复制工作表重命名工作表

c面向对象程序设计MFC简单计算器实验报告

计算机与信息工程学院 《程序设计基础》课程设计报告 题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东 学生学号:2011508154 专业班级:电子信息工程(1)班 指导教师:高攀

1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架

3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置

主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图

4.2各模块详细设计 4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表 double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。 double m_Dis; //Edit控件上需要显示的数字 BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。 double numfirst; //保存计算过程中的前一个数字, double numsecond;//保存计算过程中的第二个数字 char op;//记录当前的计算符号,可以为’+’,’-’,’*’,’/’,’=’,’c’,’n’ 变量初始化: poz=1; m_Dis = 0.0; numfirst=0; numsecond=0; op=0;

用C++编写计算器程序

1.2计算器的介绍 (1)在运行程序后,系统会弹出一个基于对话框的计算器界面,如下图所示: 图1.1 计算器界面 (2)在计算器程序中,主要通过一个编辑框来获取表达式和显示计算结果,表达式可以通过键盘和单击按钮2种方式输入,输入后的结果如下图所示:

图1.2 输入表达式后的界面 (3)在输入完表达式后,单击“=”后,开始对表达式进行计算,计算完成后,在编辑框中显示计算的结果。 图1.3 计算后的结果

(4)计算器可以实现十进制转化为十六进制或二进制,其实现的操作为先输入一个十进制整数,再单击按钮“转化为二进制”或“转化为十六进制。 图1.4 输入一个十进制数100 图1.5 100转化为二进制后的结果

图1.6 100转化为十六进制后的结果 (4)另外,计算器还可以实现一些简单的函数运算,实现的操作和十六进制/二进制转化类似,是先输入一个数字,在单击想要进行的函数的按钮,单击后就会在编辑框中显示运算的结果。 1算法的实现 2.1把字符串转化为数字和运算符的算法 (1)如果字符串中只有数字。这个情况用来实现一些简单函数的运算。在进行简单函数的运算时,都是先输入一个数字,再单击要进行运算的按钮,然后编辑框显示运算的结果。程序用了一个函数double GetaStr(CString str)来实现这个功能,该函数以编辑框变量m_strResult为实参,再得到m_strResult的值后,调用GetAt函数,一个字符一个字符的读取,如果碰到整数,执行“itemp=itemp*rate+(str.GetAt(i)-'0');”,其中变量itemp初始值为0,

简易加减计算器小程序

[java語言與程序設計]简易加减计算器小程序 歸真我发表于:2011/8/1922:51:21标签(TAG): 简易加减计算器小程序 在上一篇《简易计算器面板小程序》中,我已对面板部分的程序作了详细的注释,并对程序的运行过程及结果作了完整的介绍,并且是上机调试过了得到的结果。但是,那只是面板,不能运算。要想让它具有运算的功能,还得在此基础上作一些修改,加进有关按钮动作响应部分的程序。为了便于理解,便于调试,便于学习,掌握其要点,我想应该遵循循序渐进的原则,所以,先从加减运算开始,看看这个功能是怎么实现的。请看下面的小程序。从程序中可以看出,它是利用内部类ButtonAct来处理按钮的动作响应的。从总体上讲是两个按钮“运算”和“重置”,但“运算”又区分为“加”和“减”。所以,用负责实现双分支的if语句来编程。 /**C2.java简易加减计算器小程序*/ import java.applet.*; import java.awt.*; import java.awt.event.*; public class C2extends Applet{ TextField t1,t2,t3; Button btn1,btn2; CheckboxGroup select; Checkbox a,s;//分别代表加、减 Label b; public void init(){ t1=new TextField(13); t2=new TextField(13); t3=new TextField(13); btn1=new Button("等于");

btn2=new Button("重置"); select=new CheckboxGroup(); a=new Checkbox("加",true,select); s=new Checkbox("减",false,select); b=new Label("简易加法/减法计算器"); add(b); add(t1); add(a); add(s); add(t2); add(btn1); add(t3); add(btn2); btn1.addActionListener(new ButtonAct());//注册给ButtonAct对象btn2.addActionListener(new ButtonAct());//注册给ButtonAct对象} class ButtonAct implements ActionListener{//内部类,按钮处理public void actionPerformed(ActionEvent e){ int op1,op2,op3; if(e.getSource()==btn1){//等于按钮 op1=Integer.parseInt(t1.getText()); op2=Integer.parseInt(t2.getText()); if(a.getState())//以下判断计算类型并实现相应的计算 op3=op1+op2; else op3=op1-op2; t3.setText(Integer.toString(op3)); } else{//重置按钮 t1.setText(""); t2.setText(""); t3.setText(""); a.setState(true); } } }//end of ButtonAct }//*~ 运行结果为:

简单计算器c++课程设计讲解

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

自己编的c#小程序—计算器

实验内容 1.仿照windows自带的计算机用C#语言做一个能简单加减乘除的计算器 using System; using System.Collections.Generic; using https://www.doczj.com/doc/f4444142.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private bool ClearDisplay = true; private string Op; private double Op1; private double Op2; private double result; public Form1() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void Form1_Load() { } private void ce_Click(object sender, EventArgs e) { tb.Text = ""; Op = ""; Op1 = 0; Op2 = 0; result = 0; } private void num0_Click(object sender, EventArgs e) { tb.Text = tb.Text+ "0"; Op1 = System.Convert.ToDouble(tb.Text);

简单计算器编程

计算器程序 包括4个数字按钮,1个小数点按钮,+-*/= 5个计算按钮 不接受键盘输入 计算规则:当前正在输入的数存储到字符串变量 用户输入操作符,存储已经输入的数,作为第一个数,存储操作符 用户输入第二个数 用户输入操作符,与第一个数计算,并存储为第一个数,存储操作符 小数点只能输入一次 1 创建基于对话框的程序 2 打开对话框模板,增加控件: 编辑框1个 按钮4个,文字1-4 按钮1个,文字:小数点 按钮5个,文字:+ - * / = 按钮1个,文字:关闭 3 打开类向导 为编辑框加成员变量,CString m_edit 为所有按钮加消息映射

注意:以上都加再对话框类中。 4 打开对话框类的声明,加成员变量 double m_result; //前面的结果,即第一个数 int m_opt; //前面的操作符,0=,1+,2-,3*,4/ int ,m_dot; //是否输入了小数点 CString m_string; //当前正在输入的数,存为字符串 5 继续在话框类,声明2个函数 void calculation(void); //执行计算 void NumInput(CString x) //执行数字按钮输入 6 打开函数OnInitDialog(),加初始化代码 m_result = 0; m_opt = 0; m_dot = 0; m_string = ""; 6 “关闭按钮”消息映射代码: OnOK(); 8 分别打开数字按钮1-4的消息映射函数,分别输入代码: NumInput("1");

NumInput("2"); NumInput("3"); NumInput("4"); 9 打开小数点按钮的消息映射函数,输入代码: if ( m_dot==0 ) { m_dot = 1; NumInput("."); } 10 分别打开 + - * / 按钮的消息映射函数,分别输入代码: calculation(); m_opt = 0; calculation(); m_opt = 1; calculation(); m_opt = 2; calculation();

模拟计算器程序-课程设计

模拟计算器 学生姓名:**** 指导老师:**** 摘要本课程设计的课题是设计一个模拟计算器的程序,能够进行表达式的计算,并且表达式中可以包含Abs()和Sqrt()运算。在课程设计中,系统开发平台为Windows ,程序设计设计语言采用C++,程序运行平台为Windows 或*nix。本程序的关键就是表达式的分离和处理,在程序设计中,采用了将输入的中缀表达式转化为后缀表达式的方法,具有可靠的运行效率。本程序做到了对输入的表达式(表达式可以包含浮点数并且Abs()和Sqrt()中可以嵌套子表达式)进行判定表达式是否合法并且求出表达式的值的功能。经过一系列的调试运行,程序实现了设计目标,可以正确的处理用户输入的表达式,对海量级数据都能够通过计算机运算快速解决。 关键词C++程序设计;数据结构;表达式运算;栈;中缀表达式;后缀表达式;字符串处理;表达式合法判定;

目录 1 引言 (3) 1.1课程设计目的 (3) 1.2课程设计内容 (3) 2 设计思路与方案 (4) 3 详细实现 (5) 3.1 表达式的合法判定 (5) 3.2 中缀表达式转化为后缀表达式 (5) 3.3 处理后缀表达式 (7) 3.4 表达式嵌套处理 (8) 4 运行环境与结果 (9) 4.1 运行环境 (9) 4.2 运行结果 (9) 5 结束语 (12) 参考文献 (13) 附录1:模拟计算器源程序清单 (14)

1 引言 本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。利用两个“栈”,一个“数据栈”,一个“运算符栈”来把中缀表达式转换成后缀表达式。最后利用后缀表达式来求解表达式的值。该算法的复杂度为O(n),能够高效、快速地求解表达式的值,提高用户的效率。 1.1课程设计目的 数据结构主要是研究计算机存储,组织数据,非数值计算程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。 模拟计算器程序主要利用了“栈”这种数据结构来把中缀表达式转化为后缀表达式,并且运用了递归的思想来解决Abs()和Sqrt()中嵌套表达式的问题,其中还有一些统计的思想来判定表达式是否合法的算法。 1.2课程设计内容 本次课程设计为计算器模拟程序,主要解决表达式计算的问题,实现分别按表达式处理的过程分解为几个子过程,详细的求解过程如下:1 用户输入表达式。 2 判定表达式是否合法。 3 把中缀表达式转化为后缀表达式。 4 求出后缀表达式的结果。 5 输出表达式的结果。通过设计该程序,从而做到方便的求出一个表达式的值,而不需要一步一步进行运算。

单片机简易计算器课程设计

单片机简易计算器课程设计 课程设计 题目名称________________ 简易计算器设计____________ 课程名称_____________ 单片机原理及应用____________ 学生姓名________________

班级学号________________ 2018年6月20日

目录 一设计目的 (2) 二总体设计及功能介绍 (2) 三硬件仿真图 (3) 四主程序流程图 (4) 五程序源代码 (5) 六课程设计体会 (28)

设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUE仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51 系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0?9)、符号键(+、-、x、十)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘;

执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

计算器程序

制作简单计算器 要求和目的 ●要求: 设计一个的计算器,具有简单的运算功能,能进行两个操作数的“+”、“-”、“*”、“/” 运算。计算器的运行效果如图 ●目的: 掌握Label控件的使用方法; 掌握ComboBox控件的使用方法; 掌握Button控件的使用方法; 掌握TextBox控件的使用方法。 ●设计步骤 新建一个Visual C# Windows应用程序,依次在界面上拖入五个“Label控件”,分别用于“计算器”、“操作数1”、“操作数2”、“运算符”和“结果”,并设置合适的字体及位置。 拖入三个“TextBox控件”,分别用于“接收操作数”和“显示结果”,其中,显示结果的“TextBox控件”的“ReadOnly属性”设置为“True”,即该文本框为只读。最后拖入一个“Button控件”,用于“计算”功能。计算器界面设计好之后,如图所示。

相关背景知识: ComboBox 控件 ComboBox 控件又称组合框,在工具箱中的图标为。默认情况下,组合框分两个部分显示:顶部是一个允许输入文本的文本框,下面的列表框则显示列表项。可以认为ComboBox就是文本框与列表框的组合,与文本框和列表框的功能基本一致。dropdownstyle属性 ●Simple 始终显示列表 ●Dropdown 文本部分可编辑 ●Dropdownlist 文本部分不可编辑 Items 属性 若要在combobox控件中添加或删除项,可以在设计器中使用Items属性向列表添加项。 SelectedIndex 属性 编辑框所选列表条目的索引号,列表条目索引号从0开始,如果编辑框未从列表中选择条目,该值为-1 SelectedItem 属性 所选择条目的内容,即下拉列表中选中的字符串,如一个也没选,该值为空。获取或设置选定项。它返回项本身,通常是一个字符串值。 编写代码 1.要求和目的 要求: 编写一段代码,用于实现计算器的功能。在“操作数”填写上两个数字,并选择“运算符”,单击“计算”按钮之后,可以在“结果文本框”中显示计算结果。 目的: 掌握数据类型转换的方法; 掌握条件判断语句的编写方法; 掌握文本框控件属性的设置方法。 ●2.设计步骤 (1)双击“计算(Button)”按钮,进入该按钮的单击事件,编写代码。

汇编经典小程序

实验一:判断一个数X的正,负数,还是零。(假设是正数,输出+,是负数,输出-,是零,输出This is a zore !) DATA SEGMENT X DB 10 CR EQU 0DH LF EQU 0AH W DB 'This is a zore!',CR,LF,'$' ZHENG DB '+',CR,LF,'$' FU DB '-',CR,LF,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,X AND AL,AL JZ L1 SHL AL,1 JC L3 JMP L2 L1: MOV DX,OFFSET W MOV AH,9 INT 21H JMP L4 L2: MOV DX,OFFSET ZHENG MOV AH,9 INT 21H JMP L4 L3: MOV DX,OFFSET FU MOV AH,9 INT 21H JMP L4 L4: MOV AH,4CH INT 21H CODE ENDS END START 实验二:求十个数中的最小数,并以十进制输出。(若要求最大的,只要把JC 改为JNC 即可)(仅局限于0---16间的数比较,因为ADD AL,30H只是针对一位的十六进制转换十进制的算法) DATA SEGMENT XDAT DB 0AH,1FH,02H,03H,04H,05H,06H,07H,08H,09H MIN DB ? CR EQU 0DH

W DB ' is min',CR,LF,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,9 MOV SI,OFFSET XDAT MOV AL,[SI] L2: CMP AL,[SI+1] JC L1 MOV AL,[SI+1] L1: INC SI LOOP L2 ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV DX,OFFSET W MOV AH,9 INT 21H CODE ENDS END START 实验三:设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小从新排列的程序。 DATA SEGMENT BUF DB 87,234,123 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF MOV AL,[SI] ;把3个数取到寄存器中 MOV BL,[SI+1] MOV CL,[SI+2] CMP AL,BL ;排序,将最大数送AL寄存器 JAE NEXT1 XCHG AL,BL NEXT1:CMP AL,CL JAE NEXT2 XCHG AL,CL NEXT2:CMP BL,CL ;将最小输送CL寄存器

用JAVA编写计算器程序(模拟Windows计算器)

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionListener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213);

C++课程设计(简单计算器)【样本】

C++程序设计课程设计报告 题目:简单计算器 学生姓名: 学号: 院(系): 专业: 2011 年 9 月 9 日

目录 1 基本功能描述 (1) 2 设计思路 (1) 3 软件设计 (4) 3.1 设计步骤 (4) 3.2 界面设计 (5) 3.3 关键功能的实现 (11) 4 结论与心得体会 (12) 5 参考文献 (13) 6 思考题 (13) 7 附录 (14) 7.1 调试报告 (14) 7.2 测试结果 (15) 7.3 关键源代码 (16)

简单计算器 1 基本功能描述 简单计算器包括双目运算和单目运算功能。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,阶乘,对数,开方,倒数等运算。可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出相应提示,同时包含清除,退格,退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图是整个计算器的流程图,打开计算器程序,输入数据,调用输入数据子程序。子程序开始时m_num为零。按下数字按钮后,判断m_num的正负号,对其进行相关处理,然后在判断是否有小数点,处理后输出结果。 回到总流程图中,输完第一个操作数后,若按下双目运算符,则把m_num存入num2,按下输入第二个操作数并算出结果。若按下的是单目运算符,则直接对其处理得出结果。若按下清零,则m_num等于0.在运算中还要判断运算是否合法,以及结果是否超出显示范围,以做出相关提示,按下清零。算出后把结果保存至num2。若需用算出的结果继续运算则回到输入完第一个操作数后,若不需要则判断试否需要开始新一轮的运算,不需要则结束。

开发一个小程序,到底要多少钱这要从以下几方面算

https://www.doczj.com/doc/f4444142.html, 开发一个小程序,到底要多少钱?这要从以下几方面算 1、小程序开发,工程量并不小,它不等同于网站开发和微信官网应用开发,那些技术成熟,有现成的模板。 小程序开发,等同于简单一些的APP开发,需要涉及的东西很多,后端服务器、数据库、通讯、API等等。 2、微信搞出小程序,是想来终结APP的——你一个网站网页的技术,怎么可能来终结那么多APP功能需求呢? 所以,我们要提高小程序产品开发的成本预期和时间预期。 首先要计算开发的费用 我们假定要开发的是一款电商购物小程序,用户注册登录、产品陈列、加入购物车、下单购买、支付、售后与服务跟进,这是典型的电商需求,这种需求,在市面上有无数APP或公众号H5 网站。 定制化的需求开发,一般要按照开发商或技术团队投入的人力来报价,大约需要投入的人手如下: 需求分析兼项目经理兼team leader1 人* 20 天*1k元=2w UI 设计1 人* 10 天*0.8k=8k 前端开发(小程序开发) 1 人* 20 天*0.8k=1.6w(前期人才稀缺,可能有一定上浮)

https://www.doczj.com/doc/f4444142.html, 前端开发(PC端) 1 人* 20 天*0.8k=1.6w 后端开发兼系统架构1 人* 20 天*0.8k=1.6w 测试兼维护部署兼售后客服1 人* 30 天*0.8k=2.4w 小计:10w (OH,NO!!) 这样看起来,开发一个小程序,好像和“开发一个APP”差不多。这个价格也接近开发商和技术团队的成本了。 也许有人要问这里的技术人员“日单价”,是不是小编乱拍脑袋,这里稍微解释一下,事实上市场上做定制开发的技术团队,对人头的定价是参差不齐的,而我们是假定出品的微信小程序,是有一定品质的,这意味着每个项目的技术团队参与者的水平都不会太差。 参考现在市面上好的人才身价,能独当一面的优秀工程师,月薪都是5w起跳,如果再摊上企业经营成本和人力闲置率,这个定价并不算高。

java课程设计-模拟科学计算器

JAVA课程设计说明书 题目:模拟科学计算器 姓名: 学号: 班级:网络工程11-2 山东科技大学 2013年11月7日

目录 1 课设任务及要求 (3) 1.1课设任务 (3) 1.2设计要求 (3) 2 需求分析 (2) 2.1 设计背景 (2) 2.2 需求获取 (3) 2.3 程序功能图 (4) 3 设计思路 (4) 3.1 界面布局 (4) 3.2 类的定义 (5) 3.3变量的定义 (5) 4 详细设计 (6) 4.1整体概述 (6) 4.2 误操作处理 (7) 4.3流程图和结构图 (8) 5 系统调试 (11) 5.1 程序界面 (11) 5.2 运行界面 (11) 6 心得与体会 (15) 7 参考文献 (16) 8 附录 (16)

1 课设任务及要求 1.1课设任务: 要求:界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。 实现要点:添加相关组件并进行按钮事件处理。 要求提交Application和Applet两个版本的程序。 1.2设计要求 ①设计的java计算器应用程序可以完成加法、减法、乘法、除法和取余运算,和cos,sin,tan等三角函数功能以及阶乘和指数等运算,且有小数点、正负号、求倒数、退格和清零功能。具体可参考windows附件下的计算器 ②课程设计使用Eclipse4.2等作为程序编译和运行测试的开发平台,采用JDK-7u25作为java开发环境,使用Microsoft Office Visio 2007作为绘图工具。

③认真按时完成课程设计报告,制作演讲PPT,积极报名上讲台向大家演示和讲解自己的程序。提交打印版的报告以及电子版的原稿和Application和Applet两个版本的程序代码。 2 需求分析 2.1 设计背景 本程序是老师提供的几个课程设计题目中比较中等的题目。要求实现模拟的科学计算器功能,主要包括加减乘除四则运算和阶乘,三角函数以及指数的运算。具体的功能我参考了Windows7下的计算机小程序,并根据其界面设计了java小程序界面,根据其功能对自己设计的计算器小程序进行了功能的适当增加与修改。在实现了课程设计题目要求的基础上,自己又增添了对数函数,幂函数,三角函数,取余等我们常用到的功能比较简单的函数。由于本函数涉及的函数以及按键数目较多,故没有采用面向对象的设计方法,没有对每个功能封装成函数调用,而是针对每个按键的动作事件直接采用了算法的编写。最终实现了全部的功能,但是由于时间有限,许多功能没有坐到很到位的优化,或许还存在着许多了漏洞,欢迎老师和同学的批评指正,我一定会

简单计算器程序设计

简单计算器程序设计 2010-01-20 16:44 1、编写一个程序实现十进制加减乘除运算 2、在命令提示后输入算式,运算符号不超过四个 3、回车后进行计算并以十进制显示结果 ;能做带括号的运算,输入错误能报警 data segment msg1 db 'Please Input an Expression:',0AH,0DH,'$' msg2 db 'the result is:$' db '(' num db 200 dup (0) temp1 db 200 dup(0),13 temp dw 0 data ends stack segment db 200 dup (?) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax lea dx,msg1 mov ah,9 int 21h call input again2: lea si,num again1: inc si cmp byte ptr[si],13 je outt cmp byte ptr[si],')' jne again1 call chasc1 call count push ax jmp again2 outt:pop bx mov ah,2

mov dl,10 int 21h mov dl,13 int 21h lea dx,msg2 mov ah,9 int 21h call chaou mov ah,8 int 21h mov ah,4ch int 21h ;************************************** input proc ;输入子程序能纠错 push ax push bx push cx push dx push si push di xor si,si xor bh,bh mov bl,0ffh xor cx,cx top: mov ah,8 int 21h cmp al,8 jne next1 cmp si,0 jne ne1 mov bl,0ffh jmp next6 ne1: mov ah,2 mov dl,8 int 21h mov dl,0 int 21h mov dl,8 int 21h dec si

相关主题
文本预览
相关文档 最新文档