当前位置:文档之家› 数据结构课程设计 飞机订票系统分解

数据结构课程设计 飞机订票系统分解

数据结构课程设计  飞机订票系统分解
数据结构课程设计  飞机订票系统分解

摘要

随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,

其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。

本文Microsoft Visual C 6.0作为程序代码的实现软件,进行飞机订票系统的数据结构课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结构表,并给出所用的结构体和结点类型。在此基础上,进行各功能模块的详细算法设计,做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信息、修改航班信息和退出系统7个基本功能,经测试后健壮性良好。

关键词飞机订票系统;数据结构;C语言;单链表

目录

1 问题背景 (1)

2 问题分析 (1)

3 需求分析 (2)

3.1 用户需求分析 (2)

3.2 功能需求分析 (2)

3.3 系统需求分析 (3)

4 逻辑设计 (3)

4.1 数据结构 (3)

4.2 各功能模块间函数调用关系 (5)

4.3 函数说明 (5)

5 详细设计 (7)

5.1 录入航班信息 (7)

5.2 顾客订票模块 (8)

5.3 顾客退票模块 (8)

5.4 查询航班模块 (9)

5.5 查询订单模块 (9)

5.6 修改航班模块 (9)

6 程序调试与测试 (11)

6.1 合法数据测试结果 (11)

6.2 非法数据测试结果 (13)

7 结果分析 (15)

7.1 输入 (15)

7.2 输出 (15)

总结 (16)

参考文献 (16)

1问题背景

订票系统是一种新兴的现代商务方式,近几年来得到了迅速发展,显现了巨大的现代商业价值。有理由相信,订票系统将逐渐方便盛会生活,也将成为数字化社会的一种重要体现。它改变了传统的买卖双方面堆满的交流方式,也打破了旧有工作经营模式,它通过网络使航空公司面对整个世界,为用户提供每周7天,每天24小时的全天候服务。网上订票的规模正在逐年迅速增长,它带来的商机是巨大而深远的。订票系统研究的主攻方向是通过公共计算机通信网络进行网上订票活动,突破传统商务在时间、地域上的限制,成为方便、快捷、安全可靠的新兴电子化商务活动模式。是网上订票活动更安全、可靠、快速、明确和方便。

对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径。

2问题分析

通过此系统可以实现如下功能:

录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

可以输入起飞抵达城市,查询飞机航班情况;订票:(订票

情况可以存在一个数据文件中,结构自己设定)

可以订票,如果该航班已经无票,可以提供相关可选择航班;退

票:可退票,退票后修改相关数据文件;客户资料有姓名,证件

号,订票数量及航班情况,订单要有编号。

3需求分析

3.1 用户需求分析

用户使用此程序所要完成的工作主要为:录入和查询所有航线信息、查看已订票客户信息、查询航线、办理订票业务、办理退票业务。通过此系统可以方便的进行上述工作。每条航线所涉及的信息有:终点站名、航班号、飞行时间、票价、乘员定额、余票量。已订票的客户名单信息包括姓名、订票量、舱位等级(1,2或3)。等候替补的客户名单信息包括姓名、所需票量。查询航线功能可以根据旅客提出的终点站名输出航班号、飞行时间、票价、乘员定额、余票量。

订票业务功能根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补购票。退票业务功能根据客户提供的情况(航班号、姓名)为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。

3.2功能需求分析

1.功能模块说明:

(1) 将航班的基本信息录入到系统中。

(2) 根据航班号或者根据起飞地点、降落地点查询所需航班信息。

(3) 输入姓名和所要订航班的航班号订票。

(4) 输入姓名和所订航班的航班号办理退票。

(5) 输入航班号,修改该航班的起飞和降落时间以修改航班的起降时间。

(6) 退出的同时将信息写入文件。

2. 订票系统功能图

订票系统

录办办查查航退

入理理询询班出

航订退航订信系

班票票班单息统

信业业信信修

息务务息息改

图 3.1订票系统结构图

3.3 系统需求分析

开发环境:PC机,Windows 7系统

运行软件:Microsoft Visual C 6.0

4逻辑设计

4.1 数据结构

1航班的信息:航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞时间、降落时间、起飞城市、抵达城市、航班票价、票价折扣、确定航班是否满仓和空座数九个数据项:

表3.1 航班信息的数据结构表

数据项数据类型

航班号字符串(char)

起飞时间字符串(char)

降落时间字符串(char)

起飞城市字符串(char)

抵达城市字符串(char)

航班是否满仓整型(int)

空座数整型(int)

票价浮点数(float)

typedef struct passengernode{ //定义客户资料结点

char name[20]; //姓名

char ID_num[20]; //证件号

char flight_num[10]; //航班号

int order_num; //订单号

int ticket_num; //订票数量

struct passengernode *next; //指向下一个结点

}passengernode;

3 客户链表:每个数据元素包括头指针和尾指针两个数据项:

每个结点包括两个指针域:

C 语言描述如下:

typedef struct passengerList{

passengernode *head;

passengernode *rear;

}passengerList;

4.2各功能模板函数之间的调用关系。

4.3 函数说明

void init_flight(flightnode *&h):要建立一个以 h 为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表。

void init_passengerList(passengerList *&pList):建立一个带有头指针和尾指针的空链表,存储带有顾客信息的结点。头指针域尾指针域

void save_flight(flightnode *h):保存航班信息到指定数据文件中。

void load_flight(flightnode *&h):从存储航班信息的文件导入航班信息到航班链表

void load_passenger(passengerList *&PList):从存储客户信息的文件导入客户信息到客户链表中。

void add_flight(flightnode *&h):录入航班信息后调用 insert_flight 函数增加班。void insert_flight(flightnode *&h,char* flight_num,char* start_place,char*

end_place,char*

start_time,char* end_time,int left,float price,float price_discount,int isFull):在录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中。

