vb复数计算器

vb复数计算器
vb复数计算器

Dim save As String

Dim a As Single

Dim points, over, b, c, d, e As Boolean

Private Sub Command1_Click(Index As Integer) If over = True Then

Text1.Text = ""

End If

If b = True Then

Text1.Text = Text1.Text & Trim(Str(Index)) ElseIf c = True Then

Text2.Text = Text2.Text & Trim(Str(Index))

ElseIf d = True Then

Text4.Text = Text4.Text & Trim(Str(Index)) ElseIf e = True Then

Text5.Text = Text5.Text & Trim(Str(Index)) End If

over = False

End Sub

Private Sub Command2_Click()

If points = False Then

If b = True Then

If Text1.Text = "" Then

Text1.Text = 0 & "."

points = True

Else

Text1.Text = Text1.Text & "."

points = True

End If

ElseIf c = True Then

If Text2.Text = "" Then

Text2.Text = 0 & "."

points = True

Else

Text2.Text = Text2.Text & "."

points = True

End If

ElseIf d = True Then

If Text4.Text = "" Then

Text4.Text = 0 & "."

points = True

Else

Text4.Text = Text4.Text & "."

points = True

End If

ElseIf e = True Then

If Text5.Text = "" Then

Text5.Text = 0 & "."

points = True

Else

Text5.Text = Text5.Text & "."

points = True

End If

End If

End If

End Sub

Private Sub Command3_Click()

If b = True Then

If Text1.Text <> "" Then

Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End If

ElseIf c = True Then

If Text2.Text <> "" Then

Text2.Text = Left(Text2.Text, Len(Text2.Text) - 1) End If

ElseIf d = True Then

If Text4.Text <> "" Then

Text4.Text = Left(Text4.Text, Len(Text4.Text) - 1) End If

ElseIf e = True Then

If Text5.Text <> "" Then

Text5.Text = Left(Text5.Text, Len(Text5.Text) - 1)

End If

End If

End Sub

Private Sub Command4_Click(Index As Integer)

Const Pi = 3.1415926

Select Case Index

Case 0

Text3.Text = Str(V al(Text1.Text) + V al(Text2.Text))

Text6.Text = Str(V al(Text4.Text) + V al(Text5.Text))

Text7.Text = Sqr(V al((Text4.Text) * V al(Text4.Text)) + (V al(Text1.Text) * V al(Text1.Text)))

Text8.Text = Sqr(V al((Text2.Text) * V al(Text2.Text)) + (V al(Text5.Text) * V al(Text5.Text)))

Text9.Text = Sqr(V al((Text3.Text) * V al(Text3.Text)) + (V al(Text6.Text) * V al(Text6.Text)))

Case 1

Text3.Text = Str(V al(Text1.Text) - V al(Text2.Text))

Text6.Text = Str(V al(Text4.Text) - V al(Text5.Text))

Text7.Text = Sqr(V al((Text4.Text) * V al(Text4.Text)) + (V al(Text1.Text) * V al(Text1.Text)))

Text8.Text = Sqr(V al((Text2.Text) * V al(Text2.Text)) + (V al(Text5.Text) * V al(Text5.Text)))

Text9.Text = Sqr(V al((Text3.Text) * V al(Text3.Text)) + (V al(Text6.Text) * V al(Text6.Text)))

Case 2

Text3.Text = Str(V al(Text1.Text) * V al(Text2.Text) - V al(Text4.Text) * V al(Text5.Text))

Text6.Text = Str(V al(Text1.Text) * V al(Text5.Text) + V al(Text4.Text) * V al(Text2.Text))

Text7.Text = Sqr(V al((Text4.Text) * V al(Text4.Text)) + (V al(Text1.Text) * V al(Text1.Text)))

Text8.Text = Sqr(V al((Text2.Text) * V al(Text2.Text)) + (V al(Text5.Text) * V al(Text5.Text)))

Text9.Text = Sqr(V al((Text3.Text) * V al(Text3.Text)) + (V al(Text6.Text) * V al(Text6.Text)))

Case 3

Text3.Text = (V al(Text1.Text) * V al(Text2.Text) + V al(Text4.Text) * V al(Text5.Text)) / (V al(Text2.Text) * V al(Text2.Text) + V al(Text5.Text) * V al(Text5.Text))

Text6.Text = (V al(Text4.Text) * V al(Text2.Text) - V al(Text1.Text) * V al(Text5.Text)) / (V al(Text2.Text) * V al(Text2.Text) + V al(Text5.Text) * V al(Text5.Text))

Text7.Text = Sqr(V al((Text4.Text) * V al(Text4.Text)) + (V al(Text1.Text) * V al(Text1.Text)))

