C++课程设计:基于Qt的航班信息管理系统

本文是航空机票订票系统的课程设计报告,采用Qt6.6.0和C++11开发。介绍了系统的具体题目、开发技术栈、需求分析等,阐述了用户和管理员界面的运行结果、功能模块结构及主要模块算法,还总结了课程设计中的问题与收获,并提供了源码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

源码下载链接:

第一章 航空机票订票系统描述

1.1 具体题目

1.2 开发技术栈

1.3 需求分析

1.4界面迁移逻辑

 第二章 运行结果

4.1用户有关界面

4.1.1用户登陆界面

4.1.2用户查询界面

4.1.3用户订票界面

4.1.4用户改签界面

4.1.5退票界面

4.2管理员有关界面

4.2.1管理员登录界面

4.2.2管理员添加航班界面

4.3文件有关结果

4.3.1航班文件

4.3.2用户文件

4.3.3管理员文件

4.3.4航班文件

第三章 功能模块结构

2.1功能模块划分思路

2.2用户主要功能模块

2.2.1登录模块

2.2.2注册模块

2.2.3查询界面

2.2.4个人中心界面

2.2.5订票界面

2.2.6改签界面

2.3管理员主要功能模块

2.3.1登录模块

2.3.2注册模块

2.3.3添加航班界面

2.3.4删除航班界面

2.3.5查询航班界面

第四章 主要模块算法

3.1读取与写入算法

3.2查询算法

3.3订票算法

3.5改签算法

3.6添加航班算法

3.7删除航班算法

第五章 课程设计总结

5.1课程设计中的问题

5.1.1文件保存问题

5.1.2全局变量的使用问题

5.1.3管理员界面导航栏的设计问题

5.2课程设计的收获

第六章 源码

6.1 用户操作有关代码

6.1.1用户登录代码

6.1.2用户查询代码

6.1.3用户订票代码

6.1.4个人中心代码(包含退票)

6.1.5用户改签代码

6.1.6用户注册代码

6.2管理员有关代码

6.2.1管理员登录代码

6.2.2管理员注册代码

6.2.3添加航班代码

6.2.4删除航班代码

6.2.5查询航班代码

6.3其他代码

6.3.1航班和乘客定义代码

6.3.2用户定义代码

6.3.3管理员定义代码

6.3.4全局变量

6.3.5主函数


源码下载链接:

https://download.youkuaiyun.com/download/Fatunlorey/89232942?spm=1001.2014.3001.5503icon-default.png?t=N7T8https://download.youkuaiyun.com/download/Fatunlorey/89232942?spm=1001.2014.3001.5503        这篇文章相当于是一篇课程设计报告,源码参见上面的链接(无需付费)

第一章 航空机票订票系统描述

1.1 具体题目

1.设计每条航线所涉及的信息,包括航班信息:起点终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、票价、余票量等,所有客户订票信息:包括姓名、订票量、航班号,舱位等级1,2或3等;所有客户退票信息:包括姓名、退票量、航班号,舱位等级1,2或3等;

2.结合基本操作的单链表、队列、二叉树等数据结构以及排序算法,设计实现机票订票系统的查询、订票、退票、改签等功能;

3.设计并实现人机交互友好的界面或菜单。

1.2 开发技术栈

    应用技术栈:

    (1)qt版本:Qt6.6.0

    (2)开发语言:C++11

    设计功能技术:

  1. 自定义导航栏开发
  2. QStackWidget、QTableWidget高级控件
  3. QPushButton、QLabel、QLineEdit、QWidget、QComBox、QCheckBox、QToolButton
  4. 自定义布局技术
  5. 自定义信号与槽
  6. 界面的迁移逻辑
  7. 主要文件的保存

1.3 需求分析

                                

                                       

1.4界面迁移逻辑

                                                                          

 第二章 运行结果

4.1用户有关界面

4.1.1用户登陆界面

4.1.2用户查询界面

4.1.3用户订票界面

4.1.4用户改签界面

4.1.5退票界面

4.2管理员有关界面

4.2.1管理员登录界面

4.2.2管理员添加航班界面

4.2.3管理员查询航班界面

4.2.4管理员删除航班界面

4.3文件有关结果

4.3.1航班文件

4.3.2用户文件

4.3.3管理员文件

4.3.4航班文件

第三章 功能模块结构

2.1功能模块划分思路

       根据使用者的不同,可以分为用户使用和管理者使用两类,用户需要实现的功能有登录、注册、订票、退票、改签,查询这六个功能;管理者需要实现的功能有登录、注册、添加、删除,查询航班这五个功能。另外,还有一部分功能,是设计信息的读取与存储,这部分在第三章中会详细描述。