int book(flightnode *&l,passengerList *&PList):要完成客户订票,将客户结点插入客户链表中,并修改相应的航班信息。

void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char *ID_num,char *flight_num,int ticket_num):在顾客订票后,将该顾客结点插入到顾客链表中,并修改相应的航班信息。

void find_same_flight(flightnode *l,char *flight_num):在客户订票时,当客户输入的航班号对应的航班已满仓时,提供其他可选航班并输出显示。

void cancel(passengerList *&PList,flightnode *&h):完成客户退票,将客户的订单从客户链表中删除,并修改相应的航班信息。

int delete_passenger(passengerList *&PList,flightnode *&h,char *name,char

*ID_num):按照要退票的顾客的姓名和证件号查找该顾客结点,进行删除操作。

void flight_check(flightnode *h):选择使用何种方式对航班信息进行查询。

void check_all_flight(flightnode *l):浏览所有航班信息。

int place_check(flightnode *l,char *start_place,char *end_place):按照起飞抵达城市查询航班信息。

int flight_num_check(flightnode *l,char *flight_num):按照航班号查询航班信息。void passenger_check(passengerList *PList):选择使用何种方式对订单信息进行查询。

void check_all_passenger(passengerList *PList):浏览所有订单信息。

int order_num_check(passengerList *PList,int order_num):按订单号查询订单信息。

int ID_name_check(passengerList *PList,char *name,char *ID_num):按客户姓名和证件号查询订单信息。

void modify_flight(flightnode *&h,passengerList *&PList):修改航班信息,包括添加航班信息,删除航班信息,修改航班起飞抵达时间。

void delete_flight(flightnode *&h,passengerList *&PList):按照某个航班号删除航班结点。

5 详细设计

5.1 录入航班信息

在主函数中输入“1”,调用 void add_flight(flightnode *&h)函数,此函数将航班指针*p指向已存在航班链表*h 的头结点,利用 for(;p->next!=NULL;p=p->next){}使*p

指向航线链表的最后一个结点,然后让用户输入航班信息,然后调用 void

insert_flight(flightnode

*&h,char* flight_num,char* start_place,char* end_place,char* start_time,char*

left,float price,float price_discount,int isFull)函数,用 malloc 函数申请一个航班结点,并用指针*q 指向,将航班信息赋到新申请的结点中,p->next=q;p=p->next;该操作将该结点插入航班链表中。流程图如下

5.2 顾客订票模块

在主函数中输入“2”,调用 int book(flightnode *&h,passengerList *&PList)函数完成客户的订票。用航班指针*p 指向已存在航班链表*h 的头结点的下一个结点,请客户输入起飞抵达城市,分别存于 start_place 和 end_place 中。调用 int

place_check(flightnode *l,char

*start_place,char *end_place)函数,如果函数返回“1”则请客户输入要订的航班号,如果输入的航班号不存在,输出提示信息,

如果航班存在则提示客户输入订的票数、客户的姓名和证件号,调用 void

insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char

*ID_num,char

和 p->flight_num,找到后,执行 p->left=p->left-ticket_num,修改相应航班的空座数。用

malloc 函数申请一个客户结点,并用指针*q 指向,将客户信息和航班号赋到新申请的结点中,

PList->rear->next=q;PList->rear=q;该操作将该结点插入客户链表中。

如果该航班已满仓或该航班的空座数不够,输出可供选择的航班,让客户选择,之后

调用 void insert_passengerList(flightnode *&h,passengerList *&PList,char

*name,char

*ID_num,char *flight_num,int ticket_num)函数将客户结点插入客户链表中.

5.3 顾客退票模块

在主函数中输入“3”,调用 void cancel(passengerList *&PList,flightnode *&h)函数完成客户的退票。提示客户输入客户的姓名和证件号以及要退的航班号,此函数再调用int

delete_passenger(passengerList *&PList,flightnode *&h,char *name,char

*ID_num,char

*flight_num)函数,用客户结点指针*pr 等于已存在客户链表结点 Plist 的头指针,相当于将

*pr 指向客户链表的头结点,用客户结点指针*p 指向 pr 的下一个结点。使用 while 循环寻找匹配姓名、证件号、航班号的客户结点,找到后定义航班指针*f=h->next,使用for 循环找到匹配航班号的航班结点,执行 f->left=f->left+p->ticket_num,修改退票后相应航班结点的空座数,之后执行 pr->next=p->next;free(p);删除要退票的客户订单信息。如果没有找到匹配的客户结点,输出提示信息.

5.4 查询航班模块

在主函数中输入“4”,调用 void flight_check(flightnode *h)函数选择使用哪一种查询方式进行查询。提示客户输入查询方式,如客户输入“1”,则调用 int

flight_num_check(flightnode *l,char *flight_num)函数按航班号对航班进行查询,提示客户输入航班号,存于 flight_num 中;如客户输入“2”,则调用 int

place_check(flightnode *l,char *start_place,char *end_place)函数按起飞抵达城市对航班进行查询,提示客户输入起飞抵达城市,分别存于 start_place 和 end_place 中;如客户输入“3”,则调用 void check_all_flight(flightnode *l)函数浏览全部航班信息。在 int flight_num_check(flightnode *l,char *flight_num)函数中,定义航班指针*p=h,使用 for 循环匹配 flight_num 和 p->flight_num,找到匹配的航班节点后,输出该航班的所有信息。

在 int place_check(flightnode *l,char *start_place,char *end_place)函数中,定义航班指针*p=h,使用 for 循环寻找匹配 start_place 和 start_place 的结点,找到

5.5 查询订单模块

