VB实验三选择结构程序设计(伟奇)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档