Text8.Text = Sqr(V al((Text2.Text) * V al(Text2.Text)) + (V al(Text5.Text) *

V al(Text5.Text)))

Text9.Text = Sqr(V al((Text3.Text) * V al(Text3.Text)) + (V al(Text6.Text) * V al(Text6.Text)))

End Select

points = False

End Sub

Private Sub Command6_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text5.Text = ""

Text6.Text = ""

Text7.Text = ""

Text8.Text = ""

Text9.Text = ""

over = 0

points = 0

save = 0

End Sub

Private Sub Command7_Click()

If b = True Then

Text1.Text = Str(-V al(Text1.Text))

ElseIf c = True Then

Text2.Text = Str(-V al(Text2.Text))

ElseIf d = True Then

Text4.Text = Str(-V al(Text4.Text))

ElseIf e = True Then

Text5.Text = Str(-V al(Text5.Text))

End If

End Sub

Private Sub Command8_Click()

If Text1.Text = Text2.Text And Text4.Text = Text5.Text Then

Text3.Text = "相等"

Text6.Text = " "

End If

If Text1.Text <> Text2.Text Or Text4.Text <> Text5.Text Then

Text3.Text = "不相等"

Text6.Text = " "

End If

End Sub

Private Sub Form_Load() points = False

over = False

c = False

b = True

d = False

e = False

End Sub

Private Sub Text1_Click()

b = True

c = False

d = False

e = False

End Sub

Private Sub Text2_Click() c = True

b = False

d = False

e = False

End Sub

Private Sub Text4_Click() c = False

b = False

e = False

d = True

End Sub

Private Sub Text5_Click() e = True

b = False

d = False

c = False

End Sub

Private Sub 关于_Click() form2.Show

End Sub

C++课程设计报告--小型特殊计算器

课程设计报告 课程:面向对象程序设计学号: 姓名: 班级: 教师:

课程设计名称:小型特殊计算器 1.设计内容: 实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。 2.设计目的与要求: 2.1设计目的 达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2设计要求 要求利用面向对象的方法以及C++的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 3.1主要知识点 运算符重载增加了C++语言的可扩充性。运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。用友元重载运算符的友元函数是独立于类以外的一般函数。 3.2关键技术 程序中每一种数据类型用一个类来实现,共设计了4个类。复数类complex,矩阵类matrix,有理数类rational以及集合类set。每一种类都定义了相应的运算符重载函数。具体定义如下所示: (1)类complex 类complex中,成员变量image表示虚部,real表示实部。成员函数print()用来显示数据。运算符重载函数都是用友元函数来实现的。分别重载+、-、*、/运算符。 (2)类matrix 类matrix中,成员变量elems用来存放矩阵的所有元素,rows表示矩阵的行,cols表示矩阵的列。成员函数SetElems()用来给矩阵中的每一个元素赋值,Disp()用来显示矩阵中的所有元素。其它友元函数分别重载+、-、*、/运算符。 (3)类rational 类rational中,有两个成员变量:denominator用来表示有理数的分母,numerator表示有理数的分子。有理数成员函数print()用来显示有理数,optimization()用来优化有理数函数。友元函数real()用来将有理数转换为实数,其它友元函数分别重载+、-、*、/运算符。 (4)类set

使用普通计算器进行复数运算

使用普通计算器进行复数运算 一、使用方法 1. 利用计算器进行复数计算必须要用计算器的度,按DRG键,使计算器显示窗中要有“DEG”标致(表示计算器进行所有带角度的运算均以“度”为单位)。 2. 让计算器进入复数运算状态,分别按2ndF 和CPLX,显示窗中有“CPLX”标致,表示计算器只能进行复数的运算,而进行其它计算则是无效的。取消则重复进行即可。进行复数的加减乘除运算时计算器必须处于复数运算状态。 二、计算说明 1. 计算器中a、b的分别表示进行复数运算的实部和虑部,进行代数式输入时可以直接按此键。 2. 计算器中→rθ、→xy的分别表示进行复数运算的模和角,进行极坐标式输入时必须利用上档键功能进行;同时这两个按键也是代数式和极坐标式转换的功能键。 3. 计算器在进行复数运算时均是以代数式形式进行的,就是说在进行极坐标式计算时必须要先化成代数式,计算的结果也是代数式,如果希望得到极坐标式计算完成后也要进行转换。 4. 显示结果运算完成后的结果就是代数式且显示的是实部,按b显示虑部,再按a 就显示实部,转换成极坐标式后则按a显示模,按b显示角,也可重复显示。 5. 在输入带有负号的值时,应先输入数值,再输入负号,输入负号应按+/-键。 三、计算举例 1. 代数式化成极坐标式 例如:3 + j 4 = 5 /53.13o 按键步骤:(按键动作用“↓”表示。)