在主函数中输入“5”,调用 void passenger_check(passengerList *PList)函数选择使用哪一种查询方式进行查询。提示客户输入查询方式,如客户输入“1”,则调用 int ID_name_check(passengerList *PList,char *name,char *ID_num)函数按客户的姓名和证件号对订单进行查询,提示客户输入姓名和证件号,分别存于 name 和 ID_num 中;如客户输入“2”,则调用 int order_num_check(passengerList *PList,int order_num)函数按订单号对订单进行查询,提示客户输入订单号,存于 order_num 中;如客户输入“3”,则调用 void check_all_passenger(passengerList *PList)函数浏览全部订单信在 int ID_name_check(passengerList *PList,char *name,char *ID_num)函数中,定义客户指针*p= PList->head->next,使用 for 循环寻找匹配 name 和 ID_num 的结点,找到匹配的订单节点后,输出该订单的所有信息。

在 int order_num_check(passengerList *PList,int order_num)函数中,定义客户指针*p=PList->head->next,使用 for 循环寻找匹配 order_num 的结点,找到匹配的订单结点后,输出该订单的所有信息。

在 void check_all_passenger(passengerList *PList)函数中,定义客户指针

*p=PList->head->next,使用 for 循环输出所有订单信息。

5.6 修改航班模块

在主函数中输入“6”,调用 void modify_flight(flightnode *&h,passengerList

*&PList)函数对航班信息进行修改。提示客户输入修改模式,如客户输入“1”,则调用void add_flight(flightnode *&h)函数添加航班信息;如客户输入“2”,则调用 void delete_flight(flightnode *&h,passengerList *&PList)函数删除指定的航班信息,提示客户输入航班号,存于 flight_num 中;如客户输入“3”,则示客户输入航班号,如果该航班号存在,则提示用户输入修改后的起飞抵达时间。

在 void delete_flight(flightnode *&h,passengerList *&PList)函数中,定义航班指针*pr=h,定义航班指针 p=pr->next,定义客户指针*qr=PList->head,定义客户指针

*q=qr->next。使用 while 循环寻找匹配航班号的航班结点,找到后执行 pr->next=p->next;free(p),删除指定的航班信息;使用 while 循环找到匹配航班号的订单结点,执行 qr->next=q->next;free(q),删除对该航班订票的订单信息。如果没有找到匹配的航班结点,输出提示信息。

6.1 合法数据测试结果

(1)编译链接后显示菜单

(2)输入菜单号“1”,开始信息的录入

(3)输入菜单号“2”,进入订票模块

(4)输入菜单号“3”,进入退票模块

(5)输入菜单号“4”,查询航班信息输入菜单号“1”,

a.按航班号查询航班信息

b. 输入菜单号“2”,按起飞抵达城市查询航班信息

c. 输入菜单号“3”,浏览全部航班信息

a.输入菜单号“1”,按客户姓名和证件号查询订单信息

b. 输入菜单号“2”,按订单号查询订单信息

c. 输入菜单号“3”,浏览全部订单信息

a. 输入菜单号“1”,增加航班

b. 输入菜单号“2”,删除航班

c. 输入菜单号“3”,修改航班时间

6.2 非法数据测试结果

(1)选择订票服务后,输入了没有开通航班的城市

(2)选择订票服务后,输入了系统中没有的航班号

(4)选择退票服务后,输入了没有订票的客户姓名和证件号

(5)选择删除航班服务后,输入了系统中不存在的航班号

(5)选择航班查询服务后,输入了没有开通航班的城市

(6)选择航班查询服务后,输入了系统中不存在的航班号

(7)选择订单查询服务后,输入了没有订票的客户姓名和证件号

(8)选择订单查询服务后,输入了系统中不存在的订单号

(9)选择修改航班时间服务后,输入了系统中不存在的航班号

#include

#include

#include

#include

typedef struct flightnode{

char flight_num[10];

char start_time[10];

char end_time[10];

char start_place[20];

char end_place[20];

int left;

float price;

float price_discount;

int isFull;

struct flightnode *next;

}flightnode;

typedef struct passengernode{

char name[20];

char ID_num[20];

char flight_num[10];

int order_num;

int ticket_num;

struct passengernode *next;

}passengernode;

typedef struct passengerList

{

passengernode *head;

passengernode *rear;

}passengerList;

void init_flight(flightnode *&h)

{

h=(flightnode *)malloc(sizeof(flightnode));

if(h==NULL) exit(0);

pList=(passengerList *)malloc(sizeof(passengerList));

pList->head=(passengernode *)malloc(sizeof(passengernode));

pList->rear=pList->head;

pList->rear->order_num=0;

pList->head->next=NULL;

}

void save_passenger(passengerList *PList)

{

FILE* fp = fopen("passenger.dat","wb");

if(fp==NULL)

return;

passengernode *temp=PList->head->next;

while(temp!=NULL)

{

fwrite(temp,sizeof(passengernode),1,fp);

temp = temp->next;

};

fclose(fp);

}

void load_passenger(passengerList *PList)

{

FILE* fp = fopen("passenger.dat","rb");

if(fp==NULL)

return;

passengernode *q;

int n;

while(!feof(fp))

{

q=(passengernode *)malloc(sizeof(passengernode));

n =fread(q,sizeof(passengernode),1,fp);

if(n!=1)

break;

PList->rear->next=q;

PList->rear=q;

}

PList->rear->next=NULL;

fclose(fp);

}

void save_flight(flightnode *h)

{

FILE* fp = fopen("flightList.dat","wb");

if(fp==NULL)

return;

flightnode *temp=h->next;

while(temp!=NULL)

{

fwrite(temp,sizeof(flightnode),1,fp);

temp = temp->next;

};

flightnode *pt=h;

FILE* fp = fopen("flightList.dat","rb");

if(fp==NULL)

return;

flightnode *q;

int n;

while(!feof(fp))

{

q=(flightnode *)malloc(sizeof(flightnode));

n=fread(q,sizeof(flightnode),1,fp);

if(n!=1)

break;

pt->next=q;

pt=q;

}

pt->next=NULL;

fclose(fp);

}

