根据给定的文件信息,我们可以总结出一个关于“编写航空订票系统程序”的详细知识点。 ### 编写航空订票系统程序 #### 系统功能概述 本系统旨在实现一个基本的航班订票功能,包括但不限于订票、退票、查询、删除以及浏览航班信息等功能。通过这些功能,用户可以方便地进行机票预订与管理操作。 #### 系统结构与设计 - **数据结构设计** - 定义了两个结构体:`struct customer` 和 `struct air`。 - `struct customer` 用于存储顾客信息,包括姓名、身份证号及购票数量。 - `struct air` 用于存储航班信息,包括航班号、剩余座位数、起始站、终点站、起飞时间、票价及折扣等。 - **功能模块划分** - **输入功能** (`shuru()`): 用于录入航班信息。 - **输出功能** (`shuchu()`): 显示所有航班信息。 - **保存功能** (`save()`): 将航班信息保存到文件中。 - **读取功能** (`read()`): 从文件中读取航班信息。 - **查询功能** (`chaxun()`): 提供按特定条件查询航班信息的能力。 - **删除功能** (`shanchu()`): 删除指定航班的信息。 - **订票功能** (`dingpiao()`): 允许用户为指定航班订票。 - **退票功能** (`tuipiao()`): 允许用户取消已预订的机票。 #### 关键代码解释 ##### 数据结构定义 - `struct customer`: 用于存储乘客信息。 - `char name[20]`: 姓名 - `char id[20]`: 身份证号 - `int number`: 订票数量 - `struct air`: 用于存储航班信息。 - `char hangban[10]`: 航班号 - `int num`: 可用座位数 - `char start[20]`: 起飞地点 - `char over[20]`: 目的地 - `char time[10]`: 起飞时间 - `int piaoshu`: 票数 - `int piaojia`: 票价 - `double piaozhekou`: 折扣 ##### 功能函数详解 - **输入功能** (`shuru()`): 通过控制台交互方式输入航班信息,并允许用户选择是否继续输入或保存当前信息。 - **输出功能** (`shuchu()`): 打印所有已录入的航班信息。 - **保存功能** (`save()`): 将航班信息保存到文本文件中。 - **读取功能** (`read()`): 从文本文件中读取航班信息。 - **查询功能** (`chaxun()`): 允许用户输入关键词,如航班号、起飞地点等,来查询相应的航班信息。 - **删除功能** (`shanchu()`): 输入航班号,删除对应的航班信息。 - **订票功能** (`dingpiao()`): 用户选择航班并订票,减少航班的可用座位数。 - **退票功能** (`tuipiao()`): 用户选择航班并退票,增加航班的可用座位数。 #### 系统运行流程 1. 主函数 `main()` 提供菜单选项,用户可以根据需要选择不同的功能。 2. 每个功能对应一个函数,用户通过菜单选择后调用相应的函数执行任务。 3. 系统通过屏幕显示提示信息,指导用户完成每一步操作。 ### 总结 本系统通过简单的命令行界面实现了航空订票的基本功能,适合初学者学习和练习。通过上述介绍,读者可以了解到如何设计一个简单的订票系统的架构与实现方法,以及如何利用C语言中的基本结构和文件操作来构建一个实用的应用程序。虽然这个系统较为基础,但它是理解更复杂系统的基础,对于初学者来说是非常有价值的练习项目。
#include<string.h> //包含字符串函数处理头文件
#include<stdlib.h> //包含动态存储与释放函数头文件
#define N 1000
struct customer
{char name[20];
char id[20];
int number;
}t[N];
struct air //定义结构体数组
{char hangban[10];
int num;
char start[20];
char over[20];
char time[10];
int piaoshu;
int piaojia;
double piaozhekou;
}s[N];
int i,j;
int m=0;
#define PRINT1 " %-10s %d %8s %11s %10s %8d %10d %12lf\n",s[i].hangban,s[i].num,s[i].start,s[i].over,s[i].time,s[i].piaoshu,s[i].piaojia,s[i].piaozhekou //定义输出格式
#define PRINT2 "%12s %12s %8d %10d \n",t[i].id,s[i].hangban,s[i].num ,s[i].piaoshu //定义输出格式
void shuru(); //输入航班信息
void shuchu(); //输出航班信息
void save(); //保存航班信息
void read(); //读取航班信息
void chaxun(); //查询功能
void shanchu(); //删除航班信息
void dingpiao(); //订票信息
void main()
{int j;
do
{printf(" *****************************************\n\n");
printf(" * 1.输入航班信息 * \n\n"
" * 2.浏览航班信息 * \n\n"
" * 3.查询功能 * \n\n"
" * 4.删除航班信息 * \n\n"
" * 5.订票功能 * \n\n"
" * 6.退票功能 * \n\n"
" * 0.退出 * \n\n");
printf(" ******************************************\n\n");
printf("请在0-6中选择并以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1: shuru();//调用输入模块
break;
case 2:shuchu();//调用打印模块
break;
case 3:chaxun();//调用查询模块
break;
case 4:shanchu(); //调用删除模块
break;
case 5:dingpiao();//调用订票模块
break;
case 6:tuipiao();//调用退票模块
break;
case 0:;
剩余10页未读,继续阅读
- 粉丝: 1
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助