主题:那位人士出点题考我好吗,在下感激不尽
youtianya
[专家分:0] 发布于 2005-07-04 11:07:00
那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,那位人士出点题考我好吗,
回复列表 (共11个回复)
11 楼
zwfan0888 [专家分:0] 发布于 2006-04-29 17:55:00
接上面的,太长了,要分俩次,谢谢你的帮忙.我的邮箱zwfan0888@126.com.以下为题目的后半部分:
4.3需准备的子程序
a) 构造一个空的线性表(顺序存储)
status initlist_sq(sqlist &l);
b) 在顺序线性表中插入元素
status listinsert_sq(sqlist&l,int i,airlist e);
c) 构造一个空的线性链表
status init_l(queueptr &l);
d) 在带头结点的单链线性表中第i个位置之前插入元素e
status listinsert_l(queueptr&l,int i,info e);
e) 在带头结点的单链线性表中删除第i个元素,并由e返回
status listdelete_l(queueptr&l,int i,info &e);
f) 构造一个空队列q
status initqueue(linkqueue &q);
g) 插入元素e为q 的新的队尾元素
status enqueue(linkqueue &q,info e);
h) 删除队列的头元素并由 e 返回
status dequeue(linkqueue &q,info &e);
4.4 实现步骤
(1) 宣布变量名单航线表表长 n=10,queueptr[10], 旅客名单表
linkqueue[10], 候补旅客名单队列
(2) 首先输入航线表表长n, 然后生成航线表.
(3) 为了调试方便设三种操作,ID=’I’, 查询,ID=‘O’,订票,
ID=’R’, 退票
输入ID,
根据ID的值switch三种情况
用于测试程序,暂时用三次循环即测试查询,定票和退票三种操作。
(4) ID=‘I’查询
首先输入到站名,然后根据到站名在航线表中查询所有等于到站名的航线
输出,内容有(到站名,航班号,定员,余额)
(5) ID=’O’ 订票
a) 输入旅客的到达站名,航班号,订票数量
b) 初始化订票客户名单数组和候补排队数组
c) 在航线表中查到站名,航班号和旅客要求相等的航线
d) 如果航线的余票满足或部份满足,先给客户订票,输入旅客姓名,
输出座位号,并把姓名加入到旅客姓名表中
e) 如果余票额不满足或部份满足,订票后还有的旅客没有订上,
询问旅客是否候补排队,如果是”y”, 不是”n”
“y” 输入姓名,候补排队上了,将其存入旅客排队队列
f) 订票名单加1
(6) ID=’R’ 退票
a) 输入退票数量,终到站名,航班号
b) 在航线表中查询到终到站和航班号相等的航线
c) 然后旅客给出座位号,删去航线上旅客名单上这个座位的旅客
d) 在候补排队队列中有候补旅客,将第一个旅客订票,他的座位号就是
刚刚删去的座位号,并将这个旅客以座位号插入到旅客名单中
5 . 测试数据
n=2 航线表长度
生成航线表的信息
第一记录 到站 pek
航班号 c242
票量 2
余票量 2
第二记录 到站 pek
航班号 c204
票量 2
余票量 2
id=I 查询
要查询的站名输入 pek
输出
到站=pek, 航班号=c242, 票量=2, 余票量=2
=pek, =c204, =2, =2
id=O 订票
输入
目的地站名 pek
航班号 c204
订票量 4
旅客1姓名 duan 输出 your seat is 1
旅客2姓名 li 输出 your seat is 2
又输出 There is not enougth tickets, are you wating for booking or not? y or n:
输入 y 输出 2
输入旅客3姓名 anlun
输入旅客4姓名 kailun
id=R 输出 do you want to return ticket, how many?
输入 2
站名 pek
航班号 c204
座位号 1 输出 name anlun seat is 1
输入 座位号 2 输出 name kailun seat is 2
我来回复