VB实验三选择结构程序设计(伟奇)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
学院:专业:年级:
姓名:学号:实验室号:_______ 计算机号:
实验日期:年月日指导教师签字:成绩:
报告退发(订正、重做)
实验三、选择结构程序设计
一、实验目的
1、掌握If语句的使用。
2、掌握Select Case语句的使用及其与If语句的区别。
二、实验内容
1、请编一程序(程序界面如图3-1),用于根据输入的学生成绩查询对应的奖励情况,条件如下:三门总分不低于270分(含270),特等奖;三门总分240分(含240分)~270分(不含270分),优秀奖;总分低于240分,但某一单科成绩不低于95分,特别奖。
(a)(b)
图3-1
2、对任意输入的三个数按从小到大的顺序显示出来,运行结果参考图3-2。要求:程序中不得使用循环结构和转向语句;掌握两个数交换的方法。
图3-2
3、简单计算器的实现(界面参考图3-3a)。要求:使用Select Case语句和If语句;能进行+、-、*、/、\和Mod六种运算;有基本的数据合法性和运算符合法性检验报错能力(如图3-3b和图3-3c)。
(a)
(b)
(c)
图3-3
三、实验环境
硬件:PC 机
软件:Windows 操作系统;V isual Basic 6.0
四、实验步骤
1、(题目要求见内容部分,略) A 、界面设计: 1) 布局设计:按下图布局在主窗体Form1上放置三个标签(Label1、Label2和Label3),
四个文本框(Text1、Text2和Text3)和一个命令按钮(Command1)。
2) 按下表设置各对象属性。
3) 双击Command1,打开代码窗口编写代码。 B 、代码设计:
Private Sub Command1_Click()
' 变量声明:四个整型变量,分别存放三科成绩和总成绩。
Dim intScore1 As Integer, intScore2 As Integer, intScore3 As Integer
Dim intSum As Integer
' 接受输入,将三个文本框中的成绩分别转换成数值型数据,存入对应的变量中。
intScore1 = CInt (Text1.Text)
intScore2 = CInt (Text2.Text)
intScore3 = CInt (Text3.Text)
intSum = intScore1 + intScore2 + intScore3
' 输出总分
Label3.Caption = intSum
' 开始判断:总分>= 270吗?是,则用MsgBox弹出“获得特等奖”的通知。
If intSum >= 270 Then
MsgBox "您获得了特等奖!", , "获奖通知"
' 否则,继续判断:总分>=240吗?是,则通知“获得优秀奖”。
ElseIf intSum >= 240 Then
MsgBox "您获得了优秀奖。", , "获奖通知"
' 不是,继续判断:存在任意单科成绩>=95吗?是,则通知“获得特别奖”。
ElseIf (intScore1 >= 95) Or (intScore2 >= 95) Or (intScore3 >= 95) Then
MsgBox "您获得了特别奖。", , "获奖通知"
Else
MsgBox "您未获奖。", , "获奖通知"
End if
' 鼓励归并的获奖通知输出*。
End Sub
2、(题略)
A、界面设计:
1)按下图布局在主窗体frmSort上画出各所需控件。
2)属性设置(列表):
B、代码设计:
Private Sub cmdSort_Click()
' 声明3个整型变量,分别存放最小值、中间值和最大值。
Dim intMin%, intMid%, intMax
' 声明1个整形临时变量,用于交换过程。
Dim intTemp%
' 接受输入,未比较前不妨假定X intMin = CInt (txtX.Text) intMid = CInt (txtY.Text) intMax = CInt(txtZ.Text) ' 比较前两个数,小的放入intMin,大的放入intMid。 If intMin > intMid then ' intMin中的数比intMid中的还大,开始交换。 intTemp = intMin intMin = intMid intMid = intTemp End If ' intMid中已是前两数中较大者,与第三个数比较,确定大者(最大数)后放入intMax。 If intMid > intMax then intTemp = intMid intMid = intMax intMax = intTemp End If ' 现在intMin和intMid中的数都比intMax中的小,但哪个更小?还需再次比较。 If intMin > intMid Then intTemp = intMin intMin = intMid intMid = intTemp End If ' 比较结束,输出 txtMin.Text = CStr (intMin) txtMid.Text = CStr (intMid) txtMax.Text = CStr (intMax) ' 引导学生考虑更通用的代码:直接以字符串形式排序,并考虑更多个数的排序。 ' 为下章的循环排序做铺垫性思考。 End Sub