科学计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科学计算器

1、基本功能的设计

实现了一个功能强大的科学计算器——不仅实现了标准的加减乘除运算,而其还可以进行三角函数、对数、逻辑等复杂运算。使用者可以通过按钮和菜单转换计算器的类型。

本例的计算器具有如下功能。

①科学计算器中,BackSpance、CE、C和运算符号+、-、*、/、.、-/+、=以及标准型计算器的设计。

②科学型角度弧度的设计。

③科学计算器中,x^2,x^3,x^y,1/x,n!,Log,In按键,及各进制转之间的相互转换的设计。

④科学计算器中,sin,cos,tan,dms,F-E,Exp、pi、Dat、s、Sum等按钮以sin/cos/tan计算时角度和弧度的转换的设计。

⑤科学行计算器中,Mod,Not,And,Xor,Int,Or,lsh,exit按钮。

⑥标准型菜单部分(查看菜单标准型、科学型。帮助菜单中包含关于(about)及标准型和科学型的数字键和科学型的各进制转换的设计。

2、编成流程

3、详细设计

(1)Animal1窗体

Animal1窗体是标准的计算器操作界面。

Dim dflag As Integer

Dim i As Integer

Dim opnre As Integer

Dim prev As Double

Dim oflag As Integer

Dim ind As Integer

Private Sub Command1_Click(Index As Integer)

If ind = 4 Then

prev = 0

Text1.Caption = " "

ind = 0

End If

opnre = 0

If oflag = 0 Then

Text1.Caption = " "

End If

oflag = 1

If Command1(Index).Caption <> "." Then

If Text1.Caption <> " 0" Then

Text1.Caption = Text1.Caption & Command1(Index).Caption Else

Text1.Caption = " " & Command1(Index).Caption

End If

Else

If dflag = 0 Then

Text1.Caption = Text1.Caption & "."

dflag = 1

Else

MsgBox ("ILLEGAL SAIRAM")

End If

End If

End Sub

Private Sub Command2_Click(Index As Integer)

If opnre = 0 Or Index = 4 Then

If ind = 0 Then

prev = prev + Val(Text1.Caption)

ElseIf ind = 1 Then

prev = prev - Val(Text1.Caption)

ElseIf ind = 2 Then

If Val(Text1.Caption) = 0 Then

MsgBox ("SORRY DIVIDE ZERO")

Exit Sub

Else

prev = prev / Val(Text1.Caption)

End If

ElseIf ind = 3 Then

prev = prev * Val(Text1.Caption)

End If

Text1.Caption = Str(prev)

oflag = 0

End If

opnre = 1

ind = Index

dflag = 0

End Sub

Private Sub Command3_Click()

Text1.Caption = " 0"

End Sub

Private Sub Command4_Click()

dflag = 0

prev = 0

oflag = 0

ind = 0

opnre = 0

Text1.Caption = " 0"

End Sub

Private Sub Command5_Click()

Unload Me

scientific.Show

End Sub

Private Sub ecopy_Click()

Clipboard.Clear

Clipboard.SetText Text1.Caption

End Sub

Private Sub ecut_Click()

Clipboard.Clear

Clipboard.SetText Text1.Caption

Text1.Caption = ""

End Sub

Private Sub eexit_Click()

Unload Me

End Sub

Private Sub epaste_Click()

Text1.Caption = ""

Text1.Caption = Clipboard.GetText() End Sub

Private Sub eselectall_Click()

Clipboard.Clear

Clipboard.SetText Text1.Caption

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = Asc(".") Then

i = 10

Command1_Click (i)

Beep

ElseIf KeyAscii = Asc("0") Then

i = 0

Command1_Click (i)

Beep

ElseIf KeyAscii = Asc("1") Then

i = 1

Command1_Click (i)

Beep

ElseIf KeyAscii = Asc("2") Then

i = 2

Command1_Click (i)

Beep

ElseIf KeyAscii = Asc("3") Then

i = 3

Command1_Click (i)

Beep

ElseIf KeyAscii = Asc("4") Then

i = 4

Command1_Click (i)

相关文档
最新文档