高级回合编程问题(L3)。
ZULO 驾驶室应用
根据下面给出的详细信息创建出租车预订应用程序 ZULA。该程序应首先显示一个菜单,其中包含以下选项
- 司机登录
- 客户登录
- 祖拉管理员
- 出口
任务 1:初始化
根据下面给出的详细信息初始化数据以在程序启动时加载。注意:它可以被加载并保存在内存中。无需维护文件或数据库。
初始出租车司机:
ID | NAME | PASS | AGE |
1 | aaa | 111 | 25 |
2 | bbb | 222 | 36 |
3 | ccc | 333 | 31 |
4 | ddd | 444 | 28 |
初始客户:
ID | NAME | PASS | AGE |
1 | WW | 55 | 25 |
2 | XX | 66 | 36 |
3 | YY | 77 | 31 |
4 | ZZ | 88 | 28 |
初始位置
ID | NAME | DISTANCE FROM ORIGIN |
1 | A | 0 |
3 | C | 4 |
4 | D | 7 |
6 | F | 9 |
2 | B | 15 |
7 | G | 18 |
8 | H | 20 |
5 | R | 23 |
4 3 2 6 3 2 3
A——-C——-D——-F——-B——G——H——-E
初始驾驶室位置
Location | CabID’s |
D | 1 |
G | 2 |
H | 3 |
A | 4 |
任务 2:驾驶室驱动器/客户登录
Cab Driver 应该可以选择使用现有凭据(用户名和密码)登录
客户应该可以选择使用现有凭据(用户名和密码)登录或创建一个包含所有详细信息的新帐户。
示例应用程序提示
欢迎来到祖拉!!
1.出租车司机登录
2.客户登录。
3.管理登录
4.退出
请选择一项服务:
任务 3:叫辆出租车
客户应该能够根据以下条件叫到出租车:
1. 他/她应该能够选择来源和目的地位置。 2. 应选择距离源最近的位置可用的驾驶室。
3. 应向客户提供票价估算。按 10 卢比/公里计算。 4. 应向客户显示确认单,并且只有在接受后才开始旅程。
在预订乘车之前打印每辆出租车的位置。
示例输出:
Location | Cab IDs |
A | 3 |
E | 1 |
C | 2,4 |
任务 4:每次预订都必须满足以下条件。
1. 应选择离源最近位置的驾驶室。
2. 出租车司机在完成每次乘车后将强制休息1次,即使他是最近的也不应被选择。
3、如果同一地点有2辆或以上的驾驶室,则应分配完成总行程次数较少的驾驶室。
任务 5: ZULA 委员会和出租车司机驾驶总结
每次乘车,ZULA 都会获得乘车费用 30% 的佣金
出租车司机应该能够看到他们乘坐的完整历史记录。出租车司机姓名、来源、目的地、客户详细信息、票价和 ZULA 佣金
示例输出:
驾驶室 ID:1
出租车司机姓名:aaa
行程详情:
Source | Destination | customer detail | ZULA commission | Fare |
D | H | 4 | 39 | 130 |
E | G | 2 | 15 | 50 |
C | B | 2 | 33 | 110 |
任务 6:客户乘车总结
客户应该能够看到他们骑行的完整历史记录。客户名称、来源、目的地、出租车详细信息和票价。
示例输出:
客户编号:2
客户名称:yy
行程详情:
Source | Destination | CabDetail | Fare |
A | E | 3 | 230 |
E | G | 1 | 50 |
C | B | 1 | 110 |
任务 7:管理员可用的在 ZULA 中运行的所有出租车的摘要。
管理员应该能够看到由 ZULA 管理的所有出租车的摘要。它应包含乘车总数、收取的总票价、总 ZULA 佣金、每次旅行的详细信息。样本输出
驾驶室 ID:1
总旅行次数:3
总票价:290
ZULA 佣金总数:87
行程详情:
Source | Destination | Customer Detail | Fare | ZULA commission |
D | F | 4 | 130 | 39 |
E | G | 2 | 50 | 15 |
C | B | 2 | 110 | 33 |
驾驶室编号:2
总行程数:0
总票价:0
ZULA 佣金总额:0
行程详情:未提供行程