文档库 最新最全的文档下载
当前位置:文档库 › VB选修课小程序 含代码

VB选修课小程序 含代码

VB选修课小程序 含代码
VB选修课小程序 含代码

简单介绍

程序1:

设计了一个解方程的程序,分为一元一次方程PX+Q=0和一元二次方程AX^2+BX+C=0,用户输入系数PQABC的值,然后点击“计算”显示方程的解。

1)通过两个单选按钮和一个frame控件,用户可以选择是要计算一元一次方程还是一元二

次方程,并且切换PX+Q=0和AX^2+BX+C=0的显示。

2)五个空框(文本框)——其中三个用于用户输入,两个用于方程解的显示。

3)三个按钮——“计算”、“清空”、“退出”。

4)控件的显示和隐藏:通过“____.Visible = True ”显示____控件;“_____.Visible = False ”

隐藏_____控件。

5)设置控件caption属性的语句:“A.Caption = B.Caption ”将前者A的标题设置为后者

B的标题。

程序2:

设计了一个判断素数的小程序,用户输入一个数值,然后点击“点我判断是否为素数”,将显示出该数是素数或者不是素数。

1)一个空框(文本框)——用于用户输入。

2)两个标签——一个显示“输入数值:”,另一个永远显示用户输入的数是素数或者不是

素数。

3)一个按钮——“点我判断是否为素数”。

设计过程中用了if语句、函数、带默认值的函数参数、函数参数、数组等。

ps: 设计过程中,联系之前学习的C++有关知识,借阅了“Visual Basic程序设计方法”并且借助网络请教了高手,才做出这两个程序,望老师见谅。

附程序代码:

Private Sub Command1_Click()

Dim abc() As String '定义存储方程的两个根的数组

If Option1.Value = True Then '如果计算一元二次方程

abc = Axbc(Val(Text3.Text), Val(Text2.Text), Val(Text1.Text)) '参数顺序为C、B、A Text4.Text = abc(0) '返回方程第一个根

Text5.Text = abc(1) '返回方程第二个根

Else '否则计算一元一次方程

abc = Axbc(Val(Text2.Text), Val(Text1.Text)) '参数顺序为C=Q、B=P

Text4.Text = abc(0) '返回一元一次方程的根。

End If

End Sub

Private Sub Command2_Click() '清空所有文本框。

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text4.Text = ""

Text5.Text = ""

End Sub

Private Sub Command3_Click() '退出程序

Unload Me

End Sub

Private Sub Option1_Click() '点击单选框时发生

If Option1.Value = True Then '如果option1单选框被用户选择

Frame1.Caption = Option1.Caption '将frame1的标题设置为option1的标题

Label1.Caption = " A X^2 + B X + C = 0" '显示一元二次方程的一般形式Text3.Visible = True '显示Text3控件

Label3.Visible = True '显示Label3控件

Text5.Visible = True '显示Text5控件

Call Command2_Click '调用按钮2点击事件清空所有文本框

End If

End Sub

Private Sub Option2_Click()

If Option2.Value = True Then '如果option2单选框被用户选择

Frame1.Caption = Option2.Caption '将frame1的标题设置为option2的标题

Label1.Caption = " P X + Q = 0" '显示一元一次方程的一般形式

Text3.Visible = False '隐藏Text3控件

Label3.Visible = False '隐藏Label3控件

Text5.Visible = False '隐藏Text5控件

Call Command2_Click '调用按钮2点击事件清空所有文本框

End If

End Sub

Public Function Axbc(c As Double, b As Double, Optional a As Double = 0) As String() '返回一个string数组,它存储方程的两个根。

Dim Gen(1) As String '定义要存储方程的两个根的数组。

If a = 0 Then '如果A为零,作一元一次方程

Gen(0) = -c / b '一元一次方程的根

Gen(1) = Gen(0) '一元一次方程的根

Axbc = Gen '函数返回存储根的数组

Exit Function '退出函数

End If

If (b * b - 4 * a * c) > 0 Then '一元二次方程判别式的三种情况

Gen(0) = (-b + Sqr(b * b - 4 * a * c)) / (2 * a)

Gen(1) = (-b - Sqr(b * b - 4 * a * c)) / (2 * a)

ElseIf (b * b - 4 * a * c) = 0 Then

Gen(0) = (-b + Sqr(b * b - 4 * a * c)) / (2 * a)

Gen(1) = Gen(0)

ElseIf (b * b - 4 * a * c) < 0 Then

Gen(0) = "该方程无实根!"

Gen(1) = "该方程无实根!"

End If

Axbc = Gen

End Function

Private Sub command1_click()

Dim n As Integer, b As Boolean

n = Val(Text1.Text)

b = sushu(n)

If b Then

Label2.Caption = Text1.Text + "是素数。"

Else

Label2.Caption = Text1.Text + "不是素数。"

End If

End Sub

Public Function sushu(ByVal x%) As Boolean

Dim m As Integer

For m = 2 To Int(Sqr(x))

If (x Mod m) = 0 Then sushu = False

Exit Function Next m sushu = True End Function

相关文档