3↓a↓4↓b↓2ndF↓→rθ↓显示模5,b↓显示角53.13o。 2.极坐标式化成代数式 例如:15 /-50o = 9.64- j11.49 按键步骤: 15↓a↓50↓+/-↓b↓2ndF↓→xy↓显示实部9.64,b↓显示虑部-11.49。

复数计算器 实验报告

中南大学 高级程序设计实践(C++)课程设计报告 题目复数计算器 学生姓名 指导教师陈丽萍 学院信息科学与工程学院 专业班级通信工程1301班 完成时间 2014年7月5日

第一章需求分析与程序设计 1.1 需求分析 1.1.1程序设计的目的与任务 1.复习和巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握。 2.为学生提供独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生独立分析问题、解决问题、查阅资料以及自学能力。 3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。 4.在程序实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数,以实现预期的功能,解决实际问题。 1.1.2“复数计算器”程序所能实现的功能 1.建立实数类、复数类,复数类由实数类公有继承而来。 2.实现实数、复数信息的初始化。 3.通过选择结构和调用相关函数实现实数的相关运算,包括:两个实数间的加、减、乘、除和一个实数的自增、自减、求平方、二次方根等运算。 4.通过选择结构和调用相关函数实现复数的相关运算,包括:两个复数间的加、减、乘、除、求两个复数的夹角和一个复数的取模、求平方、求共轭复数、求单个复数的向量角等运算。 5.通过调用相关函数实现实数、复数信息的输出,显示在显示屏上。 6.通过多次运用选择和循环结构实现对实数、复数运算的选择,在选择了实数或复数运算的前提下,再实现对各种运算的选择,运算结束后还可以选择继续实现其它运算或退出程序。 1.2 程序设计 1.2.1概要设计 1.系统中的各个实体及它们之间的关系 系统中的实体是实数类对象和复数类对象,它们的关系是复数类对象所属的类是由实数类对象所属的类公有派生而来的。 2.系统的类层次 程序中建立了两个类,分别是实数类、复数类,复数类是由实数类公有派生而来的。 3.主程序的流程以及各程序模块之间的层次(调用)关系 首先从键盘输入数字1或2或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函数进行调整。 如果需要源代码的话在我百度空间里留言。https://www.360docs.net/doc/1013655566.html,/zhaozhigang517

教你巧妙改装计算器,功能很强大。如此变态的计算器,你一定不知道怎么玩,我来告诉你

一、shift+7+on,不多说了,很多人都知道 二、CMPLX(复数计算),MAT(矩阵),VCT(向量)! 没想到吧,俺们的计算器还能算复数。说到这里,先要讲怎么进入异常状态!这可是好多种变态功能使用的必须状态! 进入异常状态:(依次按下列键,不能多一下或少一下,期间不管计算器怎么显示错误都无视) on, shift+加号(Pol), 1, shift+右括号(逗号), 0, =, AC, 6下分数线, =, AC, 左, 1, x^n(x平方右边那个), =, AC, 上, AC, 3下左, DEL(此时显示r=1,fai o=0,惊讶了吧), 分数线, 在分数线上下都输入1, = 异常状态进入成功! 然后继续凹:8下Ans, 然后不断按sin直到显示错误, AC, shift+9, 1, =, AC, shift+9, 2, =, AC(前面几步也叫2次清空), 5下根号, 6下x^n(此时出现乱码,可以看见乘以10), 15下

DEL(正好到r前面,小心点按哦,按过头就要重来了。。), 右括号, =, AC, shift+9, 2, =, AC, 2下右, DEL(正好把那个右括号删了), 1, alpha+x^3(是个双引号), 2下等于, mode 看到什么了!2就是复数计算,4不明,5也不明,6就是矩阵,8就是向量,平时看不见吧~ 1、CMPLX:按完2之后屏幕突然变亮,然后按on,再用shift+mode调节屏幕亮度(可以看得清楚点。。)为了保证能正常使用,shift+mode, 3, shift+mode, 8, 1, shift+mode, 下, 4, 1。OK啦~~~现在ENG就是i!!!不过计算结果如果带i 的话不会显示出来比如答案是-1+i,显示就是-11,按shift+2再按4就能显示出来了,shift+2还有其他几个功能,自己研究吧~~ 2、MAT:按完6之后按一下AC,然后同样调节亮度。shift+4,慢慢玩吧~~ 3、VCT:按完8之后按一下AC,然后同样调节亮度。貌似是shift+5,自己试试~~ 三、进制转换(可转换2进制,8进制,10进制,16进制)

计算器vb源代码

计算器v b源代码 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