int find_same_flight(flightnode *h,char *flight_num)

{

flightnode *t=h->next,*p=h->next;

int mark=0;

printf("%-8s%-12s%-12s%-10s%-10s%-8s%-6s%-10s%-8s\n","航班号","起飞城市","抵达城市","起飞时间","抵达时间","价格","折扣","是否满仓","空座数");

while(t!=NULL && strcmp(t->flight_num,flight_num)!=0) t=t->next;

while(p!=NULL){

if((strcmp(t->start_place,p->start_place)==0)&&(strcmp(t->end_place,p->end_place)== 0)&&(strcmp(t->flight_num,p->flight_num)!=0))

{

printf("%-8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8d\n",p->flight_num, p-

>start_place,p->end_place,p->start_time,p->end_time,p->price,p->price_discount,p->isFull,p->left);

mark=1;

}

p=p->next;

}

if(mark==0)

{

printf("\t\t 抱歉,没有可选的航班!\n");

return 0;

}

return 1;

}

void insert_flight(flightnode *&h,char* flight_num,char* start_place,char* end_place,char* start_time,char*

end_time,int left,float price,float price_discount,int isFull)

{

flightnode *q;

strcpy(q->start_place,start_place);

strcpy(q->end_place,end_place);

strcpy(q->start_time,start_time);

strcpy(q->end_time,end_time);

q->left=left;

q->price=price;

q->price_discount=price_discount;

q->isFull=isFull;

q->next=p->next;

p->next=q;

p=p->next;

}

void insert_passengerList(flightnode *&h,passengerList *&PList,char *name,char

*ID_num,char *flight_num,int ticket_num)

{

flightnode *p=h->next;

for(;p!=NULL;p=p->next)

if(strcmp(p->flight_num,flight_num)==0)

{

p->left=p->left-ticket_num;

if(p->left==0)

p->isFull=1;

}

passengernode *q=(passengernode *)malloc(sizeof(passengernode));//新建结点,存放新的客户订单信息

strcpy(q->name,name);

strcpy(q->ID_num,ID_num);

strcpy(q->flight_num,flight_num);

q->ticket_num=ticket_num;

q->next=NULL;

PList->rear->next=q;

q->order_num=PList->rear->order_num+1;

PList->rear=q;

}

void delete_flight(flightnode *&h,passengerList *&PList)