2.2用户主要功能模块

2.2.1登录模块

lineEditAccount:账号的输入;

lineEditPassword:密码的输入;

checkbox:密码隐式或显式输入的选择;

pushButton1:跳转到管理员登录界面;

pushButton2:跳转到用户界面;

pushButton3:跳转到用户注册界面。

2.2.2注册模块

lineEditAccount:账号的输入;

lineEditPassword:密码的输入;

lineEditPassword_2:再次确认密码;

lineEditName:姓名的输入;

lineEditSfz:证件号的输入;

pushButton1:确定创建用户;

pushButton2:取消创建返回登录界面。

2.2.3查询界面

lineEditChu:输入出发地;

lineEditDao:输入到达地;

lineEditDate:输入日期;

tableWidget:显示查询航班信息;

pushButton1:搜素按钮在tableWidget中显示查询的航班信息;

pushButton2:返回按钮,退回到登录界面;

pushButton3:跳转到个人中心界面;

pushButton:在tableWidget中插入的按钮,点击后跳转到订票界面。

2.2.4个人中心界面

labelSet1:显示用户的姓名;

labelSet2:显示用户的账号;

tableWidget:显示用户已经购买的机票信息;

pushButton1:返回按钮,返回查询界面;

pushButton2:退票按钮,点击航班后相应按钮可以实现退票;

pushButton3:改签按钮,点击航班后相应按钮可以跳转到改签界面。

2.2.5订票界面

lineEditName:输入姓名;

lineEditSfz:输入证件号;

comboBox:下拉式窗口选择舱位类型;

graphicsView:设置背景图片;

pushButton1:订票按钮,点击实现订票;

pushButton2:返回按钮,退回查询界面。

2.2.6改签界面

lineEditChu:显示原航班出发地;

lineEditDao:显示原航班到达地;

lineEditDate:选择想要改签的日期;

tableWidget:显示查询航班信息;

pushButton1:搜素按钮在tableWidget中显示查询的航班信息;

pushButton2:返回按钮,退回到个人中心界面;

pushButton:在tableWidget中插入的按钮,点击后进行改签。

2.3管理员主要功能模块

2.3.1登录模块

lineEditAccount:账号的输入;

lineEditPassword:密码的输入;

checkbox:密码隐式或显式输入的选择;

pushButton:跳转到管理员界面;

Buttonregreist:跳转到管理员注册界面;

pushButton_2:返回按钮,返回用户登录界面。

2.3.2注册模块

lineEditAccount:账号的输入;

lineEditPassword:密码的输入;

lineEditPassword_2:再次确认密码;

lineEditName:姓名的输入;

lineEditGongHao:工号的输入;

pushButton1:确定创建管理员;

pushButton2:取消创建返回管理员登录界面。

2.3.3添加航班界面

lineEditArr:输入起始地;

lineEditArrTime:输入起飞时间;

lineEditLau:输入到达地;

lineEditLauTime:输入到达时间;

lineEditCode:输入飞机航班号;

lineEditDate:输入飞机起飞日期;

lineEditNum1:输入飞机经济舱人数;

lineEditNum2:输入超级经济舱人数;

lineEditNum3:输入头等舱人数;

lineEditPrice1:输入飞机经济舱票价;

lineEditPrice2:输入超级经济舱票价;

lineEditPrice3:输入头等舱票价;

pushButton:添加按钮,点击后即可新增航班。

2.3.4删除航班界面

pushButton:删除按钮,点击后即可删除航班。

lineEdit:输入要删除航班的航班号;

2.3.5查询航班界面

lineEditChu:输入出发地;

lineEditDao:输入到达地;

lineEditDate:输入日期;

tableWidget:显示查询航班信息;

pushButton:搜素按钮在tableWidget中显示查询的航班信息;

第四章 主要模块算法

3.1读取与写入算法

        在整个程序使用过程中都需要使用航班、用户和管理员有关信息,所以需要将这些有关变量设置为全局变量,并将读取和写入函数定义为静态函数(即不需要实例化对象就可以使用的全局函数)。程序中航班的信息使用Qlist来存储,而每个航班相应的乘客使用链表的方式存储。

 

        上图中的代码是对flight和customer的定义,以及对读写函数的声明。

        这部分是对航班的读取函数,它的返回类型是Qlist<flight>类型,每次从文件中读取一行数据,用逗号作为标识区分一个航班的不同信息,把每一个航班的信息存入临时flight类型变量info中,然后插入到flightList的尾部,循环一直到读取完所有的航班信息。

        这部分是航班的写入函数,即把flightLsit中的每一个航班信息都写入到文件中,为了防止信息的重复,写入的方式是先清空再写入。

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值