• 大小: 30KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-02-06
  • 语言: C/C++
  • 标签: 课程设计  

资源简介

C语言的数据结构课程设计-航空订票系统,里面有论文、源码,以及编译后的exe文件

资源截图

代码片段和文件信息

/*
码农:王春雷
内容:模拟航空订票系统,包含对文件的处理。
2018-12-12:
一个bug,在没有航班信息表的情况下,添加航班信息之后,输出的航班信息为空。
已改正,原因是,航班信息是存储在临时数组里面的,数组的信息在管理员登录的时候添加了依次,但是在管理员
添加完信息后并没有更新。航班信息,只是在管理员登录成功,用户登录和管理员添加航班信息时候,才会到文件中去
读数据。
优化航班信息在文件中的修改,只有用户确定修改一个元组信息的时候,才会把一个完整的新的元组写入文件中。
2018-12-14:
新发现一个bug,当没有人退票的时候,显示所有订票信息的时候会出现一个空值。应该是排序算法写错了。
已改正,错误原因:进行排序的时候,总的订票人数(index)比实际大1,标记第一个有效订票位置(firstValid)位
置正好,混乱了

业务不合理部分:
在修改航班信息的时候应该给顾客提示信息,需要在顾客结构体中添加一个提示信息属性
属性已经添加。

在修改航班信息的时候,对相关的顾客提供提示信息。
当管理员修改的是飞机号和时间的话,只需要给出提示信息就好了,但是管理员直接修改了航班的出发地和目的地的话,那
该航线的所有顾客的飞机票就要作废了。这样的话,在顾客查看自己的机票的时候第一次查看机票,机票是存在的,但是会
告诉顾客此机票已经作废,已经退款,再次查询的话就应该是不存在了。
以实现。

仍需增加的功能:删除航班信息。
已经实现,当航班被删除后修改顾客的信息的提示(tips),同时删除航班信息表中的信息
2018-12-16:
设置清屏内容,使显示更加简洁,清晰
*/

#include //标准输入、输出头文件
#include //包含字符串函数处理头文件
#include //access 函数的头文件
#include  //清屏
#define MaxAirlines 1000 //允许输入的最多的航班数量
#define MaxClients 10000 //允许最多的用户
#define PRINT “%d\t\t%d\t\t%s\t\t%s\t\t星期%d\t\t%d\t\t%d\n“ array_Airline[index_airline].airlineNum array_Airline[index_airline].airplaneNum array_Airline[index_airline].departure array_Airline[index_airline].destionation array_Airline[index_airline].time array_Airline[index_airline].totalTickets remain(array_Airline[index_airline].remainTickets) //宏定义输出格式
#define PRINTCLIENT “%d\t\t%d\t\t%s\t\t%s\t\t星期%d\t\t%s\t\t%d\t\t%s\n“ array_Airline[index_airline].airlineNum array_Airline[index_airline].airplaneNum array_Airline[index_airline].departure array_Airline[index_airline].destionation array_Airline[index_airline].time client.name client.seatNum client.tips

struct Airline { //航班结构体
int airlineNum; //航班号
int airplaneNum; //飞机号
char departure[10]; //出发地点
char destionation[10]; //目的地
int time; //飞行时间(星期几)
int totalTickets; //总票数
int remainTickets[1024];//剩余票数
} array_Airline[MaxAirlines];

struct Client{ //用户的结构体
char name[10]; //用户名
int airlineNum; //航班号
int seatNum; //座位号
char tips[50]; //提示信息
} client;

int totalAirlines; //统计总航班数量
int index_airline; //查询航班使用的下标
char manager[] = {“root“};
char password[] = {“root“};
Client clients[MaxClients];

void userLoginForm(); //登录确定身份页面
void managerLogin(); //管理员身份确认
void managerForm(); //管理员页面
void userForm(); //用户页面
void showAirlineForm(); //显示航班信息页面
void addAirlineForm(); //增加航班信息页面
void updateAirlineForm(); //更新航班信息页面
void deleteAirlineForm(); //删除航班信息页面
void showUserInfoForm(); //显示所有用户信息页面
void clientShowAirlineForm();//显示航班信息
void selectClientInfo(); //显示用户信息页面
void bookingTicketsForm(); //订票页面
void deleteClientForm(); //退票页面

void printAirlineInfo(); //显示航班信息,开始时候,包含读取文件
void readInfoToArray(); //将航班信息从文件中读取到数组中
void addAirline(); //添加航班信息
void outputAirlineInfo(); //仅仅将数组中的信息输出
void outputSingalAirlineInfo(int index); //输出单独一条航班信息
void updateAirlineInfo(); //修改航线信息
int searchAirline(int id); //查询航班信息在数组中的位置,使用二分法查找
void printUpdateAirli

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      30082  2018-12-17 22:53  BookingAirlineTickets.cpp

     文件      68499  2018-12-17 19:41  BookingAirlineTickets.exe

     文件      12396  2018-12-17 21:10  airline.dat

     文件        432  2018-12-17 21:10  customer.dat

----------- ---------  ---------- -----  ----

               111409                    4


评论

共有 条评论