visual basic程序设计教程第四版答案(刘炳文)
VB编程:编写程序,把十进制数转换为2-16任意进制的字符串。
解:Visual Basic 提供了Hex$ 和 Oct$函数,可以把一个十进制数分别转换为十六进制数和八进制数,但没有提供其它进制转换的函数。为了把一个十进制数d转换为r进制的数,通常采取的方法是:除r取余,逆序输出。即把d连续除以r取余数,直到商等于0为止,将所求得的余数放在一个数组中,按相反的顺序得到的结果,最后得到的余数是转换后的最高位。
在窗体上画三个标签和三个文本框,如图所示。
编写程序如下:
Private Sub Form_Click()
Dim Dec As Integer, Base As Integer
Dim Decr(30) As Integer
Dim strDecR As String * 30
Dim strBase As String * 16
Dim b As Integer, n As Integer
strBase = "0123456789ABCDE"
Dec = Val(Text1.Text)
Base = Val(Text2.Text)
If Base < 2 Or Base > 16 Then
res = MsgBox("进制超出范围", vbRetryCancel)
If res = vbRetry Then
Text1.Text = ""
Text1.SetFocus
Else
End
End If
End If
n = 0
Do While Dec <> 0
Decr(n) = Dec Mod Base
Dec = Dec \ Base
n = n + 1
Loop
strDecR = ""
n = n - 1
Do While n >= 0
b = Decr(n)
strDecR = RTrim(strDecR) + Mid(strBase, b + 1, 1)
n = n - 1
Loop
Label3.Caption = Text1.Text & " 转换为 " & Text2.Text & " 进制后为: "
Text3.Text = strDecR
End Sub
Private Sub Form_Load()
Label1.Caption = "十进制数"
Label2.Caption = "进制"
Label3.Caption = "以下是转换结果:"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
运行此源程序,分别输入要转换的十进制数和要转换的进制,如第一个文本框输入32456,第二个进制框输入16,鼠标点击窗体,即可以在第三个文本框中输出转换后的数,7EC8
*********************************
新世纪计算机基础教育丛书 丛书主编:谭浩强
Visual Basic 程序设计教程 题解与上机指导(第四版) 刘炳文 编著
来源:visual basic程序设计教程第四版答案(刘炳文)
本文链接:http://www.wb98.com/vb1/post/vb_7.14.html
本站文章搜索: