当前位置:文档之家› c++课程设计-航班订票系统.doc

c++课程设计-航班订票系统.doc

c++课程设计-航班订票系统.doc
c++课程设计-航班订票系统.doc

一.课程设计目的

1.数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言,自行实现一个较为完整的应用系统的设计与开发。

2.通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。

二.课程设计内容

1)、录入:

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

2)、查询:

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

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

3)、订票:(订票情况可以存在一个数据文件中,结构自己设定)

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

4)、退票:可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

5)、修改航班信息:

当航班信息改变可以修改航班数据文件

三.系统功能模块设计

本系统分为五个模块:录入新航班模块、浏览航班模块、查找航班模块、订票模块、

退票模块。得到如图所示系统功能模块图。

四.程序源代码

#ifndef FLIGHTINFO_H

#define FLIGHTINFO_H

#include

#include

using namespace std;

//记录已订票的旅客及信息

class PsgOn

{

public:

char Name[20];

int Booknum;

int Rank;

PsgOn *next;

PsgOn(char N[20],const int B,const int R,PsgOn *Ne=NULL);

PsgOn(PsgOn *Ne=NULL);

};

//记录,处理每条航线信息的类

class FlightNode

{

public:

char Terminus[20];

int Flight;

int Plane;

int Day;

int Maxnum;

int Left;

FlightNode(char T[20]="",const int F=0,const int P=0,const int D=0,const int M=0,const int L=0);

};

//对已订票的客户的信息的操作的类

class POList

{

private:

void init();

public:

PsgOn *head;

PsgOn *tail;

PsgOn *fence;

int leftcnt;

int rightcnt;

int Fli;

POList(int size=10);

void clear();

bool insert(char N[20],const int B,const int R);

bool append(char N[20],const int B,const int R);

bool remove(char *N,int &B);

void setStart();

void setEnd();

void prev();

void next();

int leftLength()const;

int rightLength()const;

bool gerValue(char *N,int &B,int &R)const;

};

int n=0;

void ShowAllFlight(FlightNode *F,POList *B);

void addFlight(FlightNode *F,POList *B);

void ShowOneFlight(FlightNode *F);

void BookTicket(FlightNode *F,POList *B) ;

void ReturnTicket(FlightNode *F,POList *B);

#endif

//PsgOn中的函数的实现

PsgOn::PsgOn(char N[20],const int B,const int R,PsgOn *Ne)

{ for(int i=0;i<=20;i++)

{

Name[i]=N[i];

}

Booknum=B;Rank=R;next=Ne;

}

PsgOn::PsgOn(PsgOn *Ne)

{ next=Ne; }

//POList中的函数的实现

void POList::init()

{

fence=tail=head=new PsgOn;

leftcnt=rightcnt=0;

}

POList::POList(int size){ init(); }

bool POList::insert(char N[20],const int B,const int R) {

fence->next=new PsgOn(N,B,R,fence->next);

if(tail==fence)tail=fence->next;

rightcnt++;

return true;

}

bool POList::append(char N[20],const int B,const int R) {

tail=tail->next=new PsgOn(N,B,R,NULL);

rightcnt++;

return true;

}

bool POList::remove(char *N,int &B)

{

if(fence->next==NULL)return false;

N=fence->next->Name;B=fence->next->Booknum;

PsgOn *ltemp=fence->next;

fence->next=ltemp->next;

if(tail==ltemp)tail=fence;

delete ltemp;

rightcnt--;

return true;

}

void POList::setStart()

{ fence=head;rightcnt+=leftcnt;leftcnt=0;}

void POList::setEnd()

{ fence=tail;leftcnt+=rightcnt;rightcnt=0;}

void POList::prev()

{

PsgOn *temp=head;

if(fence==head)return;

while(temp->next!=fence)temp=temp->next;

fence=temp;

leftcnt--;rightcnt++;

}

void POList::next()

{

if(fence!=tail)

{fence=fence->next;rightcnt--;leftcnt++;}

}

int POList::leftLength()const

{return leftcnt;}

