VB期末上机模拟题解析.docx
- 文档编号:4417533
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:45
- 大小:143.13KB
VB期末上机模拟题解析.docx
《VB期末上机模拟题解析.docx》由会员分享,可在线阅读,更多相关《VB期末上机模拟题解析.docx(45页珍藏版)》请在冰豆网上搜索。
VB期末上机模拟题解析
二、程序设计题
(一)说明
程序设计题主要是根据题目的要求先进行界面设计(参考Design.exe程序的运行结果),再设计事件代码。
完成后将工程文件以Design.vbp,窗体文件以Design.frm保存到考生目录下。
注:
以默认方式命名控件,以从左至右,从上向下的顺序拖放控件。
例如有4个CommandButton类型的控件,命名按照如下方式:
Command1Command2
Command3Command4
(二)程序设计题
1、新建一个工程,完成“加法器”程序的设计。
具体要求如下:
1.窗体的标题为“加法器“,固定边框。
2.在窗体上从上到下依次引入TEXT1、TEXT2、TEXT3三个文本框,三个文本框的对齐方式均为右对齐。
3.从上面两个文本框用于输入加数,要求不接受非数字键。
4.下面一个文本框用于显示和,它不能进行编辑操作。
5.单击“=“按钮(COMMAND1),将两个加数的各显示在下面一个文本框中。
6.单击“清空“按钮(COMMAND2),三个文本框内容都被清空,同时第一个文本框获得焦点。
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then'判断为非数字键
KeyAscii=0'改变键入文本框的显示为空字符,即不显示
EndIf
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfNotIsNumeric(Chr(KeyAscii))Then'或IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
EndSub
PrivateSubForm_Load()
Form1.Caption="加法器"
Text1.Alignment=1
Text2.Alignment=1
Text3.Alignment=1
Text3.Locked=True
Command1.Caption="="
Command2.Caption="清空"
EndSub
2、新建一个工程,完成“健康称”程序的设计。
具体要求如下:
1.窗体的标题为“健康称”,固定边框。
2.窗体的左边有两个标签,,Label1的标题为“身高”、Label2的标题为“体重”;它们的旁边分别有两个文本框,Text1用于输入身高、Text2用于输入体重;在文本框的右边有两个标签,Label3的标题为“cm”、Label4的标题为“kg”。
3.将两个文本框文字对齐方式均设置为右对齐,最多接受3个字符。
4.两个文本框均不接受非数字键。
5.单击“健康状况”按钮(Command1),根据计算公式将相应的提示信息显示在标签Label5中。
计算公式为:
标准体重=身高-105;体重高于标准体重*1.1为偏胖,提示“偏胖,注意节食”;体重低于标准体重*0.9为偏瘦,提示“偏瘦,增加营养”;其他为正常,提示“正常,继续保持”。
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0
MsgBox"只能输入数字"
EndIf
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0
MsgBox"只能输入数字"
EndIf
EndSub
PrivateSubForm_Load()
Form1.Caption="健康称"
Text1.Text=""
Text2.Text=""
Text1.Alignment=1
Text2.Alignment=1
Text1.MaxLength=3
Text2.MaxLength=3
Label1.Caption="身高"
Label2.Caption="体重"
Label3.Caption="cm"
Label4.Caption="kg"
Command1.Caption="健康状况"
Label5.Caption=""
Label5.FontSize=16
Label5.FontName="楷体"
Label5.FontBold=True
Label5.ForeColor=vbBlue
Label5.AutoSize=True
EndSub
3、新建一个工程,完成应用程序的设计,具体要求如下:
1.按照下图所示在窗体上放置按钮和控件。
2.取消窗体的最大化和最小化按钮。
3.当单击命令按钮时,实现窗口放大功能,放大后再单击该按钮则还原窗口。
4.同时可使用热键Alt+L和Alt+B实现窗口放大或还原。
5.当窗体大小改变后,总是让命令按钮位于窗口的中央。
PrivateSubForm_Load()
Command1.Caption="最大化(&L)"
Command1.Left=(Form1.ScaleWidth-Command1.Width)/2
Command1.Top=(Form1.ScaleHeight-Command1.Height)/2
EndSub
PrivateSubCommand1_Click()
IfCommand1.Caption="最大化(&L)"Then
Form1.WindowState=2
Command1.Caption="还原(&B)"
Else
Form1.WindowState=0
Command1.Caption="最大化(&L)"
EndIf
Command1.Left=(Form1.ScaleWidth-Command1.Width)/2
Command1.Top=(Form1.ScaleHeight-Command1.Height)/2
EndSub
4、新建一个工程,完成“判断质数”应用程序的设计。
具体要求如下:
1.按照下图所示在窗体上放置按钮和控件。
2.在"请输入"文本框中输入一个数字后,单击判断,可在"结果为"显示判断结果。
3.若输入的不是数字,则弹出消息框,提示信息是"输入的不是数字,无法计算"。
PrivateSubCommand1_Click()
DimnAsInteger
IfIsNumeric(Text1.Text)Then
n=Val(Text1.Text)
Ifn<=1Then
Label2.Caption="结果为:
"&n&"不是质数"
Else
Fori=2ToSqr(n)
IfnModi=0ThenExitFor
Nexti
Ifi>Sqr(n)Then
Label2.Caption="结果为:
"&n&"是质数"
Else
Label2.Caption="结果为:
"&n&"不是质数"
EndIf
EndIf
Else
MsgBox"输入的不是数字,无法计算"
EndIf
EndSub
5、新建一个工程,完成“计算平均成绩”应用程序的设计。
具体要求如下:
1.按照下图所示在窗体上放置按钮和控件。
2.在输入或修改单科成绩的同时计算平均分,即在"高数","英语"和"计算机"文本框内容发生改变时,就要立即重新计算平均分,并将计算结果在平均成绩文本框中显示。
3.“平均成绩”文本框不允许编辑,即不能手工修改。
4.各单科成绩框中只能输入数字,不能输入字母或汉字,否则不显示字母并发出错误提示音。
PrivateSubForm_Load()
Form1.Caption="计算平均成绩"
Text4.Locked=True
EndSub
PrivateSubText1_Change()
Sum=Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text)
Text4.Text=Sum/3
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then'屏蔽非数字键,“0”的Ascii值是48,“9”的Ascii值是57
KeyAscii=0
Beep'发出错误提示音
EndIf
EndSub
PrivateSubText2_Change()
Text4.Text=Sum/3
EndSub
PrivateSubText3_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0
Beep
EndIf
EndSub
Sum=Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text)
Text4.Text=Sum/3
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57Then
KeyAscii=0
Beep
EndIf
EndSub
PrivateSubText3_Change()
Sum=Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text)
6、新建一个工程,完成“收款计算”程序的设计。
具体要求如下:
1.按照下图所示在窗体上放置按钮和控件。
2.窗体上有三个文本框,上面两个分别用于输入商品单价和商品数量,单击“计算”,将应付款显示在下面一个文本框中。
3.最下面一个文本框不能直接输入。
4.单击“清空”按钮,三个文本框内容被清空,同时第一个文本框获得焦点。
IfText1.Text=""Then
MsgBox"请输入单价!
",vbExclamation,"警告"
Text1.SetFocus
Else
IfText2.Text=""Then
Text3.Text=CStr(Val(Text1.Text)*1)'CStr()与Trim(Str())效果等价
Text2.Text=1
Else
Text3.Text=CStr(Val(Text1.Text)*Val(Text2.Text))
PrivateSubForm_Load()
Form1.Caption="收款计算"
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text3.Locked=True
EndSub
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
EndSub
7、新建一个工程,完成“编辑”程序的设计。
具体要求如下:
1.窗体的标题为“编辑”。
2.窗体中有以下控件:
一个文本框、四个命令按钮。
3.完成以下功能:
文本框实现文本编辑功能,单击按钮实现相应功能。
PrivateSubCommand1_Click()
Clipboard.Clear'清除剪贴板中的内容'
Clipboard.SetText(Text1.SelText)'将选中文本送入剪贴板'
PrivateSubForm_Load()
Form1.Caption="编辑"
Text1.Text=""
EndSub
PrivateSubText1_Change()
EndSub
Text1.SetFocus
EndSub
PrivateSubCommand2_Click()
Clipboard.Clear
Clipboard.SetText(Text1.SelText)
Text1.SelText=""'清空文本框内被选中的文本'
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
Text1.SelText=Clipboard.GetText'将剪贴板上的文本复制到指定文本框的光标处'
Text1.SetFocus
EndSub
PrivateSubCommand4_Click()
Text1.SelText=""'清空文本框内被选中的文本'
Text1.SetFocus
EndSub
8、新建一个工程,完成“密码检验”程序的设计。
具体要求如下:
1.窗体的标题为“密码检验”,固定边框。
2.窗体上有一个标签Label1,标题为“输入密码后按回车提示:
密码1234567”。
3.标签Label1旁边有一个文本框Text1,用于输入密码。
文本框中输入的字符显示为*,并且最多可以接受7个字符。
4.窗体的下半部有一个标签控件Label2,用来显示密码输入后的提示信息。
它的文字对齐方式为居中对齐,文字颜色为红色,Font设置为:
宋体、常规、三号;标签的大小随字体自动调整,并设置为不可见。
5.当在文本框中输入密码“1234567”,并按回车后,标签Label2显示为“欢迎光临!
”;如果输入的密码与“1234567”不吻合,标签Label2显示为“密码不符,请再输入一遍!
”,同时清空文本框的内容,允许再输入一遍;如果第二次输入的密码仍然与“1234567”不吻合,标签Label2显示为“非法用户,请退出程序!
”,文本框就不能使用了。
Ifn<2Then
Label2.Caption="密码不符,请再输入一遍!
"
Label2.Visible=True
Text1.Text=""
Else
Label2.Caption="非法用户,请退出程序!
"
Text1.Text=""
Text1.Enabled=False
EndIf
EndIf
EndIf
EndSub
PrivateSubForm_Load()
Form1.Caption="密码检验"
Form1.BorderStyle=1
Label2.Visible=False
Label2.AutoSize=True
Label2.ForeColor=vbRed
Text1.MaxLength=7
Text1.PasswordChar="*"
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
StaticnAsInteger'统计第几次输入错误密码
IfKeyAscii=13Then'按回车键后进行密码检验
IfText1.Text="1234567"Then
Label2.Caption="欢迎光临!
"
Label2.Visible=True
Text1.Enabled=False
Else
n=n+1
9、
新建一个工程,完成应用程序的设计。
具体要求如下:
1.按照下图所示在窗体上放置按钮和控件。
2.当单击"确定"按钮后,首先比较"用户名"和"原密码"是否一致,若一致且都为"admin",则继续执行步骤3;否则弹出消息框,提示用户出错,并让用户重新输入;
3.比较“新密码(N)”和“新密码(S)”,若两者一致,弹出密码修改成功消息框,程序终止执行。
否则弹出错误消息,并让用户重新输入。
4.当单击“取消”按钮时,程序终止执行。
5.当按"Tab"键时,保证按照“用户名”、“原密码”、“新密码(N)”、“新密码(S)”、“确定”按钮和“取消”按钮顺序访问各控件。
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Text2.PasswordChar="*"
Text3.PasswordChar="*"
Text4.PasswordChar="*"
EndSub
PrivateSubCommand1_Click()
IfText1.Text=Text2.TextAndText1.Text="admin"Then
IfText3.Text=Text4.TextThen
MsgBox"密码修改成功!
",,"修改密码"
End
Else
MsgBox"新密码有误,请重试!
",,"修改密码"
EndIf
Else
MsgBox"用户名或密码无效,请重试!
",,"修改密码"
EndIf
Text1.SetFocus
EndSub
10、新建一个工程,完成应用程序的设计。
具体要求如下:
1.按照下图所示在窗体上放置控件。
建立一个文本框和两个命令按钮。
Nextj
Nexti
'输出
Form1.Cls
Fori=1Ton
Printa(i)
Nexti
Command1.Enabled=False
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Text1.Text=""
Command1.Caption="开始"
Command2.Caption="结束"
EndSub
2.在文本框中输入内容,单击“开始”后,把文本框中的字符按从小到大排列输出在窗体上,按结束退出应用程序。
PrivateSubCommand1_Click()
Dima()AsString*1,iAsInteger,nAsInteger,tAsString
n=Len(Text1)
ReDima(n)
'分解字符串
Fori=1Ton
a(i)=Mid(Text1,i,1)
Nexti
'排序
Fori=1Ton-1
Forj=i+1Ton
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 期末 上机 模拟 题解