vb 机票订购系统

来源:互联网 发布:全球上市公司数据库 编辑:程序博客网 时间:2024/06/10 04:00

题目:一家小型航空公司刚刚购买了一台计算机,以使用新的机票自动预订系统,这家公司要求我们开发这个新系统。我们需要编写一个应用程序,对这家航空公司唯一的一架飞机(容量为10个座位)的每个航班分配座位。这个应用程序应该输入下面这些选项:请输入1选择头等舱和请输入2选择经济舱。如果用户输入1,应用程序应该分配一个位于头等舱的座位(座位1~5)。如果用户输入2,应用程序应该分配一个位于经济舱的座位(座位6~10)。然后,这个应用程序应该显示一张登机证,注明用户的座位号码及它位于飞机上的头等舱还是经济舱。

使用一个基本类型Boolean的一维数组来表示这张飞机的座位图。把这个数组的所有元素初始化为false,表示这些座位都是空的。分配每个座位后,把对应的数组元素设置为True,表示这个座位已经被预订。这个应用程序不能分配已经被分配的座位。当经济舱满员之后,应用程序应该询问用户是否接受头等舱(反之亦然)。如果是,就进行适当的座位分配。如果不是,就显示信息“下一航班在3小时之后”

首先碰到问题是,如何将boolean类型的全部值读取出来,判断是否有空位(存在false值),在msdn上找函数未果,所以写一个遍历,事实也是只能用遍历。首先写的是

这样写的弊端就是每次运行完一次firstclass()方法后,seats(0)=true后就会执行full(),实际上是没有满员,后来想出来在exit for前面加一个数值,在跳出循环前改变数值,把full()
写在判断数值改变之后,问题迎刃而解了。首先定义一个a数值为0,遍历boolean数组,当有空位(false)时,使a=1,跳出循环,若全部满员(全部为true)则a数值不变(a=0),然后判断a=0,则
full().
结束程序用 end。
方法分散些,程序的自由度大大增加。

原创粉丝点击