{

flightnode *p,*pr;

passengernode *q,*qr;

char flight_num[10];

int mark=1;

qr=PList->head;

q=qr->next;

pr=h;

p=pr->next;

printf("\t\t 请输入你要删除的航班号:");

scanf("%s",flight_num);

while(p!=NULL)

{

if(strcmp(flight_num,p->flight_num)==0)

数据库课程设计机票预订系统

课程设计说明书(数据库系统) 题目: 在线机票预订系统的设计与实现 院系:计算机与工程学院 专业班级:计算机09-5班 学号: 2009302935 学生姓名:夏维强 指导教师:张金伟 2010 年 12 月 20 日

安徽理工大学课程设计(论文)任务书 计算机科学与工程学院计算机科学与技术系 2010年 11 月 20 日

安徽理工大学课程设计(论文)成绩评定表

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型科学,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立起和自身特点相适应的管理信息管理系统。 本文从软件的需求分析记忆软件功能,功能需求以及数据需求和设计概要等几方面阐述了系统的研究背景和形式,剖析了系统的内部构造以及操作方法。使得系统的功能和价值够完全的体现出来。采用Eclipse作为开发工具,以Oracle做数据后台,开发出来的网上机票预订管理系统。整个系统从符合操作简便,界面友好,灵活,实用,安全的要求出发,完成了网上机票预定的全过程,包括机票信息管理,客户信息管理,航线信息管理,系统管理等管理工作。论文主要介绍了本课题的开发背景所要完成的功能和开发过程。重点说了系统的设计的重点设计思想和系统的详细设计。 关键词机票预订;机票管理;航班信息管理

目录 摘要……………………………………………………………………………I 第一章系统需求分析 1.1系统开发背景 (3) 1.2软件主要组成及功能 (3) 1.3用户特点以及一般约束 (4) 第二章系统结构设计 2.1用户注册的DFD图 (5) 2.2用户订票的DFD图 (6) 2.3退票的DFD图 (7) 2.4机票信息查询的DFD图 (7) 第三章开发平台设计 3.1系统技术 (8) 3.2性能需求 (8) 3.3开发平台 (8) 第四章数据库设计 4.1管理员信息E-R图 (8) 4.2客机信息E-R图 (8) 4.3航班信息E-R图 (8) 4.4客户信息E-R图 (8) 4.5预订信息E-R图 (8) 4.6实体之间关系的E-R图 (8) 第五章系统的实现 5.1总体设计(系统总流程图) (15)

机票预订系统课程设计报告

《数据库原理及应用课程设计》 系统开发报告 学号: 姓名: 题目:机票预订系统 指导教师: 提交时间: 2015年12月 计算机工程系 目录 一.概述 (2) 1.1 课程实训目的与要求 (2) 1.2 机票预订系统 (2) 1.2.1 系统功能的基本要求 (2) 1.2.2 数据库要求 (3) 二.需求分析 (3) 2.1背景分析 (3) 2.2 功能分析 (3) 2.3 数据词典 (4) 三.概念结构设计 (6) 3.1概念结构设计的方法与步骤 (6) 3.2 局部 E-R 图设计 (6) 3.4总体概念 E-R 图结构 (7) 四.逻辑结构设计 (9) 4.1 逻辑结构设计 (9) 4.2 数据库表的建立 (10) 五.物理结构设计 (10) 5.1 表的建立与数据载入 (10) 5.2 视图建立 (11) 5.3 索引建立 (11) 5.4 存储过程 (11) 5.5 触发器 (11) 5.6 创建登陆账户和添加数据库用户 (12) 六.数据流图及程序结构框图 (13) 6.1 功能模块图 (13) 6.2数据流图 (13) 七.界面设计与功能测试................................ 错误!未定义书签。 7.1登录界面及代码 (14) 7.2 进入系统界面 (15) 7.3 订票过程 (15) 八.总结 (19)

一.概述 应用对数据库技术及应用的理论学习通过上机实践的方式将理论知识与实 践更好的结合起来巩固所学知识。 实践和巩固在课堂教学中学习的关于数据库的有关知识熟练掌握对于给定 实训任务的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库 系统的建立方法熟练掌握对于给定实际问题为了建立一个关系数据库信息管 理系统必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系 统调试、维护以及系统评价的一般过程为将来在学习工作中的应用打下基础。1.1 课程实训目的与要求 课程实训的目的是本次课程实训的主要任务是运用在《数据库原理及应用》课程中学到的理论知识来指导实践了解数据库设计过程及其实现方法学会用 数据库建模的方法解决实际问题。掌握数据库原理、范式理论、规范化等相关知识掌握数据库分析设计的具体步骤与基本方法掌握 SQL 语言的基本语法和 基本内容并能运用 SQL Server 2005 实现设计数据库掌握 SQL Server 2005 数据库、表、视图、约束、索引、存储过程、触发器的使用利用一种前台开发工 具实现数据库管理系统的开发实现特定的业务功能。通过综合课程实训提高 实践动手技能培养独立分析分析问题和解决问题的能力。 课程实训的要求本次课程实训的选题比较灵活可以是自主选题也可以 自己选择比较感兴趣的题目重点是完成数据库的分析、设计与实现题目要符 合《数据库原理及应用》的要求并且具备一定的难度和深度除此以外可以 从备选题目之外选择一个题目完成。 1.2 机票预订系统 在所给的实训题目中我选择的是机票预订系统的设计。 1.2.1 系统功能的基本要求 每个航班信息的输入 每个航班的坐位信息的输入 当旅客进行机票预定时输入旅客基本信息系统为旅客安排航班打印取 票通知和帐单 旅客在飞机起飞前一天凭取票通知交款取票 旅客能够退订机票

C语言课程设计报告—飞机订票系统

C语言课程设计报告 指导老师:

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分;

根据需求分析,该程序可分为以下四大模块: 飞机订票系统 输入模块显示模块查询模块退出模块 (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; (一)主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所需的文件;调用菜单函数。 程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do { puts("\t\t***********************MENU***************************\n\n"); puts("\t\t\t\t 1.enter new data"); puts("\t\t\t\t 2.Browse all"); puts("\t\t\t\t 3.Search"); puts("\t\t\t\t 4.exit");

飞机订票系统课程设计报告

数据结构 课程设计报告 院系:信息管理学院 专业:软件工程 班级:软件Q1141 学号:11150132 姓名:王毅 教师:邓沌华 时间:2013. 4 一、问题描述 题目:飞机订票系统 题目要求: (1)可以录入航班情况 (2)可以查询某个航线的情况(如,输入航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)可以退票,退票后修改相关数据文件;

(5)当航班信息改变可以修改航班数据文件 二、系统分析及设计 1 2、概要设计 主函数中 flight a[15]; //全局航班数组,存储供测试的航班信息,一共15架飞机,航班信 息可以在所有文件中改变 o_customer co; //全局乘客数组存储已经买了票的顾客信息,顾客信息可以在所有文 件中调用、修改 int k = 15; //全局变量,当前的共有航班的辆数,也可被所有文件调用和修改供测试的航班情况如下:

○1按航班号查询航班int number_check() //有此辆航班则返回1,无则返回0 ○2按终点站查询航班int station_check() //有到该站的航班则返回1,无则返回0. ○3订票 int Init(int k);//录入乘客信息,订票成功返回1,否则返回0. order_f() //订票函数 { m = n = 0; m = number_check();//乘客选择航班号方式的查询航班,m = 1方可订票 n = station_check();//乘客选择终点站查询方法查询航班,n = 1,方可订票 if(Init(0) == 0){} //按编号查询,只显示一个编号的信息,票存在,但订票失败就给予其它方案 if(Init(k) == 0){}//按照终点站查询,订票失败时给予相应处理方法} ○4退票 void takeoff(){} //请用户输入他的证件号,避免同名现象造成的影响 //买票的乘客的信息已经存入全局数组中,直接从数组中找出该乘客信息,然后改变相应航班和乘客的信息

数据库课程设计-飞机订票系统

数据库课程设计报告题目飞机订票管理系统

目录 第一章概述 (2) 1.1项目背景 (2) 1.2 编写目的 (2) 1.3 开发工具 (3) 1.3.1软件定义 (3) 1.3.2 开发环境 (3) 第二章需求分析 (3) 2.1 问题述 (3) 2.2 ER模型图 (3) 第三章数据库逻辑设计 (4) 3.1 定义数据库表 (4) 数据库表 (4) 第四章软件功能设计 (6) 4.1 软件功能结构图 (6) 4.2软件划分模块 (7) 4.2.1 整体流程: (7) 4.2.2 航班信息查询模块 (8) 4.2.3 顾客查询模块 (10) 4.2.4 订票、退票功能 (12) 4.2.5 财务查询 (17) 第五章界面设计 (17) 第六章结束语 (18)

第一章概述 1.1项目背景 航空业作为运输行业的基础,要提高我国运输行业的整体水平,必须从基础抓起。订票系统是航空业从事生产和管理的基层单位,加强订票系统是航空业基础地位的关键,也是保障航空业业可持续发展的重要基石。 随着现在航空运输业的发展,机票预订系统也成为了航空运输业的软件副产品,目前的管理系统都是与数据库关联,故数据库的管理也成为很热门的研究对象。此项目是以数据库为支撑,java(eclipse)为平台而开发的。 1.2 编写目的 编写此项目的目的是为了进一步了解数据库的储存管理机制以及数据库与其他的语言语言工具之间关联和协作。也可以熟悉项目开发的流程,步骤,为以后编写其他的程序打下基础。 1,了解并掌握数据结构的设计方法,具备初步的独立分析能力; 2,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能 3,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

机票预订系统课程设计

内蒙古科技大学 《数据库原理及应用》课程设计说明书 题目:机票预订系统 学生姓名 学号: 专业:计算机科学与技术 班级:4班 指导教师:余金林

内蒙古科技大学课程设计任务书

一、教学要求 1.从附录一中选择一个题目进行数据库应用系统设计。 2.功能设计:用Visual FoxPro,Visual Basic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程) 3.数据库的设计: 根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作: 概念结构设计的E-R图 数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码); 确定表之间的关联(一对一、一对多、多对多) 运用数据库理论确定每个表至少属于3NF。 二、设计资料及参数 1、订单编号 2、航班编号、出发地、目的地、出发时间到达时间 3、机票编号、座位号、机舱等级 4、旅客编号、姓名、性别、身份证号 三、设计要求及成果 1.按照数据库应用系统设计步骤进行数据库结构设计。 2.使用开放工具及数据库管理系统开放应用系统(可选)。 3.书写论文(具体要求见论文模板)。 四、建议参考资料 《数据库系统教程》(第三版)施伯乐等著高等教育出版社

目录 内蒙古科技大学课程设计任务书 (2) 目录 (4) 第一章绪论 ......................................................... 错误!未定义书签。 课题简介 (5) 设计目的 (5) 设计内容 (5) 第二章需求分析 (6) 需求分析的任务 (6) 需求分析的过程 (6) 数据字典与流程图 (10) 第三章 ER模型图 (14) 实体属性图 (14) 总体ER模型图 (17) 第四章逻辑结构设计 (19) E-R图向关系模型的转换 (19) 数据模型的优化 (19) 第五章功能实现 (20) 查询功能的实现 (20) 多条件查询功能的实现 (20) 添加功能的实现 (21) 删除功能的实现 (22) 更改功能的实现 (22) 视图的建立 (23) 第六章源代码 (24) 第七章总结 (24) 第八章参考文献 (31) 附录 (32)

数据结构航空订票系统课程设计报告

攀枝花学院学生课程设计报告摘要 摘要 飞机在现代的生活中扮演者非常重要的角色。它能够快速的把人们送到自己想要去的地方,既快速,又方便。所以现在坐飞机时很普遍的。但是都到机场去买票浪费时间,因此,航空订票系统应运而生。有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。方便了大家 关键词航空订票系统、查询、订票、退票

目录 摘要...................................................................................... I 1 需求分析 . (2) 1.1 需求概述 (2) 1.2 需求环境 (2) 1.3 功能描述 (2) 2 概要设计 (3) 2.1 程序功能模块 (3) 2.2 程序流程图 (3) 2.3 课程设计的思想 (3) 3 详细设计 (4) 3.1 程序初始化 (4) 3.1.1代码功能 (4) 3.1.2 功能实现代码 (4) 3.2 查询航班信息 (6) 3.2.1代码功能 (6) 3.2.3 功能实现代码 (7) 3.3 订票模块 (8) 3.3.1 代码功能 (8) 3.3.2 功能实现代码 (8) 4 测试与运行 (14)

5结束语.................................................................................................... . (16) 6 参考文献.................................................................................................... .. (17) 7附录.................................................................................................... . (18) 1 需求分析 1.1 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量 客户管理。有关订票的客房信息(包括姓名、订票量、舱位等级(1,2和3)以及等替补的客房名单(包括姓名、所需标量)。

数据结构课程设计 飞机订票系统分解

摘要 随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化, 其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。 本文Microsoft Visual C 6.0作为程序代码的实现软件,进行飞机订票系统的数据结构课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结构表,并给出所用的结构体和结点类型。在此基础上,进行各功能模块的详细算法设计,做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信息、修改航班信息和退出系统7个基本功能,经测试后健壮性良好。 关键词飞机订票系统;数据结构;C语言;单链表

目录 1 问题背景 (1) 2 问题分析 (1) 3 需求分析 (2) 3.1 用户需求分析 (2) 3.2 功能需求分析 (2) 3.3 系统需求分析 (3) 4 逻辑设计 (3) 4.1 数据结构 (3) 4.2 各功能模块间函数调用关系 (5) 4.3 函数说明 (5) 5 详细设计 (7) 5.1 录入航班信息 (7) 5.2 顾客订票模块 (8) 5.3 顾客退票模块 (8) 5.4 查询航班模块 (9) 5.5 查询订单模块 (9) 5.6 修改航班模块 (9) 6 程序调试与测试 (11) 6.1 合法数据测试结果 (11) 6.2 非法数据测试结果 (13) 7 结果分析 (15) 7.1 输入 (15) 7.2 输出 (15) 总结 (16) 参考文献 (16)

飞机订票系统课程设计报告

飞机订票系统课程设计报告 指导老师: 班级: 学生姓名: 学号: 完成日期: 计算机科学与技术系

飞机订票系统课程设计报告 一、系统分析。 1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。 1.2飞机订票系统简易图 二、系统设计 2.1总体设计(主要功能)

本程序包含六大主要模块①添加信息模块;②浏览信息模块; ③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模 块。 整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。 航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。 输入模块,使用分条输入,以减少错误率并方便操作。 浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。 订,退票模块调用查询模块实现其功能。 2.2 软件、硬件环境 软件环境 VC2009 硬件环境处理器 Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50GHz;显卡 GTX650。 内存 4.0GB 操作系统 Windows 7 2.3主要数据结构和程序的关系说明 主要数据结构是结构体 struct hbxx //定义结构体数组,航班信息 {

飞机订票系统设计与实现 (里面附有源代码!)

课程设计题目飞机订票系统 院系******* 专业*************** 姓名****** 学号********* 指导教师*** 2012年7月

1. 需求分析 1.1 问题描述 基于目前人们外出远行频繁,为方便乘客提前买票及优化飞机航空订票服务,需要开发一个飞机订票系统,此程序就是要实现航班情况的录入,查询,订票,退票以及航班的查询和修改等基本功能。本课程设计的题目为:飞机订票系统。 1.2 基本要求 1.2.1 输入的形式和输入值的范围 录入航班信息时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息)。 客户订票时,需要输入起飞抵达城市,然后选择航班进行查询,选择航班时需要输入航班号,值为字符串。 客户退票时,需要输入姓名,证件号进行退票操作,值为字符串。 查询某个航班的情况时,需要输入航班号,值为字符串;在查询某个航线的情况时,还可以通过输入起飞抵达城市来查询,值为字符串。 查询某个订单时,需要输入订单号,值为整型(int);或者需要输入客户姓名和证件号,值为字符串。 修改航班时,需要输入字符型数据选择进行何种修改操作;增加航班时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息);删除航班时,需要输入要删除的航班的航班号;修改航班时间时,需要输入要修改的航班的航班号,修改后的航班起飞时间和抵达时间。 1.2.2 输出形式 在所有操作后的输出中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。 录入航班情况时,输出显示添加航班信息是否成功。 客户订票时,当客户输入起飞抵达城市后,输出可供客户选择的航班信息;客户选择了航班后,输入提示信息告知用户订票是否成功。 客户退票时,输出客户退票成功或者无此客户,无法退票。 查询航班时,输出显示对应的航班信息,或者输出提示信息告知没有相应的航班信息。 查询订单时,输出显示对应的订单信息,或者输出提示信息告知没有相应的订单信息。 修改航班时,输出对应的提示的信息,提示操作是否成功。

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

第一章绪论 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)将要求额外的输入, 并且它们都允许用户收回其输入。 3、查找航班信息既可按线路查,也可按目的地查。 4、在两次运行之间,数据被保存于一个文件里,当本程序重新开 始的时候,它首先从该文件读入数据 三、算法提示: 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系统的基本数据库。 四、测试数据: 录入北京到上海的星期一起飞的航班,假设其定额为30,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

