VB设计习题含答案.docx
- 文档编号:30531115
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:21
- 大小:413.71KB
VB设计习题含答案.docx
《VB设计习题含答案.docx》由会员分享,可在线阅读,更多相关《VB设计习题含答案.docx(21页珍藏版)》请在冰豆网上搜索。
VB设计习题含答案
程序设计作业
2012年6月8日
4-1)设计一个计算购书价程序,界面如图所示。
要求:
1)界面上的文字全部为宋体五号字
2)按图示给文本框取名。
为“计算总价(C)”和“退出(X)”按钮设访问键
3)编写代码,使得运行时焦点定位在DJ文本框中,输入单价后,按Tab键可输入数量。
在输入单价和数量后,点击“计算总价(C)”按钮,将计算出的总价钱,先是在文本框ZJ中,单击“退出(X)”按钮结束运行。
运行时,计算出的总价为只读,用户不能在界面上修改计算出的总价,且焦点不能定位在ZJ文本框中。
提示:
先将文本框中的内容使用Val函数转换后再进行计算。
4)将ZJ文本框改换成标签,将标签的BorderStyle属性设置为1-FixedSingle,用标签输出计算结果。
文本框DJ
文本框SJ
文本框ZJ
源程序:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,dAsSingle
a=Val(DJ.Text)
b=Val(SJ.Text)
d=a*b
ZJ=Format(d,"0.00")
EndSub
PrivateSubCommand2_Click()
End
EndSub
截图:
(4-2)设计一个收款计算程序,界面如图所示。
要求:
1)三个输入文本框依次取名为T1、T2、T3,应付款文本框取名为TRESULT。
2)运行时焦点在折扣一栏,输入折扣后,按Tab键可输入单价,再按Tab键可输入数量。
3)单击“计算”按钮计算应付款,应付款内容为只读。
4)单击“清除”按钮或“ESC”键清除应付款内容,
并将焦点定位在“折扣”一栏,选中“折扣”中的内容,以便修改。
提示:
使用以下语句定位焦点并选中文本
T3.SetFocus
T3.SelStart=0
T3.SelLength=Len(T3.Text)
5)单击“退出”按钮结束执行。
源程序:
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,cAsSingle,dAsSingle
a=Val(T1.Text)
b=Val(T2.Text)
c=Val(T3.Text)
d=a*b*(c/10)
TRESULT=Format(d,"0.00")
EndSub
PrivateSubCommand2_Click()
T3.SetFocus
T3.SelStart=0
T3.SelLength=Len(T3.Text)
T1.Text=""
T2.Text=""
T3.Text=""
TRESULT.Text=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
截图:
(4-5)(3-2)设计见面如图所示,单击“出题”按钮,产生任意两个[1,100]之间的随机正数,单击“计算”按钮,求这两数的和。
源程序:
PrivateSubCommand1_Click()
Text1=Int(100*Rnd+1)
Text2=Int(100*Rnd+1)
EndSub
PrivateSubCommand2_Click()
Text3=Val(Text1.Text)+Val(Text2.Text)
EndSub
PrivateSubForm_Load()
EndSub
截图:
(5-2)(5-1)从文本框中输入一个数,单击“判断”按钮判断它能否同时被3、5、7整除,若能整除,则在窗体上显示“能同时被3、5、7整除”,否则显示“不能整除”
源程序:
PrivateSubCommand1_Click()
x=Val(Text1.Text)
A=xMod3
IfA<>0Then
Label2.Caption="结果:
此数不能被3、5、7整除"
B=xMod5
ElseIfB<>0Then
Label2.Caption="结果:
此数不能被3、5、7整除"
C=xMod7
ElseIfC<>0Then
Label2.Caption="结果:
此数不能被3、5、7整除"
Else:
Label2.Caption="结果:
此数能被3、5、7整除"
EndIf
EndSub
截图:
(5-3)(5-2)用InputBox函数输入三个数,选出其中的最大数和最小数,显示与窗体上。
源程序:
PrivateSubForm_Click()
A=InputBox("请输入数据1:
","数据输入")
B=InputBox("请输入数据2:
","数据输入")
C=InputBox("请输入数据3:
","数据输入")
Max=A
Min=A
IfB>MaxThenMax=B
IfB IfC>MaxThenMax=C IfC Print"最大值为: ";Max Print"最小值为: ";Min EndSub 截图: (5-6)(5-5)使用SelectCase语句进行条件判断。 用文本框输入学生某门课程的分数后,给出五级评分。 评分标准如下: 优 [90,100] 良 [80,90) 中 [70,80) 及格 [60,70) 不及格 [0,60) 如果输入的分数不在[0,100]范围内,则给出错误提示,并将焦点定位在输入分数的文本框,选中其中的文本。 源程序: PrivateSubCommand1_Click() a=Val(Text1.Text) SelectCasea CaseIs<60 Label2.Caption="不及格" CaseIs<70 Label2.Caption="及格" Casea<80 Label2.Caption="中" CaseIs<90 Label2.Caption="良" CaseIs<=100 Label2.Caption="优" EndSelect EndSub PrivateSubCommand2_Click() End EndSub 截图: (6-10)(6-12)求1! +2! +3! +…+20! 。 源程序: PrivateSubForm_click() Sum=0 Fori=1To20 sum1=1 Forj=1Toi sum1=sum1*j Nextj Sum=Sum+sum1 Nexti Print"1! +2! +……20! =";Sum EndSub 截图: (6-12)(6-13)“水仙花数”是指一个3位数,其中各位数的立方和等于该数,如153=1^3+5^3+3^3,编写程序,打印出100~1000之间的所有水仙花数。 源程序: PrivateSubForm_click() DimAAsInteger,BAsInteger,CAsInteger ForA=1To9 ForB=0To9 ForC=0To9 If100*C+10*B+A=A^3+B^3+C^3Then Print100*A+10*B+C EndIf NextC,B,A EndSub 截图: (7-5)(9-5)让一行欢迎词从窗体的左侧逐渐移向右侧,当全部移出右侧后,从窗体左侧开始移动,直到按下某按钮后停止移动。 源程序: PrivateSubCommand1_Click() Timer1.Enabled=True EndSub PrivateSubCommand2_Click() Timer1.Enabled=False EndSub PrivateSubTimer1_Timer() IfLabel1.Left>=Form1.ScaleWidthThen Label1.Left=-Label1.Width Else Label1.Left=Label1.Left+200 EndIf EndSub 截图: (7-9)(9-9)设计一个滚动条及两个文本框,滚动条代表温度,最小值是摄氏零度(或华氏32度),最大值是摄氏100度(或华氏212度),如图所示。 运行时,当移动滚动条时,摄氏及华氏文本框能正确显示相应的温度值 源程序: PrivateSubForm_Load() VScroll1.Min=0 VScroll1.Max=10000 VScroll1.SmallChange=1 VScroll1.LargeChange=100 VScroll1.Value=10000 CallA EndSub PrivateSubA() DimXAsSingle,YAsSingle,ZAsSingle X=10000-VScroll1.Value Y=X/100 Z=Y*9/5+32 Text1.Text=Y&"C" Text2.Text=Z&"F" EndSub PrivateSubVScroll1_Change() CallA EndSub PrivateSubVScroll1_Scroll() CallA EndSub 截图: (8-1)(7-2)用InputBox函数输入10个数与数组A中,输入后将这10个数显示在文本框中,并统计正数的个数,正数的和,负数的个数,负数的和。 用Print方法将结果打印在窗体上,设计界面、运行结果如图所示。 源程序: DimA(10)AsInteger DimcAsSingle,bAsSingle,all1AsSingle,all2AsSingle PrivateSubForm_Click() Label1.Caption="" Fori=1To10 A(i)=Val(InputBox("请输入第"&Str(i)&"个数","数据输入","")) Text1.Text=Text1.Text&Str(A(i)) c=0 b=0 all1=0 all2=0 IfA(i)>0Then c=c+1 all1=all1+A(i) ElseIfA(i)<0Then b=b+1 all2=all2+A(i) Else c=c+0 b=b+0 all1=all1+0 all2=all2+0 EndIf Nexti CurrentX=1200 CurrentY=2000 Print"正数的个数";c;"正数的和";all1 CurrentX=1200 Print"负数的个数";b;"负数的和";all2 EndSub 截图: (8-2)(7-11)设计如图所示的界面,其中,第一行为控件数组Text1,第二行为控件数组Text2,运行时,输入任意内容于控件数组Text1中,点击“交换”按钮将控件数组Text1中的内容按相反的次序显示与控件数组Text2中。 源程序: DimA(1To10) PrivateSubCommand1_Click() Fori=1To10 A(i)=Text1(i-1).Text Text2(10-i).Text=A(i) Nexti EndSub 截图: (9-1)(8-1)设计如图所示的界面,在窗体模块中编写一函数过程,计算1+2+3+…+n,运行时输入m,n,p的值,单击“y=”按钮调用该函数过程计算一下y值,运算结果保留4位小数。 运行时界面如图。 Y=((1+2+…+m)+(1+2+…+n))/(1+2+…+p) 源程序: OptionExplicit FunctionQiuhe(nAsInteger) DimaAsInteger,FAsLong F=1 Fora=1Ton F=F+a Nexta Qiuhe=F EndFunction PrivateSubCommand1_Click() DimmAsInteger,nAsInteger,pAsInteger,yAsDouble m=Val(Text1.Text) n=Val(Text2.Text) p=Val(Text3.Text) y=(Qiuhe(m)+Qiuhe(n))/Qiuhe(p) Text4.Text=Trim(Str(y)) EndSub 截图: (9-3)(8-3)在窗体模块中自定义一个Sub过程,按给定的不同字符及行数在图片框中打印行数相同。 运行时,单击图片框,用InputBox输入任一字符及行数,调用该过程打印图形。 源程序: PrivateSubPicture1_Click() Picture1=LoadPicture() DimAAsString DimnAsInteger A=InputBox("请输入字符") B=Val(InputBox("请输入行数")) PrintCharA,B EndSub PrivateSubPrintChar(ByValAAsString,ByValBAsInteger) DimIAsInteger DimPAsString ForI=1ToB P=P&A Next ForI=1ToB Picture1.PrintP P=""&P Next EndSub 截图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 设计 习题 答案