程序开发目的
1.目的
培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用系统提供的基本控件、数组和循环等进行创新性设计。
2.基本要求
1、 要求使用面向对象和结构化程序设计的编程思路。
2、自动售货机中有4*4中商品,每种商品一次最多可放置6个,若缺货则不能购买,可选择直接退币或购买其他货品。
3、用户在文本框中输入商品号,确定判断是否有该商品,然后投币。若未选择商品号则不能接受投币。
4、若输入商品号有错或该商品缺货则弹出提示窗口。
5、投币口只能接受五元和十元纸币,确定投币后在出货口送出购买商品并在找零口弹出应找零钱。
6、若投入纸币不足以所需购买商品,则可继续选择其他商品或退币。
7、 设有继续购买其他商品按钮。
8、可以利用picture box 控件或图标表示商品图形。
三、设计方法和基本原理
1.问题描述:
自动售货机问题是指:在售货机里面有很多的货品可以出售,当用户需要货品时可以通过投币的形式获得,此售货机可以接受十元和五元纸币。用户投币并选择货品后售货机会根据用户的选择自动滚出货品和找零。
2.问题的解决方案
①设计程序界面
由于使用的都是基本控件,所以没有什么难得,直接按照图示的样子摆放就可以了,但是商品要使用控件数组。可以使用label或者picture box控件
②编写代码
代码包括事件处理过程和功能函数,还有必要的声明。变量声明部分声明本程序所需要的变量和数组。
事件处理包括下面的主要事件:
Form_Load()
作一些初始化的工作。
Private Sub CommandX_Click()
在文本框中输入相应内容后判断。
四、主要技术问题的描述:
1.数组的使用
定义三个二维数组把不同商品及其价钱和数量分别存入数组中;
2.函数的使用
使用二维数组存放货品,定义好数组后要给数组赋初值,用户通过键盘在文本框中输入货品号,(例如 21)这个号码就是你需要货品的二维数组的下标,(其中2代表行,1代表列)。
由于文本框接收来是字符串,应该先用函数mid()分别取行号和列号,再使用函数val()把其转换成数值类型,取过的行号和列号和数组对应可以找到相应的货品和该货品的价格。
自动售货机的外观和功能请各位同学实际的自动售货机设计。要求在完成基本功能以外尽量考虑各种可能出现的情况。功能控件尽量使用vb提供的标准控件代替。