微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题学编程,中大奖
栏目软件世界
作者张蕴
发布2001年34期
  可能很多朋友都知道,百事公司正在搞“百事音乐任我赢”促销活动,只要把三个环盖(含三个)内所印的分数相加得到100,300,500,1000都可以得到奖品。不少人都收集了一大堆环盖,当环盖少的时候还好算一算,当环盖多的时候就比较麻烦了。于是,便萌发了用VB编一个专门用于能够把满足条件的环盖列出的程序的想法。
  先新建一个窗体(form)取名“PEPSI”。建一个文本框(textbox),属性为:名称=text1,text=“”,用于输入环盖中的数字;再建三个按钮(commandbutton)属性分别为:名称=command1,Caption=“输入”,用于对输入的数字进行确认;名称=command2,Caption=“计算”,用于对已输入的数字进行计算;名称=command2  Caption=“退出”,用于退出程序;五个图画框(picturebox),一个用于显示已经输入的数字,其它四个用于排列出满足相加条件满足100,300,500,1000的数字。现在界面基本完成,如果你想界面再好看些可以再加上几个标签(label)用于说明。完成后的界面如


  下一步就是编写程序:
  主要思想就是把输入的环盖号形成数组,再用循环和选择语句找出满足条件的环盖号。
  Dim a(0 To 1000) As Integer '定义静态数组a(),使每一个a都对应一个已输入的环盖号
  Dim j As Integer '变量
  Dim i As Integer '数组下标
  Private Sub Command1_Click()'对command1进行编程
  a(i)=Val(Text1.Text) '把text1中的值赋予对应的元素,val()用于把数字字符串转换为数值
  Picture1.Print a(i) '把已有的元素显示出来
  i=i+1 '使其每被按一次,数组的下标加1
  Text1=“” '完成赋值后把text1中的数字清空
  Text1.SetFocus
  End Sub
  '数组已经被赋值,下面就是最关键的部分是对满足条件的元素进行筛选
  Private Sub Command2_Click ()'对command2进行编程
  Picture2.Cls '把用于显示满足条件的图画框清空
  Picture3.Cls
  Picture4.Cls
  Picture5.Cls
  Dim k As Intege '定义变量
  Dim n As Integer
  For j=0 To i-1
  For n=j+1 To i-1
  '顺序取a(j),再用 a(j)之后的元素a(n)按顺序分别与a(j)相加
  If a(j)+a(n)=100 Then '条件一
  Picture2.Print a(j); “+”; a(n) '满足条件在Picture2中显示出来,下同
  ElseIf a(j)+a(n)=300 Then
  Picture3.Print a(j); “+”; a(n)
  ElseIf a(j)+a(n)=500 Then
  Picture4.Print a(j); “+”; a(n)
  ElseIf a(j)+a(n)=1000 Then
  Picture5.Print a(j); “+”; a(n)
  End If
  Next n
  Next j
  '以上条件是二者相加,以下条件是三者相加
  For j=0 To i-1 '按顺序取a(j)
  For n=j+1 To i-1 '按顺序取a(j)之后的元素a(n)
  For k=n+1 To i-1 '按顺序取a(n)之后的元素a(k)
  '原理同上
  If a(j)+a(n)+a(k)=100 Then '条件一
  Picture2.Print a(j); “+”; a(n); “ + ”; a(k) '满足条件后在Picture2中显示出来,下同
  ElseIf a(j)+a(n)+a(k)= 300 Then
  Picture3.Print a(j); “+”; a(n); “ + ”; a(k)
  ElseIf a(j)+a(n)+a(k)=500 Then
  Picture4.Print a(j); “+”; a(n); “ + ”; a(k)
  ElseIf a(j)+a(n)+a(k)=1000 Then
  Picture5.Print a(j); “+”: a(n); “ + ”; a(k)
  End If
  Next k
  Next n
  Next j
  Text1.SetFocus
  End Sub
  Private Sub Command3_Click() '对command3进行编程
  End
  End Sub
  好了,下面就可以运行了,赶快按下F5把自己的环盖号输进去吧。说不定你会惊喜地发现自己中了音乐宝盒呢!