计算器vb源代码.txt性格本身没有好坏,乐观和悲观对这个世界都有贡献,前者发明了飞机,后者发明了降落伞。完全版的前后台代码... '请把下面的保存为 VERSION Begin Calculator BorderStyle = 1 'Fixed Single Caption = "计算器" ClientHeight = 2970 ClientLeft = 2580 ClientTop = 1485 ClientWidth = 3270 ClipControls = 0 'False BeginProperty Font Name = "System" Size = Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Icon = "":0000 LinkMode = 1 'Source LinkTopic = "Form1" MaxButton = 0 'False PaletteMode = 1 'UseZOrder ScaleHeight = 2970 ScaleWidth = 3270 WhatsThisHelp = -1 'True Begin Number Caption = "7" Height = 480 Index = 7 Left = 120 TabIndex = 7 Top = 600 Width = 480 End

用VB编写一个简单计算器

用VB编写一个简单计算器 一、功能:实现简单的加减乘除功能,C归零,CE取消输入,%计算并显示第一个操作数的百分比。 二、控件:1个label,20个commandbutton。 三、计算器运行界面: 四、详细代码: Option Explicit Dim Op1, Op2 '前面输入的操作数 Dim DecimalFlag As Integer '小数点仍然存在吗? Dim NumOps As Integer '操作数个数 Dim LastInput '指示上一次按键事件的类型 Dim OpFlag '指示未完成的操作 Dim TempReadout ' C (取消) 按钮的Click 事件过程 ' 重新设置显示并初始化变量 Private Sub Cancel_Click() Readout = Format(0, "0.") Op1 = 0 Op2 = 0 Form_Load End Sub ' CE (取消输入) 按钮的Click 事件过程

Private Sub CancelEntry_Click() Readout = Format(0, "0.") DecimalFlag = False LastInput = "CE" End Sub ' 小数点(.) 按钮的Click 事件过程 ' 如果上一次按键为运算符,初始化readout 为"0."; ' 否则显示时追加一个小数点 Private Sub Decimal_Click() If LastInput = "NEG" Then Readout = Format(0, "-0.") ElseIf LastInput <> "NUMS" Then Readout = Format(0, "0.") End If DecimalFlag = True LastInput = "NUMS" End Sub ' 窗体的初始化过程 ' 设置所有变量为其初始值 Private Sub Form_Load() DecimalFlag = False NumOps = 0 LastInput = "NONE" OpFlag = " " Readout = Format(0, "0.") 'Decimal.Caption = Format(0, ".") End Sub ' 数字键(0-9) 的Click 事件过程 ' 向显示中的数追加新数 Private Sub Number_Click(Index As Integer) If LastInput <> "NUMS" Then Readout = Format(0, ".") DecimalFlag = False End If If DecimalFlag Then Readout = Readout + Number(Index).Caption Else Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".") End If If LastInput = "NEG" Then Readout = "-" & Readout

C++课程设计报告(复数计算器)

南京信息工程大学 《面向对象程序设计》课程设计实验报告 课程名:面向对象程序设计 专业:网络工程 班级:2班 作者:张煜荻、吴辉煌、张一东 日期:2011年5~6月

实验内容 题目:设计一个复数计算器。 要求:1)所设计的复数计算器可以进行+、-、×运算。2)设计输入重载函数,要求能接收从键盘输入a+b i形式的复数,在程序中可以识别出实部、虚部并进行赋值。3)设计算器测试程序,对加减法进行测试,要求在两位数以内,对乘法进行测试,乘法要求为一位数的运算。 小组分工

程序源码 #include #include #define EPS 1e-5//定义精度为10^-5 using namespace std; namespace NameCalculator //定义空间NameCalculator { class Calculator //定义Calculator类 { private: double Real,Image; //私有成员:实部Real、虚部Image public: Calculator(double real=0,double image=0) //构造函数 { Real=real; Image=image; } int operator==(Calculator &com); //等于重载 Calculator operator+(Calculator &com); //加法重载 Calculator operator-(Calculator &com); //减法重载 Calculator operator*(Calculator &com); //乘法重载 Calculator operator*=(Calculator &com);//乘法赋值重载 friend istream & operator>>(istream &is,Calculator &com); //输入重载 friend ostream & operator<<(ostream &os,Calculator &com); //输出重载}; int Calculator::operator==(Calculator &com) //重载等于 { if(Real==com.Real && Image==com.Image) return 1; else return 0; } Calculator Calculator::operator+(Calculator &com) //加法重载 { Calculator sum; sum.Real=Real+com.Real; sum.Image=Image+com.Image; return sum;

计算器-复数的计算方法

