本人平时在进行一些天文计算中,经常要进行球面三角函数的运算,而市面上所售计算器上针对三角函数的计算又不完全,大都没有“余切”和“反余切”的按键,而且又没有角度制和弧度制的选择,往往要进行换算,比较麻烦。所以就本着“自己动手,丰衣足食”的精神,用VB语言编写了这个适用于WINDOWS平台的简单的专门的完整的三角函数计算器,以便使用。
一、三角函数计算器控件布局:
二、三角函数计算器软件代码:
Dim
numfirst, num, numrad As Double
Private
Sub Form_Load()
Option1.Value = True
End
Sub
Private
Sub Option1_Click()
txtout.Text = "": txtin.Text = ""
End
Sub
Private
Sub Option2_Click()
txtout.Text = "": txtin.Text = ""
End
Sub
Private
Sub txtin_Change()
txtout.Text = ""
numfirst =
Val(txtin.Text)
If
Option1.Value = True Then
num =
numfirst * (Atn(1) / 45)
End
If
If
Option2.Value = True Then
num =
numfirst
End
If
End
Sub
Private
Sub CMDCLS_Click()
txtin.Text
= "": txtout.Text = ""
End
Sub
Private
Sub CMDEXIT_Click()
End
End
Sub
Private
Sub CMDSIN_Click()
txtout.Text = Sin(num)
End
Sub
Private
Sub CMDCOS_Click()
txtout.Text = Cos(num)
End
Sub
Private
Sub CMDTAN_Click()
txtout.Text = Tan(num)
End
Sub
Private
Sub CMDCOT_Click()
txtout.Text = 1 / Tan(num)
End
Sub
Private
Sub CMDATAN_Click()
numrad =
Atn(numfirst)
If
Option1.Value = True Then
txtout.Text = numrad / (Atn(1) / 45)
Else:
txtout.Text = numrad
End
If
End
Sub
Private
Sub CMDACOT_Click()
numrad =
Atn(1 / numfirst)
If
Option1.Value = True Then
txtout.Text = numrad / (Atn(1) / 45)
Else:
txtout.Text = numrad
End
If
End
Sub
Private
Sub CMDASIN_Click()
If
numfirst < -1 Or numfirst > 1
Then
MsgBox
"请输入大于等于-1并小于等于1的数值", 48, "警告窗口"
txtin.Text
= "": txtout.Text = ""
ElseIf
numfirst = 1 Or numfirst = -1 Then
numrad = Sgn(numfirst) * (4 * Atn(1)) / 2
Else
numrad = Atn(numfirst / Sqr(-numfirst * numfirst + 1))
End
If
If
Option1.Value = True Then
txtout.Text = numrad / (Atn(1) / 45)
Else:
txtout.Text = numrad
End
If
End
Sub
Private
Sub CMDACOS_Click()
If
numfirst < -1 Or numfirst > 1
Then
MsgBox
"请输入大于等于-1并小于等于1的数值", 48, "警告窗口"
txtin.Text
= "": txtout.Text = ""
ElseIf
numfirst = 1 Then
numrad = 0
ElseIf numfirst = -1 Then
numrad = 4 * Atn(1)
Else
numrad = Atn(-numfirst / Sqr(-numfirst * numfirst + 1)) + 2 *
Atn(1)
End
If
If
Option1.Value = True Then
txtout.Text = numrad / (Atn(1) / 45)
Else:
txtout.Text = numrad
End
If
End
Sub