数据结构航空订票系统课程设计报告

摘要 飞机在现代的生活中扮演者非常重要的角色。它能够快速的把人们送到自己想要去的地方,既快速,又方便。所以现在坐飞机时很普遍的。但是都到机场去买票浪费时间,因此,航空订票系统应运而生。有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。方便了大家 关键词航空订票系统、查询、订票、退票

目录 摘要........................................................................................................ I 1 需求分析 (2) 1.1 需求概述 (2) 1.2 需求环境 (2) 1.3 功能描述 (2) 2 概要设计 (3) 2.1 程序功能模块 (3) 2.2 程序流程图 (3) 2.3 课程设计的思想 (3) 3 详细设计 (4) 3.1 程序初始化 (4) 3.1.1代码功能 (4) 3.1.2 功能实现代码 (4) 3.2 查询航班信息 (6) 3.2.1代码功能 (6) 3.2.3 功能实现代码 (7) 3.3 订票模块 (8) 3.3.1 代码功能 (8) 3.3.2 功能实现代码 (8)

4 测试与运行 (14) 5结束语..................................................................................................................... ..16 6 参考文献 (17) 7附录..................................................................................................................... .. (18) 1 需求分析 1.1 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日

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

第一章绪论 :项目背景描述 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)将要求额 外的输入,并且它们都允许用户收回其输入。 3、查找航班信息既可按线路查,也可按目的地查。 4、在两次运行之间,数据被保存于一个文件里,当本程序重新开 始的时候,它首先从该文件读入数据 三、算法提示: 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系统的基本数据库。 四、测试数据: 录入北京到上海的星期一起飞的航班,假设其定额为30,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