用计算器计算复数 (KK-82MS-1) 三、计算举例 模式:MODE CLR↓1。 1.代数式化成极坐标式 例如: 3 + j 4 = 5 /53.13o 步骤: POL↓(3,4)。结果=5; 在按键rcl↓F↓。结果等于53.13. 2. 极坐标化成代数式 例如: 15 /-50o = 9.64- j11.49 按键步骤:SHIFT↓REC↓(15,-50)。结果等于9.64. 再按rcl↓F 。结果等于-11.49. 3. 代数式的加减乘除 例如: ( 5 - j 4 ) × ( 6 + j 3 ) = 42 - j 9 = 42.953/-12.095o 步骤:先进行简单的加减运算得到42 - j 9。 POL↓(42,-9)。结果等于42.953; 再rcl↓F。结果等于-12.095. 例 ( 5 - j 4 ) + ( 6 + j 3 ) = 11 - j 1 = 11.045 /-5.1944o ( 5 - j 4 ) - ( 6 + j 3 ) = -1 - j 7 = 7.071 /-98.13o ( 5 - j 4 ) ÷ ( 6 + j 3 ) = 0.4 - j 0.8667 = 0.9545 /-65.2249

o 4.极坐标式的加减乘除 例如:5 /40o + 20 /-30o = 21.15 - j 6.786 = 22.213/-17.788o 步骤:先将5 /40o化成代数式3.83+ 3.214j,将 20 /-30o化成代数式17.32-j10;然后两式相加21.15-j6.786.然后转换成极坐标。 如进行其它运算只需将乘号换成要进行的计算号即可。这里只给出计算结果请同学自己进行练习对比。 5 /40o - 20 /-30o = -13.49 - j 13.2139 = 22.213/135.5929o 5 /40o×20 /-30o = 98.48 - j 17.3648 = 100/10o 5 /40o÷20 /-30o = 0.0855 - j 0.2349 = 0.25/70o

vb编写的计算器代码

Option Explicit Const CC1 = 1E+28, CC2 = 0.000000000000001, CC3 = 100000000000000# Dim Op1, Op2 ' 预先输入操作数。 Dim DecFlag% ' 小数点存在吗? Dim Klast ' 指示上一次按键事件的类型。 Dim OpFlag ' 指示未完成的操作。 Dim Kedt% ' 指示键入状态,0-未操作,1-算过,2-改过Dim MemNum ' 存储器 Dim Temp2 ' Function sqr28(a As V ariant) As V ariant Dim c As Double c = Sqr(a) If c > CC3 Or c < CC2 Then sqr28 = c Else sqr28 = CDec(Sqr(a)) sqr28 = sqr28 - (sqr28 * sqr28 - a) / sqr28 * 0.5 End If End Function Function cur28(a As V ariant) As V ariant Dim t As V ariant, c As Double c = Abs(a) ^ (1 / 3) If c > 1000000000# Or c < 0.000000001 Then cur28 = c * Sgn(a) Else cur28 = CDec(c) * Sgn(a) t = cur28 * cur28 cur28 = cur28 - (cur28 * t - a) / t / 3 End If End Function ' 存入存储器 Private Sub BtMS_Click() If Kedt = 2 Then GetOp1 MemNum = Op1 LabMem.Visible = MemNum <> 0 Kedt = 1 End Sub ' 取出存储器数据 Private Sub BtMr_Click() CancelEntry_Click Op1 = MemNum

VB计算器代码

第 3 章计算器第3 章计算器 3.1 开发任务 在本任务中,我们要分别实现基本算术运算、累加和计算、阶乘计算、三角函数计算、排列组合计算和对数计算等多个子任务。 3.1.1 计算器的实验版本 1. 程序界面设计 (1)新建工程 打开VB开发环境,在工程浏览器窗口中(见图3-1左),将工程名称改为“计算器”(如图3-1中);再将窗体名称改为“frmCalculator”如图3-1右)。 图3-1 改变工程和窗体名称 将窗体文件保存为“frmCalculator.frm”,工程文件保存为“prjCalculator”。 (2)添加控件 在本工程中,我们需要用到下列控件:1个文本框用于输入运算数和输出结果;16个按钮构成计算器键盘,其中10个用于输入10个数字字符,1个用于输入小数点,一个用于触发计算的等号,另外4个用于选择加、减、乘、除运算符。 首先在窗体上部添加一个文本框,默认名称是Text1,调整好大小和位置(如图3-2),并将属性Text的值清空,再将对齐方式Alignment 改成“1 -

