2道初级vb题,求速解,最好有多种方法!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:09:57
编一应用程序根据上网时间计算上网费用,计算方法如下:
25元基数 ≤10小时
每小时2元 10<且≤50小时
每小时1.5元 50<且≤100小时
每小时1元 >100小时
同时为了鼓励多上网,每月收费最多不超过300元。
要求:
1.⑴使用InputBox( )函数输入上网时间;当输入的上网时间为-1时不再继续计算(提示:用循环结构实现)。
⑵计算出的上网费用显示在MsgBox对话框中。
⑶单击“结束”按钮,结束程序。
2.编一VB应用程序。要求如下:
⑴ 随机产生20个学生的VB程序设计课程的成绩,存入一维数组中,并显示结果;
⑵ 求这20个学生的最高分、最低分和平均分,并显示结果;
⑶ 统计各分数段人数,即0~59、60~69、70~79、80~89、90~100,并显示结果;
⑷ 编写可对一组数据进行排序的自定义函数或过程。调用该自定义函数或过程将分数按由高到低的次序排列并输出。
⑸ 窗体界面自行设计。

楼上,上网费用的计算有问题呢,请检查一下吧,而且题意要求是用循环的

第一题:上网费计算的

em 窗体准备两个按钮,使用默认名称
Private Sub Form_Activate()
Command1.Caption = "计算"
Command2.Caption = "结束"
End Sub

Rem 计算上网费用,也要考虑输入不大于0的数时,不能收人上网费啊,不然都成抢钱了哦
Private Sub Command1_Click()
Dim ntime, fee As Integer
Do
ntime = Val(InputBox("输入上网时间,输入-1结束计算:", "上网时间(单位:小时)", 15))

If ntime = -1 Then Exit Do '输入-1,退出Do循环

If ntime <= 0 Then
fee = 0
Else
Select Case ntime
Case Is <= 10
fee = 25
Case 10 To 50
fee = 25 + (ntime - 10) * 2
Case 50 To 100
fee = 25 + (50 - 10) * 2 + (ntime - 50) * 1.5
Case Is > 100
fee = 25 + (50 - 10) * 2 + (100 - 50) * 1.5 + (ntime - 100) * 1
End Select
End If
If fee >= 300 Then fee = 300
msg = MsgBox(fee, vbOKOnly, "上网费用(单位:元)")
Loop