飞机订票系统设计报告

算法与数据结构程序设计题目:飞机订票系统 学院:计算机科学与过程学院 专业:信息安全 姓名: 学号: 指导教师:王瑞霞 2011年9 月9 日

目录 引言 (1) 1.系统概述 (1) 2.课程设计的目的 (2) 3.需求分析 (3) 4.详细设计 (4) 5.所遇到的问题和分析解决 (10) 6.系统特色及关键技术 (10) 7.结论 (10)

引言: 当今时代是飞速发展的信息时代,科技的日新月异的发展必然会给人们的生活带来一定的变化。就数据处理方面来说,单纯的手工操作不仅工作量大、出错率高、更面临着修改难,时间成本过高的问题,寻求一种更为细致安全,高效率的数据管理方式成为人们日益探讨和追求的问题。而现代计算机的出现使者些成为了现实。从上世纪七十年代问世至今,计算机已经不是单纯的数据计算机器,它已经被广泛地应用于信息系统的环境。尤其对于复杂的信息管理,计算机往往表现出极高的效率和安全性。 本文论述的飞机订票系统是为公司的管理者提供的一种集录入、删除、查询修改、排序、统计等于一体的便捷的飞机订票系统。该系统主要使得顾客订票能够更方便快捷。为此,本系统能够给他们带来一些较为方便快捷的导航帮助。 本系统论述了飞机订票系统的开发目标、实现过程,并着重介绍了系统设计、所遇到问题的分析和解决、系统特色及关键技术等方面。 本文共分为6章: 1.系统概述 2.课程设计的目的 3.需求分析 4.详细设计 5.所遇到的问题和分析解决 6.系统特色及关键技术 7.结论(心得体会) 1.系统概述 数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 关于数据结构在计算机学界至今还没有标准的定义: Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象定义为“一个数据对象是实例或值的集合”。 Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。 而本人的理解,数据结构通俗来讲就是将数据元素依据某种逻辑联系组织起来通过特定的算法将理论运用到生活中解决一些现实问题应用。在这次课程设计中,正是基于这样一种理念,在经过需求分析将实际情况综合起来之后设计并开发出了这样一个飞机订票系统。 本系统的主要功能是通过接收顾客的输入建立航班信息、顾客信息、订票情

