没有合适的资源?快使用搜索试试~ 我知道了~
C语言大作业实验报告(非健壮1
需积分: 0 2 下载量 163 浏览量
2022-08-08
21:58:52
上传
评论
收藏 812KB DOCX 举报
温馨提示
试读
28页
2.查询各航线信息 3.订 票 4.退 票 5.新航班信息录入
资源详情
资源评论
资源推荐
飞机订票系统实验报告
一、实验题目
飞机订票系统设计
二、实验内容
设计一个功能比较完全的飞机订票系统。
该系统的功能主要包括:
①用文件保存航班的信息,需要提供文件的写入的读出操作。
②航班信息的浏览功能,需要提供文件的显示操作。
③存储客户信息和客户订票信息,并能浏览和查询客户订票信息
④提供键盘式选择菜单以实现功能选择。
三、实验目的和要求
1.目的
做一个训练 C 语言的各种语法、文件的读出和写入等使用、结构体的使用、
链表的应用等操作。
2.输入输出的要求:
①数字选择输入:根据光屏提示文字进行输入。
②输出多项式:通过读取文件信息以及用户写入文件的信息显示在系统的终
端。
四、程序的框架结构
1.主要数据类型定义:
对于飞机订票系统来说,主要分为客户的订票信息和各条航班的信息,客户
订票信息包括:客户姓名、所选择航班信息、客户身份证号、所订票数、所选航
班级别。因此可将每个客户的订票信息作为线性表中的一个元素,定义一个嗲有
头节点的链表来做客户订票信息模块。
typedef struct BOOK
{
char Airnum[8]; //订票的航班号
char name[20]; //客户信息
char didentify[20]; //客户身份证
int order_amount; //订票数
int grade; //航班级别
struct BOOK *Pnext;
}*PBookList,BookList;
对航班而言,需要:航班号、起始地、终止地、起始时间、终止时间、起飞
日期、价格、航班类型、乘客定额、所余票数,以此来组成链表。
typedef struct airinfo
{
char Airno[8]; //航班号
char start[10]; //起始地点
char end[10]; //终止地点
char sche[10]; //起飞日期
char time1[10]; //起飞时间点
char time2[10]; //终止时间点
char mode[20]; //飞机类型
int price; //机票价格
int fixed;//乘客定额
int extratkt; //剩余票数
PBookList order;/*指向乘员名单链表的头指针,通过这个指针就可以找到所有乘客
的名单了*/
}AirInfo,*PAirInfo;
2.本程序包括以下四个模块:
①主程序模块:
main()
{
用户登录系统;
读取文件中所有航班信息;
读取客户订票信息系统;
选择{
1.显示各航线信息;
2.查询各航线信息;
3.订 票;
4.退 票;
5.新航班信息录入;
0.退 出 系 统;
}
打印用户所选的信息;
}
②用户登录模块:
void login_user () //用户的登陆
{
打开用户文件;
将用户的姓名、年龄、性别、身份证号写入文件;
关闭文件;
}
③航班信息的显示:
void meau1(void)
{
输入需要显示信息的序号;
{
1. 显示所有航班的信息;
2. 显示所有订单客户;
3. 返回主菜单;
}
打印用户选择的显示信息;
}
④航线信息的查询:
void meau2() //查询航线信息的子菜单。
{
输入需要查询信息的序号;
{
1. 按航班号查询;
2. 按起始站查询;
3. 按终点站查询;
4. 按起飞日期查询;
5. 返回主菜单;
}
通过与文件信息内容的对比进行查询;
若存在该信息则进行打印该信息;
若不存在返回用户不存在的信息;
}
⑤订票模块:
void orderTicket() //用户订票信息的写入
{
打开订票信息的文件;
若文件不存在,返回 error,程序终止;
写入入订票客户的姓名、身份证号、所订航班号、订票数量、航班
级别;
查询有没有该用户输入的航班信息;
输出客户的座位号(通过航班总额度和剩余票数计算);
打印该条航班的信息;
该航班的剩余票更新;
}
⑥退票模块:
void refund_ticket()
{
输入客户的姓名;
查询订票信息中有没有该客户姓名;
若有,通过链表去掉该订票信息,并更新余额票数;
若没有,返回错误信息;
}
⑦新航班信息的录入:
void newAirMsg()
{
打开航班信息的文件;
将一个航班的所有信息:航班号、起始地、终止地、起始时间、终
止时间、起飞日期、价格、航班类型、乘客定额、所余票数,写入航班信息的文
件;
打印该航班的信息;
关闭航班信息的文件;
}
3.各程序模块之间的层次关系。
五、源代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void login_user();
void meau1(void); //打印航线信息模块;
void printAllofAirMsg(); //打印所有航线
void printfOneofAirMsg(int i); //打印选中的某条航线;
void meau2(void); // 航线查询模块
void searchbyAirno(); //以飞机型号查询飞行信息;
void searchbystartPlace(); //以飞机起始地查询
void searchbyEndPlace(); //以飞机终止地查询
void searchbySche(); //以飞机飞行日期查询
void newAirMsg(); //新航线的录入
#define MAXSIZE 20
#define MAX 80
#define BOOKMAX 100
struct User //用户
{
char userName[20]; //用户姓名
char passWord[18]; //用户密码
char sex[5]; //性别
char didentify[20]; //身份证号
int is_admin; 1
用户登录模块
查询各航线信息
m
订票模块
显示各航线信息
nm
退票模块
m
主程序模块
航班录入
m
剩余27页未读,继续阅读
ai
- 粉丝: 55
- 资源: 315
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0