用c语言实现显示航班管理系统中的乘客信息座位号
时间: 2024-03-22 17:37:31 浏览: 26
好的,要实现显示航班管理系统中的乘客信息座位号,可以按照以下步骤:
1. 在程序中定义一个结构体,包含乘客的姓名、座位号等信息,例如:
```
struct passenger {
char name[20];
int seat_num;
// 其他信息
};
```
2. 在程序中定义一个数组,用来存储所有乘客的信息,例如:
```
struct passenger passengers[100];
```
这里假设最多有100个乘客。
3. 在程序中读取乘客的信息,例如:
```
for (int i = 0; i < 100; i++) {
printf("请输入第%d个乘客的姓名和座位号:", i + 1);
scanf("%s %d", passengers[i].name, &passengers[i].seat_num);
// 其他信息的读取
}
```
这里假设乘客的姓名不超过20个字符。
4. 在程序中显示乘客的信息和座位号,例如:
```
for (int i = 0; i < 100; i++) {
printf("第%d个乘客的姓名是:%s,座位号是:%d\n", i + 1, passengers[i].name, passengers[i].seat_num);
// 其他信息的显示
}
```
这样就可以实现显示航班管理系统中的乘客信息和座位号了。当然,实际的航班管理系统可能会更加复杂,需要根据具体的需求来进行设计和实现。
相关问题
用c语言实现铁路售票管理系统的以下功能:1、不同车次信息的添加、删除、修改等功能。2、所有车次余票显示。3、查询车次、余票、票价等功能。4选择座位、填写乘客信息、预订车票等功能。
以下是用C语言实现铁路售票管理系统的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TRAIN_NUM 10
#define MAX_SEATS_NUM 100
typedef struct {
char train_num[20]; //车次
int seats[MAX_SEATS_NUM]; //余票
float price; //票价
} train;
train trains[MAX_TRAIN_NUM]; //所有车次信息
int train_count = 0; //当前车次数
/* 添加车次信息 */
void add_train() {
if (train_count >= MAX_TRAIN_NUM) {
printf("已达到最大车次数,无法添加新车次!\n");
return;
}
//输入车次信息
train new_train;
printf("请输入新车次信息:\n");
printf("车次号:");
scanf("%s", new_train.train_num);
printf("票价:");
scanf("%f", &new_train.price);
for (int i = 0; i < MAX_SEATS_NUM; i++) {
new_train.seats[i] = 50; //初始化余票为50
}
//将新车次信息添加到所有车次信息中
trains[train_count] = new_train;
train_count++;
printf("添加车次信息成功!\n");
}
/* 删除车次信息 */
void delete_train() {
char train_num[20];
printf("请输入要删除的车次号:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(trains[i].train_num, train_num) == 0) {
//将要删除的车次信息从所有车次信息中删除
for (int j = i; j < train_count - 1; j++) {
trains[j] = trains[j+1];
}
train_count--;
printf("删除车次信息成功!\n");
break;
}
}
if (i >= train_count) {
printf("未找到要删除的车次!\n");
}
}
/* 修改车次信息 */
void modify_train() {
char train_num[20];
printf("请输入要修改的车次号:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(trains[i].train_num, train_num) == 0) {
//输入新的车次信息
train new_train;
printf("请输入新车次信息:\n");
printf("车次号:");
scanf("%s", new_train.train_num);
printf("票价:");
scanf("%f", &new_train.price);
memcpy(new_train.seats, trains[i].seats, sizeof(trains[i].seats)); //将余票数复制
//将新车次信息替换现有车次信息
trains[i] = new_train;
printf("修改车次信息成功!\n");
break;
}
}
if (i >= train_count) {
printf("未找到要修改的车次!\n");
}
}
/* 显示所有车次余票 */
void show_all_seats() {
printf("所有车次余票数如下:\n");
for (int i = 0; i < train_count; i++) {
printf("车次号:%s,余票数:", trains[i].train_num);
int count = 0;
for (int j = 0; j < MAX_SEATS_NUM; j++) {
if (trains[i].seats[j] > 0) {
count++;
}
}
printf("%d\n", count);
}
}
/* 查询车次信息 */
void search_train() {
char train_num[20];
printf("请输入要查询的车次号:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(trains[i].train_num, train_num) == 0) {
printf("车次号:%s,票价:%0.2f,余票数:", trains[i].train_num, trains[i].price);
int count = 0;
for (int j = 0; j < MAX_SEATS_NUM; j++) {
if (trains[i].seats[j] > 0) {
count++;
}
}
printf("%d\n", count);
break;
}
}
if (i >= train_count) {
printf("未找到要查询的车次!\n");
}
}
/* 选择座位、填写乘客信息、预订车票 */
void book_ticket() {
char train_num[20];
printf("请输入要预订的车次号:");
scanf("%s", train_num);
int i;
for (i = 0; i < train_count; i++) {
if (strcmp(trains[i].train_num, train_num) == 0) {
printf("车次号:%s,票价:%0.2f,余票数:", trains[i].train_num, trains[i].price);
int count = 0;
for (int j = 0; j < MAX_SEATS_NUM; j++) {
if (trains[i].seats[j] > 0) {
count++;
}
}
printf("%d\n", count);
if (count <= 0) {
printf("该车次已无余票,无法预订!\n");
break;
}
//选择座位
int seat_num;
printf("请选择座位号(1-%d):", count);
scanf("%d", &seat_num);
int available_seats = 0, index = -1;
for (int j = 0; j < MAX_SEATS_NUM; j++) {
if (trains[i].seats[j] > 0) {
available_seats++;
}
if (available_seats == seat_num) {
index = j;
break;
}
}
//填写乘客信息
char name[20];
int age;
printf("请填写乘客信息:\n");
printf("姓名:");
scanf("%s", name);
printf("年龄:");
scanf("%d", &age);
//预订车票
trains[i].seats[index]--;
printf("预订车票成功!\n");
printf("车次号:%s,座位号:%d,票价:%0.2f,姓名:%s,年龄:%d\n", trains[i].train_num, index+1, trains[i].price, name, age);
break;
}
}
if (i >= train_count) {
printf("未找到要预订的车次!\n");
}
}
int main() {
int choice = -1;
while (choice != 0) {
printf("欢迎使用铁路售票管理系统!\n");
printf("1. 添加车次信息\n");
printf("2. 删除车次信息\n");
printf("3. 修改车次信息\n");
printf("4. 显示所有车次余票\n");
printf("5. 查询车次信息\n");
printf("6. 选择座位、填写乘客信息、预订车票\n");
printf("0. 退出系统\n");
printf("请选择操作(0-6):");
scanf("%d", &choice);
switch (choice) {
case 1:
add_train();
break;
case 2:
delete_train();
break;
case 3:
modify_train();
break;
case 4:
show_all_seats();
break;
case 5:
search_train();
break;
case 6:
book_ticket();
break;
case 0:
printf("谢谢使用!\n");
break;
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
该系统实现了不同车次信息的添加、删除、修改等功能;所有车次余票显示;查询车次、余票、票价等功能;选择座位、填写乘客信息、预订车票等功能。
c语言编写一个民航信息管理系统
好的,一个基本的民航信息管理系统可以包括以下功能:
1. 航班信息查询:可以根据航班号、出发地、目的地、日期等信息查询航班的基本信息。
2. 航班订票:可以根据乘客的姓名、身份证号、联系方式等信息进行航班订票。
3. 航班改签:可以根据乘客的航班号、日期等信息进行航班改签。
4. 航班退票:可以根据乘客的航班号、日期等信息进行航班退票。
下面是一个简单的民航信息管理系统的 C 语言代码示例,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义航班结构体
typedef struct {
char no[10]; // 航班号
char from[20]; // 出发地
char to[20]; // 目的地
char date[10]; // 日期
int seats; // 座位数
} Flight;
// 定义乘客结构体
typedef struct {
char name[20]; // 姓名
char id[20]; // 身份证号
char phone[20]; // 联系电话
char no[10]; // 航班号
char date[10]; // 日期
int status; // 状态:0-未订票,1-已订票,2-已改签,3-已退票
} Passenger;
// 定义航班数组和乘客数组
Flight flights[100];
Passenger passengers[1000];
int flight_count = 0;
int passenger_count = 0;
// 初始化航班信息
void init_flights() {
Flight f1 = {"CA123", "北京", "上海", "2022-01-01", 100};
Flight f2 = {"MU456", "上海", "广州", "2022-01-02", 50};
Flight f3 = {"CZ789", "广州", "深圳", "2022-01-03", 80};
flights[0] = f1;
flights[1] = f2;
flights[2] = f3;
flight_count = 3;
}
// 显示航班信息
void show_flights() {
printf("航班号\t出发地\t目的地\t日期\t\t座位数\n");
for (int i = 0; i < flight_count; i++) {
printf("%s\t%s\t%s\t%s\t%d\n", flights[i].no, flights[i].from, flights[i].to, flights[i].date, flights[i].seats);
}
}
// 查询航班信息
void query_flight() {
char no[10], from[20], to[20], date[10];
printf("请输入查询信息:\n");
printf("航班号(输入0表示不限):");
scanf("%s", no);
printf("出发地(输入0表示不限):");
scanf("%s", from);
printf("目的地(输入0表示不限):");
scanf("%s", to);
printf("日期(格式为yyyy-mm-dd,输入0表示不限):");
scanf("%s", date);
printf("查询结果:\n");
printf("航班号\t出发地\t目的地\t日期\t\t座位数\n");
for (int i = 0; i < flight_count; i++) {
if ((strcmp(no, "0") == 0 || strcmp(flights[i].no, no) == 0)
&& (strcmp(from, "0") == 0 || strcmp(flights[i].from, from) == 0)
&& (strcmp(to, "0") == 0 || strcmp(flights[i].to, to) == 0)
&& (strcmp(date, "0") == 0 || strcmp(flights[i].date, date) == 0)) {
printf("%s\t%s\t%s\t%s\t%d\n", flights[i].no, flights[i].from, flights[i].to, flights[i].date, flights[i].seats);
}
}
}
// 订票
void book_ticket() {
char name[20], id[20], phone[20], no[10], date[10];
printf("请输入订票信息:\n");
printf("姓名:");
scanf("%s", name);
printf("身份证号:");
scanf("%s", id);
printf("联系电话:");
scanf("%s", phone);
printf("航班号:");
scanf("%s", no);
printf("日期(格式为yyyy-mm-dd):");
scanf("%s", date);
for (int i = 0; i < flight_count; i++) {
if (strcmp(flights[i].no, no) == 0 && strcmp(flights[i].date, date) == 0) {
if (flights[i].seats > 0) {
Passenger p = {name, id, phone, no, date, 1};
passengers[passenger_count] = p;
passenger_count++;
flights[i].seats--;
printf("订票成功!\n");
return;
} else {
printf("该航班座位已满!\n");
return;
}
}
}
printf("没有找到对应的航班!\n");
}
// 改签
void change_ticket() {
char name[20], no[10], date[10], new_no[10], new_date[10];
printf("请输入改签信息:\n");
printf("姓名:");
scanf("%s", name);
printf("原航班号:");
scanf("%s", no);
printf("原日期(格式为yyyy-mm-dd):");
scanf("%s", date);
printf("新航班号:");
scanf("%s", new_no);
printf("新日期(格式为yyyy-mm-dd):");
scanf("%s", new_date);
for (int i = 0; i < passenger_count; i++) {
if (strcmp(passengers[i].name, name) == 0 && strcmp(passengers[i].no, no) == 0 && strcmp(passengers[i].date, date) == 0 && passengers[i].status == 1) {
for (int j = 0; j < flight_count; j++) {
if (strcmp(flights[j].no, new_no) == 0 && strcmp(flights[j].date, new_date) == 0) {
if (flights[j].seats > 0) {
passengers[i].no = new_no;
passengers[i].date = new_date;
passengers[i].status = 2;
flights[j].seats--;
flights[j].seats++;
printf("改签成功!\n");
return;
} else {
printf("新航班座位已满!\n");
return;
}
}
}
printf("没有找到对应的新航班!\n");
return;
}
}
printf("没有找到对应的乘客或订单状态不正确!\n");
}
// 退票
void refund_ticket() {
char name[20], no[10], date[10];
printf("请输入退票信息:\n");
printf("姓名:");
scanf("%s", name);
printf("航班号:");
scanf("%s", no);
printf("日期(格式为yyyy-mm-dd):");
scanf("%s", date);
for (int i = 0; i < passenger_count; i++) {
if (strcmp(passengers[i].name, name) == 0 && strcmp(passengers[i].no, no) == 0 && strcmp(passengers[i].date, date) == 0 && (passengers[i].status == 1 || passengers[i].status == 2)) {
for (int j = 0; j < flight_count; j++) {
if (strcmp(flights[j].no, no) == 0 && strcmp(flights[j].date, date) == 0) {
flights[j].seats++;
if (passengers[i].status == 1) {
passengers[i].status = 3;
} else if (passengers[i].status == 2) {
passengers[i].status = 1;
}
printf("退票成功!\n");
return;
}
}
printf("没有找到对应的航班!\n");
return;
}
}
printf("没有找到对应的乘客或订单状态不正确!\n");
}
int main() {
init_flights();
while (1) {
printf("\n请选择操作:\n");
printf("1. 显示航班信息\n");
printf("2. 查询航班信息\n");
printf("3. 订票\n");
printf("4. 改签\n");
printf("5. 退票\n");
printf("0. 退出系统\n");
int op;
scanf("%d", &op);
switch (op) {
case 1:
show_flights();
break;
case 2:
query_flight();
break;
case 3:
book_ticket();
break;
case 4:
change_ticket();
break;
case 5:
refund_ticket();
break;
case 0:
printf("退出系统!\n");
exit(0);
default:
printf("输入有误,请重新输入!\n");
break;
}
}
return 0;
}
```
以上是一个非常简单的民航信息管理系统,实际开发中可能需要考虑更多的功能和复杂的业务流程,建议根据实际情况进行扩展和优化。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)