c语言课程设计飞机订票系统

  • 格式:doc
  • 大小:249.66 KB
  • 文档页数:31

飞机订票系统设计 1 《程序设计基础》 课程设计报告

课程设计题目 飞机订票系统 指导老师: * * * 班 级: 1103班 学 号:xxx 完成日期: 2012-09-22

Xx 飞机订票系统设计

2 目 录

一. 课程设计目的-----------------------------------------------------------------3 二. 课程设计方案-----------------------------------------------------------------3 总体思路………………………………………………………………………………………3 课程设计内容…………………………………………………………………………………3 项目需求了解…………………………………………………………………………………3 软件总体模块设计……………………………………………………………………………3

三. 课程设计内容-----------------------------------------------------------------4 课程设计的实验环境…………………………………………………………………………4 课程设计的预备知识…………………………………………………………………………4

四. 课程设计步骤-----------------------------------------------------------------4 系统结构分析…………………………………………………………………………………4 软件设计阶段…………………………………………………………………………………8 软件测试以及维护阶段……………………………………………………………………..8 源代码附录…………………………………………………………………….….…………8 结束语………………………………………………………………………………………..30

课程设计目的: 假定民航机场共有n个航班,每个航班有一航班号、确定的航飞机订票系统设计 3 线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。要求学生根据所学的程序设计基础原理与程序设计的知识,能够针对一个小型的程序设计基础管理系统,进行系统的需求分析,系统设计,程序设计基础设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型系统程序设计的目的。

课程设计方案: 1.总体思路: 利用学到的C语言编程知识和编程技巧,完成一个小型管理信息系统的开发,帮助学生熟悉开发一个系统的整个过程:系统分析、程序的设计、编写与调试等过程。

2.课程设计内容: 1. 航班信息录入功能(航班信息用文件保存) 2. 航班信息浏览功能 3. 查询航线 (1)按航班号查询 (2)按终点站查询 注:查询结果用链表的形式保存并输出 4. 承办订票和退票业务

课程设计条件: 1.课程设计的实验环境: 飞机订票系统设计 4 硬件要求能运行Windows XP操作系统,开发工具可采用Microsoft Visual C++ 6.0。 2.课程设计的预备知识 熟悉C语言编程知识和编程技巧,熟练运用C语言编程系统,

将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题以及提高实际编程的能力。 参考文献 王曙燕 《C语言程序设计》 李丽娟《C语言程序设计》等

课程设计步骤 1.系统结构分析 1. 每条航线所涉及的信息有:起终点站名、航班号、飞行时间、乘员定额、票价 、售出票数 2. 系统能实现的操作和功能如下: a) 查询航线: 根据旅客提出的终点站名输出下列信息:航班号、时间、起终点站 b) 承办订票业务: 根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续, c) 退票业务: 根据客户提供的情况(日期、航班),为客户办理退票手续。

本系统性能力求易于使用,并且具有一定的稳定性。系统的飞机订票系统设计 5 功能结构关系图及系统结构连接图如下

软件设计阶段

在系统中包括以下几个功能:基本信息录入、浏览、查询、修改、

删除。

(1)登陆界面的设计:

主函数 输入航线信息 浏览航班信息 航班操作 办理订票业务 办理退票业务 保存 退出 飞机订票系统设计

6 功能: 登陆者可以选择自己将要使用的功能,选择不同的序号可进入为自己服务的界面。 (2)信息录入界面:

可以录入最多1000航班 (3)航班的浏览界面 飞机订票系统设计

7 (4)航班的订票界面 (6)航班的退票界面: 飞机订票系统设计

8 (7)航班的操作界面 (8)航班的退出 飞机订票系统设计

9 软件测试阶段及维护: 在订票系统中我们发现,在订票时我们的把机票信息中的剩余票数要减少一个,而在退票时我们的把剩余票数加以个,由于在文件的定义时不好把机票信息文件和旅客信息文件放一起,所以在修改机票剩余票数的是侯的打开两个文件然后得对两个文件进行修改。 再保存模块得把机票的信息录入进去,所以有很多不分都得写,像机票信息的录入,修改,删除,这样一来就像是写一个机票信息管理系统一样,这样一来导致这个文件会很大,很繁琐。但是还好c语言是面向过程的导致很多的程序代码重复,这样就在写好一部分代码以后就可以进行复制,然后进行修改就行,总体来说工作量还不是很大。 源代码: #include #include #include #define N 1000 typedef struct plane { char ID[10]; /*航班代号*/ char BePlace[10];/*飞机起飞地点*/ char EnPlace[10];/*飞机降落终点*/ char data[15];/*飞机起飞时间*/ 飞机订票系统设计 10 int max;/*飞机最大乘客人数*/ int price;/*飞机票价*/ int num;/*飞机已售票数*/ }PLANE; PLANE ti[N]; int n;/*当前的航班数目*/ void menu(); void menu1();

void input(int i) { printf("请输入航班代号:\n");

scanf("%s",ti[i].ID); printf("请输入起飞地点:\n");

scanf("%s",ti[i].BePlace); printf("请输入降落地点:\n");

scanf("%s",ti[i].EnPlace); 飞机订票系统设计 11 printf("请输入起飞时间:\n");

scanf("%s",ti[i].data); printf("请输入航班的最大载客人数:\n"); scanf("%d",&ti[i].max); printf("请输入航班的票价:\n"); scanf("%d",&ti[i].price); ti[i].num=0; }

void enter() { int i; system( "cls" ); printf("请输入航班的数目(0-%d)?:",N); scanf("%d",&n); /*要输入的记录个数*/ printf("\n请输入数据\n\n"); for(i=0;i{ printf("\n请输入第 %d 航班记录.\n",i+1); input(i); /*调用输入函数*/ 飞机订票系统设计 12 } getchar(); menu(); }

void printf_one(int i) /*显示一个记录的函数*/ { printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);

}

void browse() { int i; system( "cls" ); puts("\n--------------------------------------------------------------------"); 飞机订票系统设计 13 printf("\n\t航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数\n"); for(i=0;i{ printf_one(i); printf("\n"); } getchar(); getchar(); menu(); }

void order() /*排序模块(按平均成绩)*/ { int i,j; struct plane s; system( "cls" ); for(i=0;i{

for(j=i+1;jif(strcmp(ti[i].data,ti[j].data)>0)