飞机订票系统c语言
时间: 2023-08-24 21:16:04 浏览: 202
飞机订票系统是一个比较大的系统,需要设计多个模块,包括用户登录、航班查询、订票系统、订单管理、支付系统等等。
以下是一个简单的飞机订票系统的C语言代码示例,供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//定义航班结构体
typedef struct {
char number[20]; //航班号
char start[20]; //起点
char dest[20]; //终点
char time[20]; //起飞时间
int price; //价格
int remain; //余票数
} Flight;
//定义用户结构体
typedef struct {
char name[20]; //姓名
char id[20]; //身份证号
char phone[20]; //手机号
Flight flight; //所选航班
} User;
//定义全局变量
Flight flights[10]; //航班列表
int count = 0; //航班数量
//初始化航班列表
void initFlights() {
Flight f1 = {"CA123", "北京", "上海", "08:00", 1000, 50};
Flight f2 = {"MU456", "上海", "广州", "10:00", 800, 80};
Flight f3 = {"CZ789", "北京", "广州", "12:00", 1200, 30};
flights[0] = f1;
flights[1] = f2;
flights[2] = f3;
count = 3;
}
//显示航班列表
void showFlights() {
printf("航班号\t起点\t终点\t起飞时间\t价格\t余票数\n");
for(int i = 0; i < count; i++) {
Flight f = flights[i];
printf("%s\t%s\t%s\t%s\t%d\t%d\n", f.number, f.start, f.dest, f.time, f.price, f.remain);
}
}
//根据航班号查询航班
Flight findFlight(char number[]) {
for(int i = 0; i < count; i++) {
if(strcmp(flights[i].number, number) == 0) {
return flights[i];
}
}
Flight f = {"", "", "", "", 0, 0};
return f;
}
//订票
void bookTicket() {
char number[20];
printf("请输入航班号:");
scanf("%s", number);
Flight f = findFlight(number);
if(strcmp(f.number, "") == 0) {
printf("没有找到该航班,请重新输入!\n");
return;
}
printf("请选择座位数(余票:%d):", f.remain);
int num;
scanf("%d", &num);
if(num > f.remain) {
printf("余票不足,请重新选择!\n");
return;
}
User u;
printf("请输入姓名:");
scanf("%s", u.name);
printf("请输入身份证号:");
scanf("%s", u.id);
printf("请输入手机号:");
scanf("%s", u.phone);
u.flight = f;
flights[count-1].remain -= num;
printf("订票成功!\n");
printf("航班号:%s,起点:%s,终点:%s,起飞时间:%s,价格:%d,座位数:%d\n", f.number, f.start, f.dest, f.time, f.price, num);
printf("姓名:%s,身份证号:%s,手机号:%s\n", u.name, u.id, u.phone);
}
//订单查询
void showOrders() {
char id[20];
printf("请输入身份证号:");
scanf("%s", id);
printf("航班号\t起点\t终点\t起飞时间\t价格\t订票数\t姓名\t身份证号\t手机号\n");
for(int i = 0; i < count; i++) {
Flight f = flights[i];
if(strcmp(f.number, "") != 0) {
User u = f.user;
if(strcmp(u.id, id) == 0) {
printf("%s\t%s\t%s\t%s\t%d\t%d\t%s\t%s\t%s\n", f.number, f.start, f.dest, f.time, f.price, u.num, u.name, u.id, u.phone);
}
}
}
}
int main() {
initFlights();
while(1) {
printf("\n1.航班查询 2.订票 3.订单查询 4.退出\n");
int choice;
scanf("%d", &choice);
switch(choice) {
case 1:
showFlights();
break;
case 2:
bookTicket();
break;
case 3:
showOrders();
break;
case 4:
exit(0);
default:
printf("请选择正确的菜单项!\n");
}
}
return 0;
}
```
注意:这只是一个简单的示例代码,并没有实现完整的飞机订票系统,还需要根据实际需求进行完善和修改。
阅读全文