C语言程序设计课程设计飞机订票系统的设计
- 格式:doc
- 大小:426.43 KB
- 文档页数:38
1
C语言课程设计报告
指导老师:
2 C语言课程设计报告
一、 C语言课程设计的目的
C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说:
1. 进一步掌握和利用C语言进行程设计的能力;
2、 进一步理解和运用结构化程设计的思想和方法;
3、 初步掌握开发一个小型实用系统的基本方法;
4、 学会调试一个较长程序的基本方法;
5、 学会利用流程图或N-S图表示算法;
6、 掌握书写程设计开发文档的能力(书写课程设计报告);
二、课程设计报告正文
(1)课程设计题目的原文;
假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务:
航班信息录入功能(文件保存)
完成航班信息浏览功能;
查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);
任务:通过此系统可以实现如下功能:
录入: 可以录入航班情况(数据可以存储在一个数据文件中)
浏览:航班信息浏览功能需要提供显示操作;
查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。
(3)整体设计与模块划分;
3 根据需求分析,该程序可分为以下四大模块:
(4)代码设计;
包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等;
(一)主函数
(1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所需的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。
第一章 绪论
1.1:项目背景描述
1、课程设计性质与目的:
C语言程序设计是一门实践性很强的课程。C程序课程设计是学习C语言
程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所
学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程
序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。
2、课程设计包含的知识点:
1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语
句。
2.掌握数组的基本概念。掌握一维数组与二维数组的使用,掌握字符数组与
字符串的关系。
3.熟练掌握指针、地址、指针类型的概念及其使用。掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系
4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。
5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。结构体与指针、函数的关系。
第二章 可行性分析
一、问题描述:
假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地 航班号、航班定额。
2、本系统显示这样的菜单:
1.)录入: 可以录入航班情况(数据可以存储在一个数据文件中)
2.)浏览:航班信息浏览功能需要提供显示操作;
1、查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
(1) 输入航班信息
(2)输出航班信息
(3)查找航班信息
(4)订票预约
(5)删除定票预约
(6)退出系统
2、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
1 / 12
#include//标准输入、输出头文件
#include//包含字符串函数处理头文件
#include//包含access函数的头文件
#define N 99//定义最多的航班数
#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n
",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式
struct air//定义结构体数组{int num;//定义航班号
char start[20];//航班起始站
char over[20];//终点站
char time[10];//飞行时间
int count;//机票数量
}s[N];
int i,m=0;//定义全局变量
char ii[10];
void add();//函数声明增加航班信息函数
void print();//显示航班信息
void search();//查找航班信息
void dingpiao();//订票业务
void tuipiao();//退票
void read();//读取文件
void save();//保存文件
2 / 12
void output();//输出格式
void paixu();//航班排序
void chushihua();//系统初始化
void build();//建立数据文件
void paixu1();//按航班号从小到大排序
void paixu2();//从大到小
void main()//主函数{int j;
chushihua();//系统初始化判断是否存在原始数据文件
printf("欢迎使用飞机订票系统\n");//打印出系统主界面do{printf("================================================================================ ");
数据结构课程设计实验报告
- 1 - ———C语言版
课题:飞机订票系统和图的遍历的动态演示
姓名:
学号:
班级:
指导教师: 数据结构课程设计实验报告
- 2 - 订票系统
1.需求分析
任务:通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
2:主要设计思路:
1) 算法构造流程图:
A:主菜单:
数据结构课程设计实验报告
- 3 -
主菜单
0 1 2 3 4 5 6 7 8 9
输入航班的信息 列出航班的信息 按航班号查询航班信息 按城市来查询航班 订票程序 退票系统 修改飞机航班的信息 保存文件 读取文件 、下载文件 退出
B:各分块模板的构造流程图:
0.输入航班的信息
航班号 起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣
1.列出航班的信息
继续 y 退出 n
2.按航班号查询航班信息 数据结构课程设计实验报告
- 4 - 输入所需要查询的航班号
显示这个航班的的信息
4.订票程序
输入号码 输入名字 输入ID 需要定的票数 航班号
7.保存文件 3.按城市来查询航班
输入起飞城市 输入降落城市
显示这个航班的信息
5.退票系统
民航机场中有若干航班,每个航班的信息包括航班号,航线(起始点和终点站),起飞时间,飞行时间和乘客定额等。设计一个飞机订票系统,应有以下功能:
1航班信息录入功能(航班信息存储在文件中)
2航班信息浏览功能
3航线查询功能,包括航班号查询和按终点站查询
4订票功能
5退票功能
#include
#include
#include
#include
#define m 4 //3架飞机
#define n 5 //每架飞机5张票
struct node
{
char name[21];
char id[21];
int seat,plane,date;
node *next,*pre;
};
struct wait
{
char name[21];
char id[21];
char phone[8];
int seat,plane,date,count;
wait *next,*pre;
};
struct piao {
int seat[n+1];
};
void makenull();
void makenull_piao();
void makenull_information();
void list_menu();
void list_piao();
void makenull_wait();
void list_information();
void plane_information(node *head);
void book();
void add_information(node *head,int x,int y);
void add_wait(int x,int y);
void search_delete(int x);
void write_to_file();
void show_wait();
bool comp(node *x,node*y);
C语言课程设计
题目: 飞机订票系统
专业: 。。。。。。。。。。。。。。。。。。。
学号: 。。。。。。。。。。。
姓名: 。。。。。。。
任课教师: 。。。。。。。。
C语言课程设计报告
一、课程设计报告正文
(1)课程设计题目的原文;
假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务:
航班信息录入功能(文件保存)
完成航班信息浏览功能;
查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);
任务:通过此系统可以实现如下功能:
录入: 可以录入航班情况(数据可以存储在一个数据文件中)
浏览:航班信息浏览功能需要提供显示操作;
查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。
(3)整体设计与模块划分;
根据需求分析,该程序可分为以下四大模块:
(4)代码设计; 输入模块 显示模块 查询模块 退出模块 飞机订票系统
包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等;
二、航班基本信息输入模块
航班信息录入函数:
航班信息浏览函数:
[流程图]显示信息 文件打开否
输入信息
是否继续 将信息输出到磁盘
调用printf_back()函数
结束 开始
输出错误信息
C语言程序设计课程教学设计
This manuscript was revised by the office on December 10, 2020. 《C语言程序设计》课程教学设计
一、课程基本信息
适用专业 计算机信息管理专业 课程代码
课程性质 职业基础课程,专业的核心课程
学 时 90 学 分 5.5学分
课程归属 计算机系计算机信息管理教研室 课程负责人 曹明刚
二、课程总体设计
教学
目标 知识目标 (1)掌握C语言的各种数据类型,运算符和表达式。
(2)掌握程序的三种基本结构。
(3)掌握数组、函数、构造类型数据、指针、文件等方面的基础知识。
能力目标 (1)培养学生分析问题,解决问题的逻辑能力。
(2)培养学生针对实际问题,能用C语言编程解决的能力。
(3)培养学生对算法的时间和空间复杂性的分析能力。
素质目标 (1)锻炼清晰的逻辑思维能力。
(2)养成良好的代码书写习惯。
(3)提高沟通能力,培养团队精神和合作意识。
(4)培养实践工作能力和创新精神。
主要教学任务 本课程面向程序员岗位。课程主要任务是使学生明确C语言基本概念和掌握其编程技巧,掌握算法设计的思想,使学生能够编写出正确、清晰、质量较高的程序,具备进行初步程序设计的能力。
主要教学方法 本门课程要求学生掌握的知识点较多,其核心是训练学生程序设计的能力。本课程建议采用:讲授教学法、任务驱动法、案例教学法、多媒体教学法和双向互动教学法,以保证核心能力培养的实现。
考试与评价方法 1.过程评价:出勤次数,作业完成情况。占20%
2.操作考核:上机考试。占20% 3.笔试(闭卷)。占60% 三、课程教学内容设计表
模块主要内容与任务 总
时
数 其中
主要教学方法 教学目标
讲授课 实验 实训 核心知识 核心能力 核心素质
1、C语言概述 4 2 2 讲授法、任务驱动法 了解C语言程序的结构特点,掌握在V C环境下编辑、运行简单C语言程序的方法。 C程序调试、编译、运行的能力。 培养开发平台理解能力。
.
Word 资料 第一章 绪论
1.1:项目背景描述
1、课程设计性质与目的:
C语言程序设计是一门实践性很强的课程。C程序课程设计是学习C语言
程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所
学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程
序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。
2、课程设计包含的知识点:
1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语
句。
2.掌握数组的基本概念。掌握一维数组与二维数组的使用,掌握字符数组与
字符串的关系。
3.熟练掌握指针、地址、指针类型的概念及其使用。掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系
4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。
5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。结构体与指针、函数的关系。
.
Word 资料
第二章 可行性分析
一、问题描述:
假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地 航班号、航班定额。
2、本系统显示这样的菜单:
1.)录入: 可以录入航班情况(数据可以存储在一个数据文件中)
2.)浏览:航班信息浏览功能需要提供显示操作;
1、 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
(1) 输入航班信息
(2) 输出航班信息
(3) 查找航班信息
飞机订票系统
1.概述(设计题目与可行性分析)
1.1设计题目:飞机订票系统
1.2可行性分析
飞机订票系统是为机场工作人员和客户提供订票退票等与机票相关内容的管理系统,方便机场工作人员对机票的管理,以提高机场工作人员对机票管理工作的效率。当前飞机订票问题:手工订票所产生的客座率低。而我们的目标是:建立一个飞机订票系统数据库。
1.2.1研究现有系统,画现有系统的流程图
了解当前系统能够完成的功能及组成
航班管理:票据管理
售票点:直接面向用户
航班管理
票据管理
票库
订票库
订票管理
出售管理
打印机票
售票点1 售票点n
现有系统:票据都分布在各个售票点
1.2.2导出新系统的高层逻辑结构
数据流图的基本符号:
数据源/终点(人机界面):
加工处理:
文件名
文件:
数据流名
数据流:
票价信息
机票
查订票号
订票处理
客户信息
出票处理
订票记录 顾客
订票信息
订票号
库存信息
票价信息
票价管理
航班管理
航班信息
操作员
航班信息
保存
新系统的数据流图:
说明:流向文件的数据流的名可以省略
1.2.3可行性分析报告
随着Internet的迅速发展和用户数量的急剧增加,互联网对于企业和事业单位的运营和发展日益重要,网上交易也逐渐被人们认可,并成为未来交易的发展方向。在这种情况下,很多原有的C/S模式的系统也逐步向B/S模式靠拢,飞机订票系统也不例外。
飞机订票系统是飞机旅游服务信息系统的一个重要组成部分。为旅客提供优质便捷的服务,为了提高飞机客运的售票效率,丰富飞机客运的营销手段,飞机售票总站的下属代售点可以通过公用的互联网资源,建立数据库,实现网上的售票,查询及管理工作。
2.系统目标和设计原则
2.1系统目标:
建立一个飞机订票系统数据库。
2.1.1系统简介:
第28卷 黄冈师范学院学报 Journal of Huanggang Normal University 2008
用C语言实现航空订票系统课程设计的实践
郑良贵,朱泽民
(黄冈师范学院计算机科学与技术学院,湖北黄冈438000)
摘要 通过“航空订票系统”C语言课程设计的实践,探讨了课程设计的基本过程,重点总结了
设计中遇到的问题及解决方法。
关键词C语言;课程设计;航空订票系统
1航空订票系统描述和要求
航空订票系统是一个为航空管理员提供方便,为旅客提供航空定票录入、查询、咨询、订票、退票、修
改航班信息等功能的软件。
1.1航线信息
每条航线信息包括航班号、飞机号、目的地、订票数、余票数共5项.要求管理员能够对每条航线信
息进行编辑.假设现在有3条航线,目的地分别是北京、上海、广州,飞机上可乘坐100人(即初始订票数
为0,余票数为100),将这3条航线信息存入文件“airline.dat”中.
1.2订票业务
客户信息包括姓名、航班号、座位号(初始为0),假设已有3个客户信息存入文件“customer.dat”
中,有新客户订票时,先输入客户的姓名和他提出的航班号,查询该航线的订票情况,若有余票,则为客
户办理订票手续,分配给客户一个座位号,然后将新客户的信息添加到文件“customer.dat”中,并修改
文件“airline.dat”中该航线的订票数和余票数.若无余票,则输出客满信息.
1.3退票业务
根据客户提出的航班号,办理退票,从文件“customer.dat”中删除该客户的信息,并修改文件“air—
line.dat”中相应航线的订票数和余票数.
1.4输出所有航线和客户信息
1.5退出系统
2航空订票系统总体设计
2.1数据结构设计
运用C语言进行编程Ⅲ,要考虑到航线信息和客户信息中都包含有不同类型的数据,故分别建立航
线和客户两种类型的结构体;由于航线和客户的数量不固定,所以采用动态链式存储来实现嘲(见图1
辽宁师范大学
设计题目:火车订票系统设计
专业: 电子信息工程
班级: 09级3班
姓名: **
学号: **************
目 录
一 总体设计(包含几大功能模块) ............................... 1
二 详细设计(各功能模块的具体实现算法——流程图) ...................................................................................... 2
三 调试分析(包含各模块的测试用例,及测试结果) .............................................................................................. 3
3.1源程序 ....................................................................... 6
3.2调试与测试 ............................................................. 31
四 总结 ............................................................................... 33
一 总体设计(包含几大功能模块)
1.Insert a train information(插入火车信息)
2.inquire a train jinformation(查询火车信息)
3.Book a train ticket(订票)
订票系统
1.需求分析
任务:通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
2.概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。
主菜单 0 1 2 3 4 5 6 7 8 9
输入航班的信息 列出航班的信息 按航班号查询航班信息 按城市来查询航班 订票程序 退票系统 修改飞机航班的信息 保存文件 读取文件 、下载文件 退出
0.输入航班的信息
航班号 起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣
1.列出航班的信息
继续 y 退出 n
2.按航班号查询航班信息
输入所需要查询的航班号
显示这个航班的的信息
4.订票程序
输入号码 输入名字 输入ID 需要定的票数 航班号
3.按城市来查询航班
输入起飞城市 输入降落城市
显示这个航班的信息
5.退票系统
输入航班号 输入你ID
确定退票
1 否定 0
6.修改飞机航班的信息
输入要修改的航班号
重新输入新的航班信息
7.保存文件
显示保存成功
详细设计
3.源程序
/******头文件(.h)***********/
#include /*I/O函数*/
C语言程序设计 课程设计
题目: 飞机订票系统
院(系):
专业班级:
学 号:
学生姓名:
指导教师:
教师职称:
起止时间:
课程设计(报告)任务及评语
学 号 学生姓名 专业班级
程序设计(报告)题目 飞机订票系统
程序设计(报告)任务
程序设计的任务与要求:
(1)掌握C语言编程的基础知识。
(2)较熟练地编写C语言应用程序。
(3)了解C语言的常用标准函数、编程技巧、异常处理。
(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。
(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。
(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。
指导教师评语及成绩
成绩: 指导教师签字:
年 月 日
目 录
第1章 课程设计的目的与要求 ................................................. 1
1.1 课程设计目的 ........................................................ 1
1.2 课程设计的实验环境 .................................................. 1
1
C语言课程设计报告
题目 飞机订票系统
学院
资源学院
专业 资源勘查工程(工科基地班)
姓名 刘豪杰
班级 020141
学号 ***********
指导教师 张冬梅
2 目录
C语言课程设计目的················第3页
题目要求 ·························第3页
需求分析 ·························第3页
整体设计与模块划分 ···············第4页
详细分模块设计 ···················第4页
上机操作 ·························第11页
程序代码··························第13页
总结与反思························第18页
3
C语言课程设计报告
一、 C语言课程设计的目的
C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说:
1. 进一步掌握和利用C语言进行程设计的能力;
2、 进一步理解和运用结构化程设计的思想和方法;
3、 初步掌握开发一个小型实用系统的基本方法;
4、 学会调试一个较长程序的基本方法;
5、 学会利用流程图或N-S图表示算法;
6、 掌握书写程设计开发文档的能力(书写课程设计报告);
二、课程设计报告正文
(1)课程设计题目的原文;
假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务:
航班信息录入功能(文件保存)
完成航班信息浏览功能;
查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);
任务:通过此系统可以实现如下功能:
数据库课程设计报告
题 目 飞机订票管理系统
目录
第一章 概述 ..................................................................................................................................... 3
1.1项目背景 ............................................................................................................................. 3
1.2 编写目的 ............................................................................................................................ 3
1.3 开发工具 ............................................................................................................................ 3
1.3.1软件定义 .................................................................................................................. 3
1.3.2 开发环境 ................................................................................................................. 3
.. .. #include //标准输入、输出头文件
#include //包含字符串函数处理头文件
#include //包含access函数的头文件
#define N 9999 //定义最多的航班数
#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n
",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式
struct air //定义结构体数组
{
int num; //定义航班号
char start[20]; //航班起始站
char over[20]; //终点站
char time[10]; //飞行时间
int count; //机票数量
}s[N];
int i,m=0; //定义全局变量
char ii[10];
void add(); //函数声明增加航班信息函数
void print(); //显示航班信息
void search(); //查找航班信息
void dingpiao(); //订票业务
void tuipiao(); //退票
void read(); //读取文件
void save(); //保存文件
void output(); //输出格式
void paixu(); //航班排序
void chushihua(); //系统初始化
void build(); //建立数据文件
void paixu1(); //按航班号从小到大排序
void paixu2(); //从大到小
void main() //主函数
{
int j;
chushihua(); //系统初始化判断是否存在原始数据文件
1 一、设计内容与设计要求
一、设计内容:
飞机订票系统
1.1问题描述:
假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。
1.2功能要求:
1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地 航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。
2)、本系统显示这样的菜单:
(1) 输入航班信息
(2)输出航班信息
(3)查找航班信息
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
(4)订票预约
(5)删除定票预约
(6)退出系统
1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
2、查找航班信息既可按线路查,也可按目的地查。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开
始的时候,它首先从该文件读入数据
1.3 算法提示:
1、数据结构:结构体类型数组 2 2、数据库结构:下表构成该系统的基本数据库。
航班号 起飞时间 目的地 座次号 座次订出与否的标记 订票者姓名 订票者身份证号码
int char char int Char char char
1.4测试数据:
每架飞机的座位N=12,M=5
1.5 其它:
对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。
二、设计要求
1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5).上机演示。
二、进度安排
第 18 周 星期一上午 课题讲解 查阅资料
星期一下午 系统需求分析 模块设计
星期二上午 算法、数据结构设计 主程序设计
星期二下午 各功能模块程序设计 修改完善程序
星期五下午 各功能模块程序设计 修改完善程序
第 19 周 时间待定
星期五下午 答辩
3
目 录
一、需求分析 ............................................................................................................... 4
1、程序的功能....................................................................................................... 4
2、输入输出的要求............................................................................................... 6
二、概要设计 ............................................................................................................... 9
三、详细设计 ............................................................................................................. 11
1、数据类型......................................................................................................... 11
2、模块分析......................................................................................................... 12
3、函数的调用关系............................................................................................. 12
四、调试分析以及设计体会 ..................................................................................... 13
1、测试数据......................................................................................................... 13
2、调试分析......................................................................................................... 13
3、心得体会......................................................................................................... 14
五、使用说明 ............................................................................................................. 15
六、附录 ..................................................................................................................... 17
1、参考书目......................................................................................................... 17
2、源程序清单(带注释)................................................................................. 17
七、计算机科学与技术系课程设计评分表 ............................................................. 40
4
一、需求分析
1.1 系统功能需求
1.1.1 程序的功能
1.系统管理员功能:
1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息
2)输出航班的信息:输入航班号便可输出之前输入的航班信息
2. 客户需要的功能:
1)查找航班信息:
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
2)订票预约:查询航班信息后,提前订票预约需要的飞机票,
3)删除定票预约
4)退出系统
5 1.1.2 主要模块流程图
1.1.3 功能描述
功能序号 功能名称 功能说明
3 查询 查询空座信息,包括空座数量。
查询已定座的信息,包括起飞时间。
4 订票预约 ①填写个人信息:包括乘客姓名、乘客所在单位,乘客身份证号
②填写订单信息:包括起飞城市、起飞时间、到达城市、路径城市。
5 删除订票 由于各种原因,客户不再需要订购的飞机票,客户可以删除之前定的飞机票,只需依次输入航班号,座位号,确定删除即可。
1.1.4各功能模块的功能描述
(1)显示菜单函数:
FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);
PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);
用户可以根据菜单提示,选择相关菜单。
(2)查找函数: 主函数
输入航班信息
查找航班信息
输出航班信息
退出系统 6 查询航班号函数chaxunhangban(FLIGHT fltlist[]),查询已定座信息函数chaxunyidingxinxi(PASSENGER* psglist), 查空位信息函数chakongweixinxi(FLIGHT fltlist[],PASSENGER* psglist),查空位个数函数chakongweigeshu(FLIGHT fltlist[],PASSENGER* psglist)。
本算法实现查找航班信息功能。用户可以根据航班号或起飞抵达城市查找航班信息。如果没有该航班信息,将提示相关信息。
(3)主控函数:
void main(void)从数据文件中读入航班信息,用户选择某菜单,实现调用该菜单功能的函数。
(4)订票函数:
void Book(FLIGHT fltlist[],PASSENGER* psglist)
本算法实现订票功能。用户输入订票信息后,该算法就会根据用户输入信息查找航班信息,找到就显示订票成功相关信息,且该航班票量减去用户订的票数。如没找到,则提供相关的其他航班信息。该算法功能可以循环执行。
(5)退票函数:
void tuipiao(FLIGHT fltlist[],PASSENGER* psglist)
本算法实现退票功能。用户可以根据自己的航班型号退票。
当用户输入航班型号退票,该算法会根据用户的航班型号查找储存在以head为头节点链表中的客户信息,找到删除该客户信息节点,并输出退票成功相关信息。否则提示没有该客户信息。
1.2 输入输出的要求
1.2.1 输入的要求
输入必须按以下五个步骤进行:
1)输入航班号,航班号为0到4的数;
2) 输入起飞港,比如beijing;
3) 输入途径港,比如tianjing;
4) 输入到达港,比如shanghai;
5) 输入起飞时间,比如12:00;输入到达时间,比如14:00,输入总共用时,比如02:00