Right Justify”右对齐; 图3-2 添加文本框控件 再来制作键盘,第1步,添加第1个按钮。在文本框下方添加一个按钮Command1,将它调整为一个按键般大小,并把Caption属性改成“1”。 第2步,添加第2个按钮。添加外形类似的按钮,用复制的方法即可。不过要注意,在粘贴时VB会询问“已经有一个控件为"Command1 "。创建一个控件数组吗?”(见图3-3),一定要回答“否”。将复制好的按钮Command2的Caption改成2,并移动到Command1的右边。 图3-3 创建控件数组询问对话框 第3步,重复进行粘贴操作,依次制作其它按钮,按图3-4的布局排列。前9个按钮的Caption改成与它们的顺序号相同,Command10的Caption改为“0”,Command11的Caption改为“.”,ommand12的Caption改为“=”,Command13~Command16的Caption依次改为“+”、“-”、“*”、“/”。 图3-4键盘制作 2. 程序代码编写 (1)数字按钮的处理

C++课程设计复数计算器

C++课程设计实验报告 姓名学号班级 合作者学号班级 任课教师时间 教师指定题目复数计算器评定难易级别 A级实验报告成绩

复数计算器 程序功能设计 1.程序功能的总体结构 复数计算器的程序总体功能可设计成如图1所示,可以看出,复数计算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。 2.课程设计要求 (1)一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以反复运算。 (2)可以进行多个操作数的复数运算,输入0+0*i时为止。 (3)编写可以对输入的复数求模的成员函数。 (4)编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括+,-,*三种,参与加减运算实部虚部为一位数。 (5)重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如a+i*b或a+ib这种形式,对复数的输出要考虑实部虚部的正负号,通过判断给出的输出结果。

2.程序设计思想 1)类的封装 程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用一个函数去实现。参考类的定义如下: class CComplex{

private: double Real,Image; public: CComplex(double real=0,double image=0) //构造函数 {Real=real;Image=image;} friend istream&operator>>(istream&is,CComplex&com); //重载输入friend ostream&operator<<(ostream&os,CComplex&com); //重载输出 CComplex operator+(CComplex&com); CComplex operator-(CComplex&com); //减法重载 CComplex operator*(CComplex&com); //乘法重载 CComplex operator/(CComplex&com); //除法重载 int operator==(CComplex&com); int operator!=(CComplex&com); int operator>(CComplex&com); int operator<(CComplex&com); float Module(void); //复数求模 }; (2)设计的任务要求1 在实际应用中,输入复数可能为a+bi, a, bi, -a, -bi, +i. –i. I等形式。重载

VB编写简易计算器(附图)

用VB6.0编写简易计算器 效果图: 废话不多说,直接上步骤 一、创建控件组 1、创建控件组的方法 首先创建一个命令按钮,调整其大小(觉得合适就行),名称为Command1,Caption 属 性为数字 0 ;然后进行“复制”和“粘贴”,当选择“粘贴”时,出现对话框提示已有一个同名控件,询问是否创建控件组,选择“是”后,即创建了一个名为“Command”的控件组。这时,第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并 且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共20个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。

2、各控件组其属性设置如下: 设置效果如下图所示:

二、编写代码 Dim s1 As Single, s2 As Single, ysf As String '定义两个单精度数变量用与存放参与运算的数,一个字符型存放运算符 Private Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text & Command1(Index).Caption '将command1的单击事件与文本框显示的内容连接 End Sub Private Sub Command2_Click() Text1.Text = Text1.Text + "." If (InStr(Text1.Text, ".") = 1) Then'第一位不能为小数 Text1.Text = "" End If If InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点 Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End If End Sub Private Sub Command3_Click() s2 = Val(Text1.Text) '开始加减乘除运算 Select Case ysf Case "+" Text1.Text = s1 + s2 Case "-" Text1.Text = s1 - s2 Case "*" Text1.Text = s1 * s2 Case "/" If s2 = 0 Then MsgBox "分母不能为零!" Text1.Text = "" Else Text1.Text = s1 / s2 End If End Select Text1 = IIf(Left(Text1.Text, 1) = ".", 0 & Text1.Text, Text1.Text) '这个很关键,如果没有这个的话,得出小于1的小数前面没有0 End Sub Private Sub Command4_Click() If Text1.Text = "" Then '文本为空就结束 Exit Sub End If

单片机课程设计——计算器设计

目录 一、设计总绪 (2) 1.1设计思想 (2) 1.2设计说明 (3) 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 (3) 1.4设计目的 (3) 1.5设计要求 (4) 二、设计方案 (5) 2.1硬件电路设计方案 (5) 2.1.1基本结构 (5) 2.1.2系统框架图 (5) 2.1.3工作流程图 (6) 2.1.4单片机主控制模块 (7) 2.2系统功能描述 (9) 三、各模块功能介绍 (10) 3.1键盘输入模块 (10) 3.1.1键盘分布图 (10)

3.1.2工作原理 (11) 3.2运算控制模块 (11) 3.3显示模块 (12) 3.4振荡电路模块 (13) 四、仿真电路 (14) 仿真运行结果 (14) 五、调试过程总结 (17) 附录: (18) 参考文献: (18) 源程序代码 (19) 一、设计总绪 1.1设计思想 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技

术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89c51单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法 此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基于单片机技术的简易计算器的方案,采用具有数据处理能力的中央处理器CPU,随机存储器ROM,多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统——单片机,配以汇编语言编写的执行程序,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功能集成与一个集成电路中,使用起来十分方便。 1.2设计说明 本次课程设计讨论了单片机技术的计算器构思,设计方案,工作原理,主要系统包括单片机80C51,排阻RESPACK—8,开关,六位数码管显示器等,主要组成部分包括:键盘输入模块,运算模块,控制模块,显示模块。通过键盘输入数值,单片机进行运算后在数码管显示出结果。 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 1.4设计目的

CASIO fx-82ES计算器隐藏功能(矩阵、向量、解方程、复数运算等)

大家说看不明白一刚辛苦手打大家分享按shift、9、3、=、=按shift、+、1、,、0、=按分数 线到底大概7~8次按=、AC按左、1 、按次方、=、AC按上、AC 按左2次按DEL 删除1。得到r=1,等等按分数线上下都输入1 按= 再按8次Ans 继续跟着按22次sin 按AC按shift、9、1、=、AC按shift、9、2、=、AC按次方更号次方更号满点按快了会死机如死机则重来大概5组直到后面出现一串英文按DEL 删除所有次方和更号继续按DEL 开始删除 字母删到r 前面按)按=、AC按shift、9、2、=、AC按右删除)输入1 :按2次= 记住2次按MODE、2按ON按MODE 按几次右可以快捷调亮度然后修复计算机按shift、MODE、3 按shift、MODE、8、1按shift、MODE下、4、1搞定哈哈哈哈哈哈ENG就是i如输入8+6i /9+47i后一定要按shift、2、4那是负数指令不按你死定了 注:本次升级目标:从fx-82ES(B版)升级到fx-991ES 在所有操作之前,请先检查计算器屏幕左上角是否有“M”字样。如果有,请按0+shift+RCL(STO)+ M+。如果没有,请继续操作。 所有隐藏模式调出前请先进入异常模式: 注:【】代表注释( )代表第二功能键 首先打开计算器电源(ON) 1. shift 2. + (Pol) 3. 1 4. shift 5. ")" ( , ) 6. 0 7. ) 【前7步最后显示为"Pol(0,1)"】 8. = 9. 狂按分数线,直到按到顶不动为止【似乎是7到8个】 10. 按= (显示Syntax ERROR 不要管它),AC,左 11. 1 12. 幂【在方向键下面,就是X上面有个小白框的键】 13. = 14. AC 15. 向上键 16. AC

