航空公司操作员录入航班信息并对其维护,可以查询和统计旅客信息、订单信息及航班信息。旅客首次进入系统需要注册,在此系统中订票、取票和退票,系统对订票、取票和退票信息进行审核,旅客接收订票成功通知、取票和退票成功通知。系统时钟在旅客行程当日发送行程通知,提醒旅客预订航班的起飞时间,以免旅客忘记行程。旅客还可以查询航班信息,查询和修改个人基本信息,查询个人订单。 另外,航空公司操作员在旅客已取票情况下,可以在期限范围内为旅客完成退票,操作流程和旅客退票流程基本相同。根据前面需求获取的业务描述,画出系统的分层数据流图
时间: 2024-02-16 21:01:44 浏览: 39
抱歉,我无法画图,但我可以文字描述该系统的分层数据流图:
1. 外部实体:旅客,航空公司操作员
2. 顶层数据流:航班信息维护和查询
3. 第二层数据流:
a. 旅客注册、订票、取票、退票、查询个人订单、查询、修改个人基本信息、接收行程通知
b. 航空公司操作员维护航班信息、审核订单、为旅客完成退票
4. 第三层数据流:
a. 旅客订票、取票、退票信息审核
b. 行程通知发送
5. 底层数据流:数据库更新和查询
相关问题
数据结构课程设计航班订票系统(包括录入,查询,订票,退票,修改航班信息,汇总)
航班订票系统是一个基于数据结构的课程设计,主要包括以下功能:
1. 录入航班信息:管理员可以录入航班的起降时间、航班号、航班公司、起降地点、机型等信息。
2. 查询航班信息:用户可以根据出发地、目的地、出发时间等条件查询符合要求的航班信息。
3. 订票:用户可以选择符合要求的航班,输入乘客信息并完成订票。
4. 退票:用户可以根据订单号进行退票操作,系统会自动计算退票费用并进行退款。
5. 修改航班信息:管理员可以修改已录入的航班信息,包括起降时间、航班号、航班公司、起降地点、机型等。
6. 汇总:系统可以根据不同的条件进行数据汇总,如统计每个航班的订票情况、每个用户的订票情况等。
以上是航班订票系统的主要功能,需要使用数据结构来实现数据的存储和处理,以保证系统的高效性和稳定性。
航班订票系统同时录入几个航班信息,并可列出,可删除c语言代码
以下是一个简单的航班订票系统的C语言代码,可以同时录入多个航班信息,列出所有航班信息并删除指定航班信息。请注意,本代码仅作为示例,可能需要根据实际需求进行修改和完善。
```c
#include <stdio.h>
#include <string.h>
// 定义航班信息结构体
struct Flight {
char flight_no[10]; // 航班号
char departure[20]; // 出发地
char destination[20]; // 目的地
int seats_left; // 剩余座位数
};
// 定义航班信息数组和当前航班数
struct Flight flights[100];
int num_flights = 0;
// 函数声明
void add_flight();
void list_flights();
void delete_flight();
int main() {
int choice;
do {
// 显示菜单并读取用户选择
printf("\n航班订票系统\n");
printf("1. 录入航班信息\n");
printf("2. 列出所有航班信息\n");
printf("3. 删除指定航班信息\n");
printf("4. 退出\n");
printf("请选择:");
scanf("%d", &choice);
// 根据用户选择执行相应操作
switch (choice) {
case 1:
add_flight();
break;
case 2:
list_flights();
break;
case 3:
delete_flight();
break;
case 4:
printf("谢谢使用!\n");
break;
default:
printf("无效选择,请重新输入!\n");
break;
}
} while (choice != 4);
return 0;
}
// 录入航班信息
void add_flight() {
// 判断航班数是否达到上限
if (num_flights >= 100) {
printf("航班数已达到上限,无法继续录入!\n");
return;
}
// 读取航班信息
printf("\n录入航班信息:\n");
printf("航班号:");
scanf("%s", flights[num_flights].flight_no);
printf("出发地:");
scanf("%s", flights[num_flights].departure);
printf("目的地:");
scanf("%s", flights[num_flights].destination);
printf("剩余座位数:");
scanf("%d", &flights[num_flights].seats_left);
// 增加航班数
num_flights++;
printf("航班信息已录入!\n");
}
// 列出所有航班信息
void list_flights() {
printf("\n航班信息如下:\n");
printf("%-10s%-20s%-20s%-10s\n", "航班号", "出发地", "目的地", "剩余座位数");
for (int i = 0; i < num_flights; i++) {
printf("%-10s%-20s%-20s%-10d\n", flights[i].flight_no, flights[i].departure, flights[i].destination, flights[i].seats_left);
}
}
// 删除指定航班信息
void delete_flight() {
// 读取要删除的航班号
printf("\n请输入要删除的航班号:");
char flight_no[10];
scanf("%s", flight_no);
// 查找航班号对应的航班信息
int index = -1;
for (int i = 0; i < num_flights; i++) {
if (strcmp(flight_no, flights[i].flight_no) == 0) {
index = i;
break;
}
}
// 如果找到了要删除的航班信息,则删除它
if (index >= 0) {
for (int i = index; i < num_flights - 1; i++) {
flights[i] = flights[i + 1];
}
num_flights--;
printf("航班信息已删除!\n");
} else {
printf("未找到对应的航班信息!\n");
}
}
```
在上述代码中,航班信息使用结构体来表示,航班信息数组保存所有录入的航班信息,当前航班数保存当前已经录入的航班数。`add_flight()`函数用于录入新的航班信息,`list_flights()`函数用于列出所有航班信息,`delete_flight()`函数用于删除指定航班信息。在主函数中,使用循环显示菜单并读取用户选择,根据用户选择执行相应操作,直到用户选择退出。