int POList::rightLength()const

{return rightcnt;}

bool POList::gerValue(char *N,int &B,int &R)const

{

if(rightLength()==0)return false;

N=fence->next->Name;B=fence->next->Booknum;R=fence->next->Rank;

return true;

}

FlightNode::FlightNode(char T[20],const int F,const int P,const int D,const int M,const int L) { for(int i=0;i<=20;i++)

{

Terminus[i]=T[i];

}

Flight=F;Plane=P;Day=D;Maxnum=M;Left=L;

}

//列举全部航线

void ShowAllFlight(FlightNode *F,POList *B)

{

cout<<"---------------------------------------------"<

cout<<"航班号"<<"\t"<<"终点站"<<"\t"<<"飞行日"<

for(int i=1;i

{

cout<

}

cout<<"---------------------------------------------"<

cout<<"你可以进行以下操作:1.查看单条航线;"

<<"2.录入新的航班信息"<<"3.返回上一级.\n"

<<"请选择:";

int chioce;

top2: cin>>chioce;

if(chioce==1)

{

ShowOneFlight(F);

}

else if(chioce==2)

addFlight(F,B);

else if(chioce==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top2;

}

}

void addFlight(FlightNode *F,POList *B)

{

int i=0;

while(n<50){

cout<<"请输入航班的信息:"<

<<"请输入新航班的终点站名:";

cin>>F[n].Terminus;

do{cout<<"请输入新航班的航班号:";

cin>>F[n].Flight;

if(F[n].Flight%5!=0)

{cout<<"输入有误,请重新输入.";

i=1;}

else {

for(int j=0;j

if(F[n].Flight==F[j].Flight)

{cout<<"航班号已存在,请重新输入。";

i=1;break;}

}

}while(i);

cout<<"请输入新航班的飞机号:";

cin>>F[n].Plane;

cout<<"请输入新航班的飞行日:";

cin>>F[n].Day;

cout<<"请输入新航班的成员定额:";

cin>>F[n].Maxnum;

cout<<"请输入如新航班的余票量:";

cin>>F[n].Left;

B[n].Fli=F[n].Flight;

cout<<"录入成功";

n++;

cout<<"是否继续录入(y/n)";

char ch;

top10: cin>>ch;

if(ch=='y')

{

i=1;

}

else if(ch=='n')

return;

else

{

cout<<"输入错误!请重新选择:";

goto top10;

}

}

}

//查询单条航线

void ShowOneFlight(FlightNode *F)

{

char T[20];

int choice;

cout<<"请输入终点站名称:\n";

cin>>T;

FlightNode temp[50];

int m=0;

for(int i=0;i<=n;i++)

{

if(strcmp(T,F[i].Terminus)==0)

{temp[m]=F[i];m++;}

}

if(m==0)cout<<"无此终点站"<

else

{

FlightNode temp1=temp[0];

cout<<"航班号:"<

for(int j=1;j

{

if(temp[j].Day!=0)

{

cout<<"航班号:"<

if((temp[j].Day>=3)&&(temp[j-1].Day>temp[j].Day))temp1=temp[j];

}

}

cout<<"最近一天的航班:\n"

<<"航班号:"<

}

cout<<"请选择所要的操作:1.继续查询2.返回上一级\n";

top3: cin>>choice;

if(choice==1)

{

ShowOneFlight(F);

}

else if(choice==2)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top3;

}

}

void BookTicket(FlightNode *F,POList *B)

{

int flag=0;

int Fl;

int N;

char Na[20];

int choice;

int temp;

cout<<"请输入需乘坐的航班号:\n";

top6: cin>>Fl;

if(!(Fl%5==0))

{

cout<<"输入错误!无此航班号,请重新输入:";

goto top6;

}

cout<<"请输入订票额:\n";

cin>>N;

cout<<"请输入您的名字:\n";

cin>>Na;

for(int i=0;i

{

if(Fl==B[i].Fli){temp=i;flag=1;}

}

if(flag==0){cout<<"无此航班\n";return;}

if(F[temp].Left>=N)

{

char choice1;

cout<<"尚有余票,"<

cout<<"你要订"<

cin>>choice1;

switch(choice1)

{

case 'Y':

case

'y':B[temp].append(Na,N,1);F[temp].Left=F[temp].Left-N;cout<<"订票成功!\n";break;

default:return ;

}

}

else

{

cout<<"余票不足,订票失败"<

}

cout<<"请选择下一步操作:1.继续订票2.退票3.返回上一级\n";

top4: cin>>choice;

if(choice==1)

{

BookTicket(F,B);

}

else if(choice==2)

{

ReturnTicket(F,B);

}

else if(choice==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top4;

}

}

void ReturnTicket(FlightNode *F,POList *B)

{

int Ftemp;

char Ntemp[20];

int BoNum;

int flag=0;

int flag1=0;

int temp;

int choice;

bool flag2;

flag=0;

int Length;

int LengthR;

cout<<"请输入要退票的航班号:";

cin>>Ftemp;

cout<<"请输入你的名字:";

cin>>Ntemp;

for(int i=0;i

{

if(Ftemp==B[i].Fli){temp=i;flag1=1;}

}

if(flag1==0){cout<<"无此航班\n";return;}

B[temp].setEnd();

Length=B[temp].leftLength();

cout<

B[temp].setStart();

for(int j=0;j<=Length;j++)

{

if(strcmp(B[temp].fence->Name,Ntemp)==0)

{

B[temp].prev();

B[temp].remove(Ntemp,BoNum);

F[temp].Left+=BoNum;

flag=1;

}

B[temp].next();

}

if(flag==1)

cout<<"退票成功!"<

else cout<<"对不起,没有你订票的记录!\n";

cout<<"请选择下一步操作:1.继续退票2.订票3.返回上级菜单\n"; top5: cin>>choice;

if(choice==1)

{

ReturnTicket(F,B);

}

else if(choice==2)

{

BookTicket(F,B);

}

else if(choice==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top5;

}

}

void main()

{

FlightNode F[50];

POList B[50];

//定义各条航线的详细信息

F[0]=FlightNode("NULL",1000,1,1,0,0);

B[0]=100;

F[1]=FlightNode("北京",1005,100,4,100,100);

B[1].Fli=1005;

F[2]=FlightNode("哈尔滨",1010,101,5,100,100);

B[2].Fli=1010;

F[3]=FlightNode("长春",1015,102,4,100,100);

B[3].Fli=1015;

F[4]=FlightNode("天津",1020,103,2,100,100);

B[4].Fli =1020;

F[5]=FlightNode("西安",1025,104,1,100,100);

B[5].Fli =1025;

F[6]=FlightNode("拉萨",1030,105,6,100,100);

B[6].Fli =1030;

F[7]=FlightNode("杭州",1035,106,7,100,100);

B[7].Fli =1035;

F[8]=FlightNode("海口",1040,107,1,100,100);

B[8].Fli =1040;

F[9]=FlightNode("台北",1045,108,2,100,100);

B[9].Fli =1045;

F[10]=FlightNode("东京",1050,109,3,100,100);

B[10].Fli =1050;

F[11]=FlightNode("伦敦",1055,110,4,100,100);

B[11].Fli =1055;

F[12]=FlightNode("纽约",1060,111,5,100,100);

B[12].Fli =1060;

F[13]=FlightNode("巴黎",1060,112,6,100,100);

B[13].Fli =1060;

F[14]=FlightNode("悉尼",1065,113,7,100,100);

B[14].Fli =1065;

F[15]=FlightNode("温哥华",1070,114,1,100,100);

B[15].Fli =1070;

F[16]=FlightNode("华盛顿",1075,115,2,100,100);

B[16].Fli =1075;

F[17]=FlightNode("新加坡",1080,116,3,100,100);

B[17].Fli =1080;

F[18]=FlightNode("平壤",1085,117,4,100,100);

B[18].Fli =1085;

F[19]=FlightNode("汉城",1090,118,5,100,100);

B[19].Fli =1090;

n=20;

int choice;

while(1)

{

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<" *** 欢迎使用航空客运订票系统!!*** "<

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<"你可以进行以下的操作:\n"

<<"1==>查询已有航线\n"

<<"2==>录入新的航线信息\n"

<<"3==>查询单条航线\n"

<<"4==>订票\n"

<<"5==>退票\n"

<<"6==>退出.\n"

<<"----------------------------------------"<

cout<<"请选择:";

top: cin>>choice;

switch(choice)

{

case 1 : ShowAllFlight(F,B);break;

case 2 : addFlight(F,B);break;

case 3 : ShowOneFlight(F);break;

case 4 : BookTicket(F,B) ;break;

case 5 : ReturnTicket(F,B) ;break;

case 6 : cout<<"退出系统!多谢使用!\n";return;

default : cout<<"输入错误,请重新输入:\n";goto top;

}

}

}

五.实验结果

1.当运行程序时,会出现如下界面

2.通过选择1可以查询现在已有的航线

3. 通过选择2可以录入新的航班

4.选择4可以进入订票系统

5. 选择5可以进入退票系统

5.选择6则可以退出系统。

心得体会

在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过航班订票系统的开发让我知道了自己的不足和缺点。一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程序的开发才知道自己知识的有限,才会学会具体的分析问题,是自己的逻辑性和层次性得到良好的锻炼,经过这次课程设计,我对调试掌握的更加熟练了,改变了过去只调试不知道如何对照程序语言修改程序的坏习惯,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如果加一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。

课程设计是一门专业课,给我很多专业知识以及专业技能上了提升,同时又是一门思辨课,让我感触很深,是我对抽象的理论有了具体的认识,在这次课程设计中知道了以前没有接触过的很多函数,在以后的学习中自己要加强程序的锻炼,多参考好的程序和各种各样的函数,建立起自己的函数库,为以后学习打下良好的基础。

火车售票系统

摘要 摘要 铁路运输一直都是我国重要的经济命脉,而且由于我国是内陆国家,这铁路运输的意义就显得更加突出了,对于这样重要的一件事,当然需要良好的管理了。经过几十年的发展,我国拥有总里程超过五万公里的铁路线,是世界上最大的铁路运输网之一。而铁路客运服务在其中又占有非常重要的地位。事实早就证明了使用计算机软件来辅助自己比单纯的人工处理手段高明的多,在这样的背景下,研究这样的课题的意义也就不言而明了。一个大型的计算机管理系统必须有一个正确的设计指导思想,通过合理的选择数据结构,操作系统以及开发环境,构成一个完善的网络系统,才能充分发挥计算机信息管理优势。在此背景下,本文论述了小型列车票务管理系统的设计与实现。通过对各种数据库管理系统(DBMS)的模型分析,结合火车站售票查询的实际需求,同时本文还说明了列车订票管理系统的开发过程及各种技术细节。本系统是适应时代发展的需要,提高管理的效率而开发设计的。结合所要开发的系统的特点,此列车票务管理系统系统采用SQL语言进行编写,后台数据库在IBM DB2环境下运行。整个系统力求做到操作简便、界面友好、灵活、实用和安全。可实现现代化的集预定车票、售票、退票、查询及其他各种服务及功能,车站售票组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助数据库设计来进行现代化的信息管理。系统运行结果证明,本文所设计的列车票务管理系统可以满足购票者、票务工作人员和票务系统管理员等几方面的需要。 关键词:SQL语言;IBM DB2;数据库设计;列车票务管理系统 已售出的列车票表信息、列车管理功能、售票员登陆 I

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

课程设计说明书(数据库系统) 题目: 在线机票预订系统的设计与实现 院系:计算机与工程学院 专业班级:计算机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");

课程设计一火车售票系统

数据结构与算法课程实验报告课程设计一:火车售票系统设计及实现 姓名:cll 班级: 学号:

一、实验内容: 火车售票系统在现实中的应用已经非常普遍,目前通常使用可视化的方法实现,例如采用C/S模式下的程序设计或者采用B/S模式下的程序设计,通常都具有较为友好的界面和较为完善的功能。火车售票系统的实现过程中,主要涉及到数据格式的设计,也就是 数据结构的设计。通常在采用数据库的情况下,可以运用数据库的设计来实现。在没有采 用数据库情况下需要,单独设计相应数据结构和算法。 二、实验目的: 按给定需求,通过查找相关资料,完成火车售票系统设计及实现,在设计过程中充分运用数据结构与算法课程中所学知识,从而熟练地掌握和应用线性表、单链表等重要数据结构和常用算法。提前熟悉软件需求分析,软件测试等环节,运用相应程序设计语言实现该系统,从而进一步提高程序设计能力。 三、问题描述 (1)此系统可以实现售票、退票、车票剩余情况查询等功能。 (2)每张车票包含车次、座位信息。在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、座位情况。 (3)退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票。 (4)演示程序以用户和计算机的对话方式进行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入程序中规定的运算命令;相应的输入数据(滤去输入中的非法字符)和运算结果显示在后。 (5)由订票系统的主要功能使程序的命令包括: 1)查询;2)订票;3)退票4)退出订票系统 四、问题的实现 4.1所用的数据结构(包括所用数据结构的抽象数据类型定义和说明) typedef struct LNode{ //数据域 char name[10];//订票姓名 int dnum;//订票数量 char dj[50];//证件编号 int zhekou; //1代表折扣对象 float pay;//付费 struct LNode *next;//指针域 int zuohao[200]; }LNode,*LinkList;//构造单链表(已订票) typedef struct Tickets{ char *endname;//终点站名 char *hnum;//车次名 int fnum;//票价 float discut;//折扣 int day;//日期 int wholenum;//总票额 int lastnum;//余票量 int tuipiao[100]; //退票处理,记录退票的座位号

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

数据结构 课程设计报告 院系:信息管理学院 专业:软件工程 班级:软件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,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

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,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

机票预订系统课程设计

内蒙古科技大学 《数据库原理及应用》课程设计说明书 题目:机票预订系统 学生姓名 学号: 专业:计算机科学与技术 班级: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. 管理员:各类用户权限设置; 2. 操作员:查询与火车票销售/退票管理; 3. 普通用户:查询与网上预定/取消预定火车票。 课程设计报告的组成: 1. 需求规格说明书,包括用例图,数据流图,数据字典; 2. 概要设计说明书,包括系统模块结构图,功能模块清单,实体图,系统E-R图,数据库表结构设计。 3. 项目总结报告,包括实际完成情况表。 指导教师: 课程设计评语 成绩: 指导教师:_______________ 年月日 2

目录 目录 (1) 第一部分软件需求规格说明书 (1) 1引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3术语定义 (1) 1.4参考资料 (2) 2任务概述 (2) 2.1目标 (2) 2.2用户的特点 (2) 3需求规定 (3) 3.1系统用例图 (3) 3.2数据流图与数据字典 (4) 3.3对性能的规定 (13) 4运行环境规定 (14) 4.1设备 (14) 4.2支持软件 (14) 1引言 (15) 1.1目的 (15) 1.2范围 (16) 1.3命名规则 (16) 1.4术语定义 (16) 1.5参考资料 (17) 2总体设计 (17) 2.1总体结构设计 (17) 2.2功能模块清单 (19) 3数据库设计 (19) 3.1数据库概念级设计(E-R图) (19) 3.2数据结构逻辑级设计 (22) 第三部分项目开发总结报告 (24) 1引言 (24) 1.1编写目的 (24) 1.2参考资料 (24) 2设计总结 (25) 2.1实际完成情况 (25) 2.2 收获 (25) 2.3有待改进之处 (28)

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

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

飞机订票系统课程设计报告 一、系统分析。 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.每条线路所涉及的信息有:起点、终点、站名、车次、、票价、时间、座位号。 2.作为示意系统,全部数据可以只放在内存中。 3.系统能实现的功能和操作如下: ①.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。 ②.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要可登记排队候补。 ③.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 ④登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。 ⑤统计功能:将每次车的订票,退票结果统计出来。 ⑥管理功能:列车管理员可以通过调用函数来查看车票极其用户情况. ⑦.查询功能:用户可以查询自己需要的车辆信息. 二.总体设计 1.程序流程图:

按2键 按3键 按4键 进入in函数 进入book函数 进入inquire函数 进入cancel函数 按5键 进入you函数 2.总体设计说明: ①.数据结构设计: 程序=数据结构+算法,一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息和用户信息的数据结构. 车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次,起始站,发车时间,指向下一个结点的指针,指向中途站的指针.纵向链表中每一个结点包含以下内容:从始发站开始的依次到站,票价,到达时间,是否已被购买标识,才用mark标识,当mark为1时车票已售出,当mark为0时车票还未售出.以及指向下一个结点的指针.纵向链表采用循环链表,尾指针指向首指针. 未购票用户信息使用队列来保存,因为考虑到用户会预订票,所以把用户以来订票的时间早晚排在队中.先来先买,后来后买.队列中的每个元素包含以下内容:用户姓名,身份证号码,想要购票的车次,起始站,要到的站,时间. 已经购票用户信息使用一个单链表来保存,链表中的没个结点包含以下内容:用户姓名,身份证号码,已购车票的车次,出发时间,到达时间. 车票信息链表示意图: 车次 起始站 发车时间 downn next

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 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日

火车订票系统的设计与实现课程设计

小学综合实践活动《快乐剪纸》课堂实录 教学目标: 识与技能目标:通过运用对折法基,使用剪刀等工具剪出对称图案,并尝试设计图案、创作剪纸作品,培养学生的动手能力和创造能力。 过程与方法目标:通过探究剪纸作品的制作过程,培养学生感知事物、自主探究的能力,并在小组合作研究中提高观察能力、协作能力和交往能力。 情感态度与价值观目标:通过了解剪纸历史、起源,培养学生对剪纸的兴趣和对祖国传统文化的热爱。通过创作剪纸作品培养学生发现美、创造美的意识以及热爱生活的情趣。 教学重点:学会剪纸的基本技法及技巧。 教学难点:能够剪出对称图案和连续图案,并尝试设计图案。 教学过程: (一)创设情境,导入新课 1.魔术导入。 师拿出一把剪刀和一张正方形红纸,问:同学们喜欢看魔术表演吗? 生:喜欢。 师:老师用手里的剪刀和正方形红纸给大家表演一个魔术吧!要仔细看! 教师表演,学生仔细看。 教师展示变出的小蝴蝶。 师:同学们说老师是用什么方法让正方形红纸变成了小蝴蝶。 生回答:剪纸。 师:同学们喜欢剪纸吗?这节课让我们和小蝴蝶一起走进快乐剪纸! 师板书课题:快乐剪纸 2.生活中的剪纸。 先让学生自由交流自己在日常生活中见过的剪纸,然后多媒体出示生活中的剪纸作品,师生同欣赏。. 师:欣赏了这么多剪纸作品,同学们喜欢剪纸吗?想跟老师学习剪纸吗? 生齐答:想。 (二)揭示课题,学习研究 1.什么是剪纸? 师:要想学习剪纸,首先要了解什么是剪纸? 出示一段关于剪纸的资料,让学生大声朗读,然后抽学生说一说你在这段资料中获得了 哪些关于剪纸的知识。 教师引导小结什么是剪纸:剪纸,又叫刻纸,是我国一种民间传统手工艺术,已有一千年的悠久历史。一张张普通的彩纸经过设计和剪刻,就会变成一件件美丽的作品。 (设计意图:以魔术和图片的形式展示剪纸作品,激发了学生的好奇心、求知欲。)2.剪纸需要的工具和材料 师:要想学剪纸,还要知道剪纸需要哪些工具和材料,下面请同学们开动脑筋想

数据结构课程设计(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()可

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