VB编写简单计算器程序

Option Explicit Dim LastInput As String * 3 '记录上次按下的按键 Dim Num1 As Double '第一个操作数 Dim Num2 As Double '第二个操作数 Dim OptType As Integer '按下哪一个操作符 Dim Result As Double '表示运算结果 Dim shuzhi As Integer '表示当前采用的shuzhi Dim FirstNum As Boolean '是否是第一个操作数 Sub keyp(keynum As Integer) Dim CHAR As String * 1 CHAR = Chr(keynum) If CHAR = "+" Or keynum = 43 Then Command5(0).Value = True If CHAR = "-" Or keynum = 45 Then Command5(1).Value = True If CHAR = "*" Or keynum = 42 Then Command5(2).Value = True If CHAR = "/" Or keynum = 47 Then Command5(3).Value = True If shuzhi = 2 And CHAR >= "2" And CHAR <= "9" Then keynum = 0 Exit Sub End If If keynum >= 48 And keynum <= 57 Then Command1(keynum - 48).Value = True If keynum = 46 Then Command2.Value = True If UCase(CHAR) = "C" Then Command3.Value = True If keynum = 27 Then Command4.Value = True If keynum = 61 Then Command6.Value = True keynum = 0 End Sub Function angle(ByVal j1 As Integer) As Single angle = j1 If Option1.Value Then angle = j1 * 3.14 / 180 End Function Function ArcSin(ByVal Num As Single) As Single If Num = 1 Then ArcSin = 3.1415926 / 2 ElseIf Num = -1 Then ArcSin = 3.1415926 * 3 / 2 Else ArcSin = Atn(Num / Sqr(-Num * Num + 1)) End If If Option1.Value Then ArcSin = ArcSin * 180 / 3.1415926 End Function Function ArcCos(ByVal Num As Single) As Single If Num = 1 Then ArcCos = 0 ElseIf Num = -1 Then ArcCos = 3.1415926 Else ArcCos = Atn(-Num / Sqr(-Num * Num + 1)) + 2 * Atn(1)