数据结构课程设计(C语言版)飞机订票系统

———C语言版 课题:飞机订票系统和图的遍历的动态演示 姓名: 学号: 班级: 指导教师:

订票系统 1.需求分析 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 2:主要设计思路: 1)算法构造流程图: A:主菜单:

B:各分块模板的构造流程图:

3:功能函数设计: (1):订票系统主菜单函数menu_select() 本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。 (2):工作人员管理函数enter()&change() 系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。enter()函数的构造就是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。 (3):列出航班信息的函数list() 乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数search() 本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。 (5)票务管理函数book()&quit() 通过book()函数可以实现乘客的订票操作,通过quit()可

网上飞机订票系统设计报告

摘要 (2) Abstract (3) 前言 (4) 第一章开发工具 (5) 第二章Html介绍 (9) 第三章VBScript介绍 (13) 第四章ASP介绍 (16) 第五章WEB数据库 (20) 第六章规划应用程序 (26) 第七章网上售票系统设计制作 (28) 结束语 (37) 参考文献 (38)

本论文论述了网上飞机订票系统的构架,流程,维护以及开发本系统相关的知识体系,最后还谈到了我的收获和体会以及自己总结出的一些很有实用价值的东西。 开发工具: 前台:Microsoft Visual InterDev 后台:Access2000 服务器:Microsoft Windows2000 Server 相关技术: Asp、Html、ADO、SQL 系统结构: 1.航线及相关信息查询 2.订票 3.留言 4.用户资料系统 5.数据库后台管理 关键词: 毕业论文飞机售票网上 ASP ADO

ABSTRACT In this paper, I have discussed the truss ,flow about the system of the sale plane tickets on line ,I have also discussed the knowledge system when I open on and maintenance the system .At the end of the paper ,I have talking of my experience and my feeling. Tap Tools: Proscenium: Microsoft Visual InterDev6.0 Background: Access2000 Server: Microsoft Windows2000 Server Correlation Technique: Asp、Html、ADO、SQL System Structure: 1.Inquire about the air line and the correlative information 2.Reserve the tickets 3.Leave word 4.The system of users information 5.The manage of the data base KEY WORDS : Graduate paper, online, plane, sale tickets, ASP, ADO

C语言课程设计报告飞机订票系统

C语言课程设计 题目:飞机订票系统 专业:。。。。。。。。。。。。。。。。。。。学号:。。。。。。。。。。。 姓名:。。。。。。。 任课教师:。。。。。。。。

C语言课程设计报告 一、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计;

包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等; 二、航班基本信息输入模块 航班信息录入函数: 航班信息浏览函数: [流程图]显示信息

查询模块: 分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。在查询小模块中采用了直接查找的方法。本模块可以通过多种查询方式进行完善。这是本程序没有做的地方。 [流程图]

飞机订票系统实验报告

课程设计 课程名称:数据结构 实验项目:飞机订票系统 姓名: 专业: 班级: 学号: 计算机科学与技术学院 年月日

实验项目名称:飞机订票系统 一、实验目的: 1. 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技 能; 3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 二、实验内容 (1)本系统实现航班订票的功能。要求具有录入、订票、退票等功能。 (2)航班信息存放在一个结构体中,分别有航班号、起飞时间、降落时间、票价等信息。(3)程序完成航班信息的录入和乘客订票功能。 (4)客户能通过航班号或抵达城市查询航班信息,并且能订票。当座位无剩余时提示客户并提示相关航线。 三.概要设计 程序包含函数: 主控模块包含子模块为:

四.详细设计 算法流程图 a) 系统以菜单方式工作; b) 航班订票功能 c) 航班退票功能 d) 查询航线:(至少一种查询方式 e) 修改航线 (1) 增加航班号 (2) 删除航班号 (3) 修改密码 (4) 查询航班信息 f) 按终点站查询。 程序截图

五.源代码 #include #include #include #include #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0 #define OVERFLOW -2 #define PR printf typedef int status; typedef struct airline { char line_num[8];//航班号 char plane_num[8];//飞机号 char end_place[20];//目的的 int total;//座位总数 int left;//剩余座位 struct airline *next;//下一个结点 }airline; typedef struct customer { char name[9];//顾客名 char line_num[8];//航班号 int seat_num;//座位号 struct customer *next;//下一个结点 }customer; airline *init_airline() { //初始化链表 airline *l; l=(airline*)malloc(sizeof(airline)); if(l==NULL) { exit(0); } l->next=NULL; return l; } customer * init_customer(){//初始化链表customer *l; l=(customer*)malloc(sizeof(customer)); if(l==NULL){ exit(0);

相关主题
文本预览
相关文档 最新文档