课程设计——复数计算器

2.2类及功能函数设计说明 1、定义类CComplex和User (1)、其中类CComplex中包括: 数据成员: Real, //复数实部 Image; //复数虚部 成员函数: friend istream & operator>>(istream &is,CComplex &com ); //重载输入 friend ostream & operator<<(ostream &os,CComplex &com); //重载输出 CComplex operator+(CComplex &com); //加法重载 CComplex operator-(CComplex &com); //减法重载 CComplex operator*(CComplex &com); //乘法重载 CComplex operator+=(CComplex &com); //加法赋值重载 CComplex operator-=(CComplex &com); //减法赋值重载 CComplex operator*=(CComplex &com); //乘法赋值重载 CComplex operator++(); //自加 CComplex operator--(); //自减 double mod (void); //求复数的模 int operator>(CComplex &com); //比大 int operator<(CComplex &com); //比小 int operator!=(CComplex &com); //不等 int operator==(CComplex &com); //相等(2)、其中类User中包括:

对于复数的运算利用计算器进行非常简单

对于复数的运算利用计算器进行非常简单,下面以SHARP EL-506P型计算器为例说明复数的有关运算。 一、使用方法 1.利用计算器进行复数计算必须要用计算器的度,按DRG键,使计算器显示窗中要有“DEG”标致(表示计算器进行所有带角度的运算均以“度”为单位)。 2.让计算器进入复数运算状态,分别按2ndF 和CPLX,显示窗中有“CPLX”标致,表示计算器只能进行复数的运算,而进行其它计算则是无效的。取消则重复进行即可。进行复数的加减乘除运算时计算器必须处于复数运算状态。 二、计算说明 1.计算器中a、b的分别表示进行复数运算的实部和虑部,进行代数式输入时可以直接按此键。 2.计算器中→rθ、→xy的分别表示进行复数运算的模和角,进行极坐标式输入时必须利用上档键功能进行;同时这两个按键也是代数式和极坐标式转换的功能键。 3.计算器在进行复数运算时均是以代数式形式进行的,就是说在进行极坐标式计算时必须要先化成代数式,计算的结果也是代数式,如果希望得到极坐标式计算完成后也要进行转换。 4.显示结果运算完成后的结果就是代数式且显示的是实部,按b显示虑部,再按a就显示实部,转换成极坐标式后则按a显示模,按b显示角,也可重复显示。 5.在输入带有负号的值时,应先输入数值,再输入负号,输入负号应按+/-键。 三、计算举例 1.代数式化成极坐标式 例如:3 + j 4 = 5 /53.13o 按键步骤:(按键动作用“↓”表示。) 3↓a↓4↓b↓2ndF↓→rθ↓显示模5,b↓显示角53.13o。 2.极坐标式化成代数式 例如:15 /-50o = 9.64- j11.49 按键步骤: 15↓a↓50↓+/-↓b↓2ndF↓→xy↓显示实部9.64,b↓显示虑部-11.49。 3.代数式的加减乘除 例如:( 5 - j 4 ) × ( 6 + j 3 ) = 42 - j 9 = 42.953/-12.095o 按键步骤: 5↓a↓4↓+/-↓b↓×↓6↓a↓3↓b↓=↓显示实部42 b↓显示虑部–9。如要极坐标式只需继续进行转换即可。2ndF ↓→rθ↓显示模42.953,b↓显示角-12.095o。 如进行其它运算只需将乘号换成要进行的计算号即可。这里只给出计算结果请同学自己进行练习对比。实际计算时可取小数点后两位。 ( 5 - j 4 ) + ( 6 + j 3 ) = 11 - j 1 = 11.045 /-5.1944o ( 5 - j 4 ) - ( 6 + j 3 ) = -1 - j 7 = 7.071 /-98.13o ( 5 - j 4 ) ÷ ( 6 + j 3 ) = 0.4 - j 0.8667 = 0.9545 /-65.2249o 4.极坐标式的加减乘除 例如: 5 /40o + 20 /-30o = 21.15 - j 6.786 = 22.213/-17.788o 按键步骤: 5↓a↓40↓b↓2ndF↓→xy ↓+ 20↓a↓30↓+/-↓b↓2ndF↓→xy↓=↓显示实部21.15,b↓显示虑部-6.786。再转换成极坐标式:2ndF↓→rθ↓显示模22.213,b↓显示角-17.788o。 如进行其它运算只需将乘号换成要进行的计算号即可。这里只给出计算结果请同学自己进行练习对比。

相关文档
最新文档