文档视界 最新最全的文档下载
当前位置:文档视界 › 专业课程设计I分析方案_民航票务管理与售票系统

专业课程设计I分析方案_民航票务管理与售票系统

专业课程设计I分析方案_民航票务管理与售票系统
专业课程设计I分析方案_民航票务管理与售票系统

专业课程设计I报告( 2011 / 2012 学年第二学期)

题目:民航票务管理与售票系统

专业软件工程

学生姓名仓业亮

班级学号 B09040811

指导教师李玲娟

指导单位计算机学院软件工程系

日期 2012年4月26日

指导教师成绩评定表

民航票务管理与售票系统

一、课题内容和要求

1.1课程简介:

本次课程设计的基本要求主要是按照软件工程思想,以SQL Server 2000为后台数据库,以Delphi为前端开发工具,设计并实现一个民航票务管理与售票系统。其中,系统实现的功能主要有

(1)可以进行航班信息、票务信息的添加、修改和删除。

(2)允许普通用户和各类人员查询有关民航航班的时刻表,包括航班号、起点、终点、日期、起飞时刻、到达时刻、剩余座位数、票价、航班所属航空公司等方面的准确信息。也可以按照终点和日期进行查询。

1.2. 需求描述

1.2.1 我把本系统的用户统一分为普通用户和具有信息管理职责的管理员特殊用户,其中,管理员是系统指定的用户,不用注册,且本身也不必具备修改用户信息的功能。而普通用户初次登陆时是需要注册的,注册完了之后,如果数据成功添加在了数据库的passenger表中,则显示成功注册,然后重新登陆。

1.2.2可以进行航班信息、票务信息的添加、修改和删除。

该功能只能有管理员实现,其中票务信息我是不允许修改的,只有删除的选项,之所以这么做,第一是票务信息(p_ticket)关联的关联的两张表passenger乘客信息表和flight航班信息表都是可以修改的,所以票务信息的修改本质上意义不大;第二就是我的三张表都是有外键约束的,所以当票务信息被修改的时候,必然影响到其他主键表,所以技术上也添了麻烦。

1.2.3用户可以对航班信息表进行一定限度的查询,包括按航班号查询,按起点和终点查询和按日期查询。三种条件选一种

1.2.4 售票信息实时更新:

具体要做到的是当某个航班被售票的时候,其剩余座位数也要跟着减少一个,相应的退票的时候,座位数也要跟着加一。需要注意的是用户不具有退票的功能,必须由管理员操作。

1.2.5非功能需求

(1)可读性:程序的源代码要书写规整,要求容易理解,以便于日后程序

调试时容易测试和修改。

(2)界面的设计:应本着简洁、漂亮、通俗易懂,操作简便,并具有一定的灵活性;尽可能采用开发工具构造界面,使需求定义和设计、编码相衔接;参考、比较已经成熟的软件的界面的风格,提取有用的设计方法。

(3)可测试性:这是建立在可读性的基础之上的,如果程序不易于理解则测试起来相当麻烦,并且有可能造成灾难性后果。

1.3开发运行环境

系统开发平台:Delphi 7

数据库管理系统软件:SQL Server 2000

运行平台:Windows XP

分辨率:最佳效果1024×768

硬盘要求:

CPU:300MHz以上的处理器

内存:64MB,推荐128M以上

硬盘:100M以上磁盘空间

二、设计思路分析

完成此课题的思路和基本步骤

第一步:理解该系统的功能需求,进行逻辑设计,指定具体的实现计划。

第二步:数据库设计,具体包括表的划分和建立,表中的属性值的定义等。

第三步:测试连接,主要是测试开发环境delphi7与数据库sql2000的连接特性。

第四步:系统的模块划分,确定各个模块所要实现的功能。

第五步:确定测试用例和测试方法,方便程序以后的测试。

第六步:主要功能模块的设计和实现,并且辅助以测试实现。

第七步:测试所完成的应用程序,排查和纠正错误。

三、概要设计

3.1数据库逻辑设计如下:

3.1.1本数据库的设计中,具体涉及到了三张表的创建于修改。Passenger—用户信息表

Flight—航班信息表

P_ticket—票务信息表

3.1.2数据库的完整性约束规则的说明(主键、外键等)如下图所示:

其中选定了级联更新和删除相关的字段和记录可以在我修改flight表和passenger表的主键信息时间接的达到修改票务信息表的目的。

四、详细设计

(1).系统的登陆界面如下图所示:

说明:本窗体需要和数据库里的passenger表相关联,通过ADOconnection1和ADOquery1及datasource1三个控件配合,登陆按钮被点击是触发函数如下:

with adoquery1 do//对用户输入的邮箱地址和密码在passenger表中查询

begin

close;

sql.clear;

sql.text:=('select * from passenger where 邮箱地址=:a and 密码=:b ');

parameters.parambyname('a').value:=trim(edit1.text);

parameters.parambyname('b').value:=trim(edit2.text);

open;

if recordCount=1 then //如果存在符合输入的记录则跳转到查询主页

begin

form1.Visible:=false ;

form3.show;

user_id:=edit1.Text;

manager:='90231@https://www.docsj.com/doc/5d13244104.html,'; //系统中自己设定的管理员账号

if user_id=manager then //如果用户用的是管理员的账号

begin

form3.bitbtn2.Visible:=false ;//管理员不能修改用户信息

form3.BitBtn8.Visible:=true; //管理员对信息管理的按钮可见

https://www.docsj.com/doc/5d13244104.html,bel3.caption:='管理员'

end

else

begin

form3.BitBtn2.Visible:=true; //允许普通用户修改用户信息

form3.BitBtn8.Visible:=false; //不具有信息管理的权限

https://www.docsj.com/doc/5d13244104.html,bel3.Caption:='普通用户';

end;

end

else

showmessage('用户名或密码输入错误!');//密码验证错误,输出提示

end;

(2).新用户的注册界面如下图所示:

说明:在输入用户邮箱的时候,光标进入到edit控件之内我写了一个触发函数:checkbox1.Checked:=false;

checkbox1.Caption:='帮你验证邮箱';//显示界面友好

而当光标移开edit控件后也有一个触发函数:

if (pos('@',edit1.text) <=0) or (length(edit1.Text)<5) then//没有‘@’字符或者

begin

showmessage('邮箱地址格式不正确,请重新输入!') ;//字符长度小于5为非法

edit1.Text:='';

end

else

begin

checkbox1.Checked:=false; //初始化checkbox标签属性

with adoquery1 do //在用户表中对此地址进行查询

begin

close;

sql.clear;

sql.text:=('select * from passenger where 邮箱地址=:a ');

parameters.parambyname('a').value:=trim(edit1.text);

open;

if recordCount=1 then //存在则输出提示

begin

checkbox1.Checked:=false ;

checkbox1.Caption:='邮箱已被注册!请重新输入';

edit1.Text:='' ;

end

else

……..

end;

另外,我还通过重复输入密码的验证,联系电话输入长度的限制等,使用户注册信息更加合理,也更加人性化。

(3).普通用户通过登录界面之后的查询界面如下:

具体的顺序图如下:

说明:用户可以通过三种条件进行查询,但是不允许多条件查询。具体设定是比如我选择按照航班号进行查询时,则其后面的航班号dblookupcombobox 就可用而其他的查询条件框是不可用的。源程序中dblookupcombobox的设定有

必要说明一下。首先将该控件与一个adoquery控件连接好,adoquery控件的设定略去,然后设定listsource、listfield和keyfield的值,第一次我keyfield的值没有设定是,是显示不出字段的值的。

确定查询的点击事件触发的函数如下:

with adoquery4 do //在航班信息表中进行查询

begin

close;

sql.clear;

if (dblookupcombobox1.Enabled=true) //如果选择按起降地查询

and(dblookupcombobox1.Text<>'')and(dblookupcombobox2.Text<>'') then

begin

sql.text:=('select * from flight where 起点=:a and 终点=:b');

parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

parameters.parambyname('b').value:=trim(dblookupcombobox2.Text);

end else

if (dblookupcombobox3.Enabled=true) and(dblookupcombobox3.Text<>'') then //如果选择航班号查询

begin

。。。 //代码略去

end else

if (edit1.Enabled=true) and(edit1.Text<>'')and(edit2.Text<>'') then

begin

adoquery4.SQL.Add('select * from flight where 日期 between :cong and :dao');

adoquery4.Parameters.ParamByName('cong').Value:=trim(edit1.Text);

adoquery4.Parameters.ParamByName('dao').Value:=trim(edit2.Text);

end;

end;

open;

if recordCount>0 then

begin end

else

showmessage('不存在符合输入的记录!');//没有检查到信息是提示

end;

(3).用户查询完航班信息之后可以进行订票,具体界面情况如下:

说明:因为航班信息表的主键设置为了航班号和日期,所以用户在订票时必须选择航班号和日期两个选项之后才能完成航班信息的选择。为方便用户,我在选择完了航班号之后,下一个日期选项自动定位到字段值为所选航班号的所有日期,缩小了选择范围,避免了一些不必要的选项。具体代码如下:

with form6.ADOQuery3 do //日期复选框用到的组件

begin

close;

sql.clear;

sql.text:=('select * from flight where 航班号=:a'); //查询符合的值

parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

open;

end;

底下的用户信息是随着用户的登陆信息自动更新的无需用户进行输入,具体实现代码如下:

with form6.ADOQuery5 do //定位用户信息

begin

close;

sql.clear;

sql.text:=('select * from p_ticket where 邮箱地址=:a ');

parameters.parambyname('a').value:=trim(user_id); //用户登陆时自动赋

open; //值的变量

end;

确定订票时需要对其所对应的航班信息的剩余座位数进行验证,如果为零,则不允许订票,另外还要对是否进行了重复订票进行检查,具体代码如下:

if (dblookupcombobox1.Text='') or (dblookupcombobox2.Text='') or

(adoquery4.FieldByName('剩余座位数').Value=0) then

Begin //剩余座位数为零,则不能完成订票

showmessage('没有座位了,订票失败!');

end

else

with form6.ADOQuery5 do //检查票务信息是否重复

begin

close;

sql.clear;

sql.text:=('select * from p_ticket where 航班号=:a and 日期=:b and 邮箱地址

=:c');parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

parameters.parambyname('b').value:=trim(dblookupcombobox2.Text);

parameters.parambyname('c').value:=trim(dbedit1.Text);

open;

if recordCount=1 then //在票务信息已有记录时

begin

showmessage('票务信息重复,添加失败!');

end;

另外需要完成的一项重要的功能是实现剩余座位数的动态更新,具体完成

的代码如下所示:

with ADOQuery4 do //更新座位数

begin

i:=fieldbyname('剩余座位数').Value-1; //i是上文定义的整型变量

str(i,s); //将i转换成s字符串型的变量

Close;

SQL.Clear;

SQL.Text:='Update flight SET 剩余座位数=:剩余座位数 where 航班号=:a and 日期=:b ';parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

parameters.parambyname('b').value:=trim(dblookupcombobox2.Text);

Parameters.ParamByName('剩余座位数').Value:=s;//更新座位数的值

ExecSQL;

close;

SQL.Add('select * from flight ');

sql.clear; //更新座位信息

sql.text:=('select * from flight where 航班号=:a and 日期=:b');

parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

parameters.parambyname('b').value:=trim(dblookupcombobox2.Text);

open;

end;

至此普通用户的功能都已经实现了,下文将讨论管理员的功能实现:

系统中对管理员的账号信息固定为‘90231@https://www.docsj.com/doc/5d13244104.html,’,所以管理员的用户

信息是不允许修改的,实际中也没有多大的意义。以管理员身份登录之后系统

的航班信息查询界面会增加一个信息管理选项,同时用户信息修改的按钮被隐藏,同时提醒用户是管理员身份登录,具体界面如下所示:

点击信息管理则进入到下一个界面如图所示:

在本界面中一个dbgrid主要显示了三张表的信息,通过上方的按钮进行控制,具体的代码如下:

bitbtn6.Enabled:=true; bitbtn7.Enabled:=true; bitbtn8.Enabled:=true;

//使下方的查询、修改、删除按钮有效

flight_in:=true; user_in:=false; ticket_in:=false;//上文定义的三个变量

with adoquery1 do //选择航班信息表进行信息显示

begin

close;

sql.clear;

sql.text:=('select * from flight');

open;

end; //如果没有记录则不支持修改和删除

if dbgrid1.DataSource.DataSet.RecordCount=0 then

begin

bitbtn7.Enabled:=false;

bitbtn8.Enabled:=false;

end;

当要修改数据时,首先选中记录:

然后点击修改按钮,出现如下界面:

关键代码如下:

if flight_in=true then //如果选中了航班信息进行修改

begin

form5.Enabled:=false;

form7.show;

form7.dbedit1.enabled:=false;

form7.dbedit2.enabled:=false; //主键不允许修改

s:=adoquery1.fieldbyname('航班号').AsString;

s1:=adoquery1.fieldbyname('日期').AsString; 读取光标的那一行的值

with form7.ADOQuery1 do //从航班信息表中进行定位

begin

close;

sql.clear;

sql.text:=('select * from flight where 航班号=:a and 日期=:b ');

parameters.parambyname('a').value:=s;

parameters.parambyname('b').value:=s1;

open;

end;

end;

因为航班信息的显示用的都是dbedit控件,所以确定修改的代码非常简单:

form7.ADOQuery1.UpdateBatch;保存修改

form7.Visible:=false;

form5.show; 返回原来得界面

form5.enabled:=true;

而对于其他两个票务信息表和航班信息表我是不允许修改的,具体原因我上文已经说过了。

当选中了票务信息表的时候,在点击添加按钮,即出现如下界面:

说明:首先要选择航班号和日期,其次选择邮箱地址,最后确认添加,即可完成管理员售票功能,添加之前的验证代码如下:

if (dblookupcombobox1.Text='') or (dblookupcombobox2.Text='')

or(dblookupcombobox3.Text='') or(form10.DBEdit3.Text='')or(adoquery4.FieldByName('剩余座位数').Value=0) then

begin

showmessage('信息不完整或者没有剩余座位了,无法完成订票!');

end else begin

with form10.ADOQuery7 do //对票务信息表进行查询

begin

close;

sql.clear;

sql.text:=('select * from p_ticket where 航班号=:a and 日期=:b and 邮箱地址=:c');

parameters.parambyname('a').value:=trim(dblookupcombobox1.Text);

parameters.parambyname('b').value:=trim(dblookupcombobox2.Text);

parameters.parambyname('c').value:=trim(dblookupcombobox3.Text);

open;

if recordCount=1 then //如果已经存在了相同的记录

begin

showmessage('票务信息重复,添加失败!');

form10.Show;

end;

删除票务信息之前,要先选中:

选择删除按钮即可出现如下界面:

确认删除时,剩余座位数会自动加一,至此管理员的票务信息的添加以及删除就完成了。

(源程序代码用Times New Roman 5号字体,单倍行距)

五、测试数据及其结果分析(格式:宋体,4号,加粗,两端对齐)

(1).用户登录测试,假设数据库中有如下一条记录:

当我密码输入错误时有如下错误:

用户名及密码正确验证以后即进入了主界面,用户的登录功能实现了。

(2).普通用户可对航班信息进行查询,假设flight航班信息表中有如下数据:

按起降地查询时有:

点击确认查询有如下结果:

则用户按起降地查询功能实现成功。

类似的按航班号查询有如下结果:

按日期查询如下:

都已经实现了预期的功能:

(3).用户进行订票时,下方的用户信息会自动更新:

选中订票按钮之后,信息自动增加:

经检查,剩余座位数也自动减一了。

(4).再用管理员的身份登录时进入到信息管理界面,先增加一条航班信息如图所示:

点击添加出现如下界面:

点击确认添加之后数据库显示了更新信息,如下图所示:

功能顺利实现。

点击添加

火车站票务信息管理系统设计与实现

火车站票务信息管理系统设计与实现 摘要:火车票的订购怎样变得简单,一直是我们致力于研究的一个方面,也是社会服务的一个难点,订票的查询以及火车信息的查询是最基本的业务。采用计算机信息管理系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效益。 本系统采用Microsoft Access 2003数据库系统,Delphi开发工具等一系列计算机工具进行开发。本系统面向普通用户,管理员两类用户提供服务,在系统中可以让普通用户和管理员进行票务信息浏览、用户在线订退票,管理员在线修改等。系统在Windows XP 操作系统环境下运行,其整体性能达到了系统的预期设计目标,能够更好地辅助网上票务管理,提高订退票的效率、权威。 关键字:票务;信息系统;Microsoft Access 2003数据库;Delphi开发工具

Train station ticket information management system design and Implementation Abstract:How to make the Train ticket ordering to be simple, we have been devoted to the study of the hand.That is also a difficult social services.Booking inquiries and train information inquiry is the most basic business. Using computer information management system has become a train station ticket management scientific and an important symbol of modernization.It brings economic benefit and social benefit for Train Station obviously. The development of this system mainly uses Microsoft Access 2003 database system and Delphi development tools. This system mainly for ordinary users and administrators to provide services. The system allows ordinary users and administrators of ticketing information browsing, online user set refund, administrator on line modification. System running under the Windows XP operating system environment, its overall performance achieved the expected design objectives of the system.It make the operations become more easier, such as the online ticketing management, improve the efficiency of the authority set refund. Keywords:Ticket,Information System,Microsoft Access 2003 database,Delphi Development tools

航空订票系统代码

#include #include void FlightInsert(); //增加路线 void FlightDelete();//删除路线 void FlightLookup();//航班查询 void FlightRework();//航班路线修改 void FlightBuyticket();//买票 void FlightCancelticket();//取消订票 void Flightclean();//清空 void MainMenu();//主函数 void Display();//显示订票信息 typedef struct Customer //已定票乘客信息{ char Name[10]; // int Amount; //定票数 int Level; //舱位等级 int SeatNum; //座位号 char FlightNum[10]; //所定航班号 struct Customer *next; }Customer; typedef struct Replace //侯补乘客信息{ char Name[10]; //姓名e int Amount; //定票数 int Level; //舱位等级 char FlightNum[10]; //所定航班号 struct Replace *next; }Replace; typedef struct Flight //航班路线信息 { char From[10]; //起点站名 char Des[10]; //终点站名 char FlightNum[10]; //航班号 char PlaneNum[10]; //航班 char Week[20]; //飞机周日

列车票务系统数据库课程设计说明书

列车票务系统数据库课 程设计说明书 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

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

机场订票系统

#include #include using namespace std; class Passenger { public: string name; string flight; Passenger *next; Passenger(const string name,string flight,Passenger* p=NULL) { this->name=name; this->flight=flight; this->next=p; } }; class Ticket { private: Passenger *head,*tail;// public: Ticket(); ~Ticket(); void reverseTicket();//订票 void cancelTicket();//退票 void checkTicket();//查询某人是否已定航班 void display();//显示乘客航班信息 }; Ticket::Ticket() { head=tail=NULL; } Ticket::~Ticket() { Passenger* p=head,*q=head; while(p!=NULL) { q=head->next; delete p; p=q; } }

void Ticket::reverseTicket() { string name,flight; cout<<"请输入您的姓名:"<>name; cout<<"请输入您要订的航班号:"<>flight; if(head==NULL) { head=tail=new Passenger(name,flight); cout<<"订票成功"<next) { if(namename) break; else p=p->next; } p->next=new Passenger(name,flight,p->next); cout<<"订票成功"<>name; cout<<"请输入您要退订的航班:"<>flight; Passenger *p=head,*q=head; if((p->name==name)&&(p->flight==flight)) { head=head->next; cout<<"退票成功!"<

航空售票管理系统

摘要 伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。 一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用Delphi 7.0做为开发工具,进行开发与设计的。本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。 关键词: 航空;售票;网上订票;管理系统;数据库;SQL语言。

目录 1.开发一个航空售票管理系统的背景和意义 (1) 1.1.传统售票方式的回顾和特点分析 (1) 1.2.航空售票管理系统的应用现状和前景展望 (1) 2.用计算机开发一个航空售票管理系统的可行性分析 (1) 2.1.技术可行性 (1) 2.2.经济可行性 (2) 2.3.法律可行性 (2) 3.开发环境的选择 (3) 3.1.Delphi 7.0简介 (3) 3.2.开发工具的选择 (3) 4.航空售票管理系统的需求分析 (3) 4.1.系统分析 (4) 4.2.系统功能模块设计 (4) 4.3.功能子模块分析 (5) 4.3.1.网上订票模块 (5) 4.3.2.用户查询模块 (5) 4.3.3.用户订票模 (5) 4.4.后台管理系统 (6) 4.4.1.后台管理系统子模块 (6) 4.5. 民航售票管理系统的顶级数据流程图 (8) 4.6. 民航售票管理系统一级数据流图 (9) 4.7. 数据字典定义 (10) 4.7.1.数据项定义 (10) 4.8.E/R模型 (13) 5.详细设计 (14) 5.1.系统的总体流程图 (14) 5.2.系统各模块的实现 (15) 5.2.1.系统登录窗口 (15) 5.2.2.主界面窗口 (16) 5.2.3.信息操作模块 (17) 5.2.4.送票员模块 (22) 5.2.5.员工管理模块 (23) 5.2.6.系统模块 (24) 5.2.7.售票员模块 (25) 5.2.8.前台订票模块 (26)

《管理信息系统》课程设计分析方案

管理信息系统设计报告 实验题目:航班售票管理系统设计报告 院系班级: 姓名: 学号: 辅导老师:徐恒 完成日期:2018年5月17日

目录 一、实验题目3 二、实验目的3 三、实验内容3⑴.系统分析:3 <一)必要性分析3 <二)可行性分析3 <三)航班售票管理系统业务流程分析3 <四)航班售票管理系统数据流图5 <五)航班售票管理系统数据字典5 ⑵.系统设计:8 <一)功能模块设计8 <二)代码设计9 <三)系统运行环境与数据库设计9 <四)输入输出设计11 四、总结与体会16 参考书目:18

一、实验题目:航班售票管理系统设计报告 二、实验目的: 1.能够正确运用网络数据库课程的基本理论和知识,结合本课题,复习巩固提高数据库反感设计,论证和分析方法; 2.熟悉关系数据库规范化设计理论,根据实验要求设计并建立 科学合理的数据库,正确建立数据库中表与表之间的关系; 3. 熟悉业务流程图,数据流程图,数据字典的绘制; 4. 熟悉数据存储设计,输入输出设计等环节; 5. 进一步树立正确的系统设计,实施思想,培养分析能力和解 决问题能力,提高查询信息和撰写书面文件的能力。 三、实验内容 ⑴.系统分析: <一)必要性分析 国际民航业的激烈竞争又迫使担负国际航线运输任务的航空公司必须尽快推出自己的因特网售票系统,而这些又必须由一个安全

的网上订票与支付系统作支持。更重要的还要提供票务管理。面对不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。航空业身处信息时代的电子商务大潮中,加之传统的售票方式已经不能满足现今航空业的发展,于是航空售票管理系统就自然而然被应用。 <二)可行性分析 由于本系统管理主要是对机票的管理,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且航空公司用于机票管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有相关参考文献,还有就是网上资料,特别是参考其它程序的功能,因此完全可以实现系统的投资约50万元,待5年后更新,年使用费约10万元,在经济上是可行的。 <三)航班售票管理系统业务流程分析 航班售票系统主要有以下几项管理功能: <1)订票管理:根据乘客的订票信息查询航班信息,查看是否还有余票未售出,为乘客订票,备份数据。当需要修改订票记录时,查找原订票记录,找到后修改订票记录,备份数据。 <2)退票管理:根据乘客提供的证件号码查找相应乘客信息,若找到,为其退票。 <3)综合查询:根据乘客的要求和提供的信息,检索航班信息数据表,查询航班信息。

售票管理信息系统

摘要 因为现在人们的忙碌生活,方便的管理信息系统由此而生,我就是针对售票流程来设计售票管理信息系统。这个售票管理信息系统,根据售票的三种方式:电话购票、网络购票、现场购票分别进行流程的设计。再通过一系列数据在其系统内部处理过程,设计出的业务流程图、数据流程图、E-R图、功能模块图等。经过对售票管理信息系统的设计,让售票部门能够方便的且正确的处理,让购票者在任何地方都能够购买到所需票据。 关键字:管理信息系统票务流程

目录 1.系统开发背景 (1) 2.数据库设计 (1) 2.1 业务流程图 (1) 2.2 数据流程图 (2) 2.3 数据字典 (5) 2.4 E-R图 (9) 3.系统设计 (11) 3.1 物理方案配置 (11) 3.1.1系统处理方式 (11) 3.1.2系统硬件配置 (11) 3.1.3系统软件配置 (11) 3.2 系统总体功能模块图 (12) 3.3 代码设计 (12) 3.4 输入输出设计 (13) 3.5 模块功能和处理过程设计 (15)

正文 一、系统开发背景 随着时代的发展,人类已经逐步进入信息化社会。信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集、传输,加以利用等活动,日益成为人们社会生活的重要组成部分。售票管理信息系统的产生和发展正好满足人们的这种需求。当前社会,售票管理信息系统通常包含火车票、飞机票、长途车票、表演门票等方面。 现在,因为人们工作的忙碌,没有太多的时间像以前一样,排队去购票,所以出现了很多的购票方式,建立一个计算机管理信息系统,以减轻人们的工作,使他们有更多的时间,并且能尽可能快的完成他们的购票目的。另一方面也提高售票系统的业务管理水平。 二、数据库设计 1.业务流程图 图2-1售票管理信息系统业务流程图

超棒的车站售票管理系统——软件工程课程设计报告

目录 1.可行性研究报告 (5) 1.1问题的定义 (5) 1.2 系统要解决的问题 (5) 2.需求规格说明书 (5) 2.1 要求 (5) 2.2 目标 (5) 2.3开发的开发工具、软硬件环境简介 (5) 2.4技术可行性 (6) 2.5经济可行性 (6) 2.6 操作可行性 (6) 2.7可行性分析结论 (7) 3.总体设计说明书 (7) 3.1 工作内容 (7) 3.2 项目概述 (7) 3.3 服务 (7) 3.4 运行条件 (7) 4.详细设计说明书 (8) 4.1 系统需求 (8) 4.2 功能需求 (8) 4.3系统功能框架图、系统流程图 (8) 5.运行界面与测试说明书 (10) 5.1测试说明 (10) 5.2运行界面 (11) 6.小组成员个人总结报告 (25) 7.开发会议记录 (26)

7.1时间、地点、主持人 (26) 7.2会议记录 (26) 7.3 小结 (28) 8.系统使用说明 (29) 8.1NetBeans的安装 (29) 8.2 JDK1.6.0_10的环境变量配置 (29) 8.3安装Microsoft SQL Server 2008 (32) 8.4、Java程序与SQL Server 2008相连 (32) 《软件工程》课程设计报告

1.可行性研究报告

1.1问题的定义 车站售票系统,乘客购买,查看自己所需要的车次,车票价格,发车时间等因素的选择自由,同时,售票员对销售的票务进行查看、删除、更新等操作。 1.2 系统要解决的问题 建立一个小型的车站售票系统,乘客(姓名,购买车次,购买时间,车票数量)能够查询车辆(车次,票价,起点站,终点站,发车时间,剩余票数),售票员(姓名,密码,类型)进行记录管理。 2.需求规格说明书 2.1 要求 A、功能:售票员能够登录进售票系统,对票务进行管理,乘客可以通过售票员查看自己所需要的车次,乘客可以退票,买票。 B、性能:查询效率尽可能做到精准,信息维护做到简单易用,不需要对用户进行培训; C、完成期限:到本学期的第18 周。 2.2 目标 系统应该尽量做到以下的目标: A、人力与设备费用的减少; B、采用现代程序设计技术; C、数据的处理速度提高; D、管理信息服务的改进; E、人员利用率尽可能提高; F、结果应能清除地审查。 2.3开发的开发工具、软硬件环境简介 本设计在Windows 7平台下,使用的开发工具为netBeans IDE7.2.1数据库为Microsoft SQL Server 2008。 Windows 7 是由微软公司开发的操作系统。Windows 7 可供家庭及商业工作环境、笔记本电脑、平板电脑、多媒体中心等使用。 NetBeans是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于Java,C/C++,PHP等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功

航空订票系统开发说明文档

航空订票系统开发说明文档V1.0 姓名:张敬学号:1203121790 1开发环境搭建过程 1.1 软件下载 开发环境所使用的软件名称及其版本信息如下表所示: 软件名称版本信息 JDK jdk1.7.0_01 Tomcat 6.0.35 MyEclipse 10.0 Axis2 axis2-1.6.2-bin axis2-1.6.2-war axis2-eclipse-codegen-plugin-1.6.2 axis2-eclipse-service-plugin-1.6.2 1.2 搭建环境 1. 安装JDK; 环境变量配置如下图1-1: (1)JA V A_HOME:新建一个变量名JA V A_HOME,并把变量值写成C:\Program Files\Java\jdk1.7.1(装JDK时的路径); (2)配置PATH:在系统变量里编辑一个变量名Path,并在其末尾处添加.;%JA V A_HOME%\bin (3)配置CLASSPATH:在环境变量里新建一个变量名CLASSPATH并将变量写成.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar

图1-1 2. 安装并配置Tomcat相关参数; 将tomcat压缩文件apache-tomcat-6.0.35.zip中的内容解压缩到D:\apache-tomcat-6.0.35下,然后安装配置jdk环境变量的方法配增加系统变量。 变量名:TOMCAT_HOME;变量值:D:\apache-tomcat-6.0.35。然后修改系统变量CLASSPATH添加%TOMCAT_HOME%\common\lib\servlet-api.jar;同时修改系统变量Path,添加%TOMCAT_HOME%\bin 3. 安装MyEclipse,并在其中配置JDK和Tomcat相关参数; 4. 将axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2放至Myeclipse安装目录下的dropins子目录(D:\worksoft\myeclipse\dropins),启动MyEclipse,自动安装; 将axis2.war包拷贝到Tomcat安装目录下的webapps子目录; 启动Tomcat服务器,打开浏览器,输入并访问地址,成功得到Axis2部署成功的信息。如下图1-2所示。

民航订票管理系统

实验十三数据库管理系统综合应用 -------民航订票管理系统 一、实验目的: 通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。 二、实验简述: 民航订票系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要紧急应对措施,在航班出现延误时,要发送相应的信息。 三、实验要求: 完成该系统的数据库设计; 用SQL实现数据库的设计,并在SQL Server上调试通过。 四、参考答案: 1、需求分析 (1)航空公司 航空公司的操作流程如图C.1所示。 图C.1 航空公司操作分类表 (2)客户 客户的操作流程如图C.2所示。

图C.2 客户操作分类表 (3)机场 机场的任务是根据航空公司提供的航线和飞机,安排航班,以及航班的机票。如果出现晚点等情况,要记录并发送信息,对特殊客户记录其消费信息,并相应提供优惠。 (4)客户订票 客户订票涉及到多个因素:由客户提出订票申请;由机场管理航班机票;对于特殊客户,除给予票价优惠以外,还要累计里程;订票后需判断是否超员。这些因素涉及到客户资料、航班资料以及由航空公司提供的航线(里程)和飞机(座位数)资料中所提供的相关数据。 客户订票的操作流程如图C.3所示。 2、概念模型设计 数据库需要表述的信息有以下几种: (1)航空公司信息 (2)客户信息 (3)飞机信息 (4)航线信息 (5)航班信息 (6)订票信息 (7)特殊客户积分

影院票务在线系统数据库课程设计说明书

中国计量学院经济与管理学院 课程设计报告 课程设计名称影院票务在线系统 专业信息管理与信息系统 班级08信管(2) 姓名沈佳锋、潘满 学号0800702207、0800702208 指导教师钮亮 2010年 9月 16日 I

《影院票务在线系统》课程设计报告 目录 一、绪论 (1) 1. 课题简介 (1) 2. 设计目的 (1) 3. 设计内容 (1) 二、需求分析 (4) 1.需求分析的任务 (4) 2.需求分析的过程 (4) 3.数据字典 (5) 三、概念结构设计 (9) 1.概念结构设计的方法与步骤 (9) 1.1 概念结构设计的方法 (9) 1.2 概念结构设计的步骤 (9) 2.数据抽象与局部视图设计 (9) 3.视图的集成 (11) 四、逻辑结构设计 (12) 1.ER图向关系模型的转换 (12) 2.数据模型的优化 (12) 3.数据库的结构 (12) 五、数据库的实施与运行 (15) 1.数据的载入 (17) 2.数据库的运行 (17) 总结 (20)

一、绪论 一、绪论 1. 课题简介 计算机的出现和逐步普及,把信息对整个社会的影响逐步提高到一种绝对重要的地位.信息量,信息传播的速度,信息处理的速度以及应用信息的程度等都以几何级数的方式在增长。人类进入了信息时代。 当今,人们已经可以娴熟应用电脑技术对影片进行CG合成、3D剪辑制作。观赏影片也成了人们日常生活中必不可少的一项娱乐项目。那么,现今有一项难题摆在我们面前:当我们从网络上获取最新影片上映时间的时候,迫不及待带着好友一起奔向电影院的时候,可能会碰上被告知票已售完的尴尬局面。如何能够在网上就能知道附近影院票务情况,成了一项新的立题。本文所阐述的影院票务在线系统,通过对实际的影院票务销售查询过程的研究及对何种数据库管理系统的模型分析,结合现实中影院票务销售所存在的不足,旨在通过在线网络票务销售系统,分析解决这一难题。影院票务在线管理系统,能提高影院管理运作效率,其主要任务,是通过计算机来实现影院票务销售的联网发行,为此,实现此目的的最佳途径就是数据库技术。其中,各个影院管理者可以将各自影院的票务信息存入计算机,注册用户可以根据自己所在地,查找与选择最近的影院及订购自己喜欢的影票。本文所阐述的影院票务管理系统可提供广泛、及时的影票信息,提高影院运行效率,满足消费者足不出户轻松订票的需要,此系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。 2.设计目的 目前,通过计算机来提高各行各业管理部门运行效率的例子已经屡见不鲜。但是,我们发现,在影院电影票务售票情况上还存在一定的问题,观众去影院可能会出现票已售完而白忙活一场的尴尬局面。我们所设计的电影票务在线管理系统,它所能解决的问题就是当人们想去电影院看电影的时候,不需要当面再去影院购票,而是可以直接通过这个系统在家里足不出户轻松一点就能将自己喜欢的影票预定完成。这样对于观众买票是很方便的一件事,观众可以根据自己的空余时间来预定完成自己所喜欢的 1

剧院票务管理系统方案

剧院票务管理系统方案 技术方案 (一).系统概述 剧院的智慧化建设是借助物联网技术、互联网/移动互联网、虚拟现实等技术,通过软件系统的应用和数字化网络的部署,建立起便捷的旅游信息传播网络和高效的剧院管理运营体系,在以应用体验创新满足游客体验需求的过程中,实现旅游剧院运营资源和服务设施相统一的作业体系,进而促进旅游剧院的效益化经营和可持续发展。 剧院的智慧管理体系:资源管理系统,办公自动化、财务管理系统,指挥调度中心; 剧院的智慧服务体系:电子门票系统、监控管理系统、电子导览自助、电子巡更系统、语音广播系统; 剧院的智慧营销体系:电子商务平台(包括门户网站); 剧院的智慧体验体系:游客互动体验(触摸屏形式等的内软显示与信息交互)、移动手机语音; 剧院的智慧环境构建:公用电话网、无线宽带网、通讯技术网和物联感知识别网络的覆盖性建设。 1.设计原则 稳定性、可靠性:系统设计、设备选型、调试、安装等环节严格贯彻技术规范书、国家和安防行业有关的标准与规定,以及公安部门有关安全技术防范的要求,确保系统

运行的可靠性和稳定性,达到最大的平均无故障时间。 先进性:选用当今先进、成熟、通用的安防技术和设备。确保能充分反映所具有的先进水平,又能使系统具有强大的发展潜力,以便在尽可能长的时间内与社会发展相适应。 安全性:系统的使用,除对防范区域内人员、财产起到保护作用外,系统自身也应该具备防破坏、抗干扰的能力。 经济性:在考虑整个系统先进、可靠的同时,还着重考虑了系统的经济实用性,力求达到最高的性能价格比。 实用性:方案设计满足甲方实际需求,充分考虑使用要求。做到易于学习、便于操作、维护方便,使系统功能尽可能地完善并能够充分加以利用。 可扩充性:系统的设计要考虑将来可能存在的扩容需要。 可操作性:系统的使用界面简单明了,方便各种层次管理人员的使用和操作。 2.建设原则 坚持总体规划、分步实施、逐步推进、安全可靠的原则; 坚持统一领导、统一规划、统一标准、统一资源、统一管理的原则; 坚持引进与自主创新相结合的原则。采用先进、成熟、适用、可靠的技术,对于关键技术强化技术创新,为建立具有自主知识产权的票务系统提供持续的技术支持; 坚持“以人为本”的原则。在系统的规划、设计、开发、实施、管理的整个过程中贯穿以游客为中心的思想,确保系统为游客的游玩提供全面、准确、及时、综合的人性

航空订票管理系统-软件项目管理课程设计报告

软件项目管理 课程设计报告 专业:软件工程 年级: 学号: 学生姓名: 题目名称:航空订票管理系统 指导老师: 完成时间: 1、项目概述 目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。配备一个安全、高效、灵活、可靠的客户服务中心系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。 对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义: 1、改善航空公司服务质量; 2、创造和提升航空公司的品牌优势; 3、优化航空公司的服务流程; 4、提升信息化的水平; 2、工作任务(Statement Of Work,SOW)书 进入信息时代后,人们对航空订票的运作实现信息化管理的要求越来越高,随着社会的生活节奏化,为了方便大众,提高工作效率,该系统的建设实现对航空订票的高效率信息化管理。该系统一方面实现对大众的自助服务功能;如:网上订票、退票、查询等功能。另外还要实现系统管理员对整个系统资源的信息化管理,如:用户管理。

一、整体要求 1.系统用例图 2.用例描述 (1)航班查询 查看航班信息基本查询,从下拉列表中选择航班或起点或终点信息 综合查询,手动输入航班的基本信息 (2)订票 输入航班信息显示航班信息,以及打折后的票价信息,询问信息是否正确正确输入个人信息完成订票 不正确返回订票初始界面 (3)退票 输入将退票的序号显示票的具体信息,并询问是否退票退票成功,更新顾客数据库 (4)管理

课程设计票务管理系统

通达学院 专业课程设计报告 题目:汽车客运公司售票系统 专业软件工程 学生姓名 班级学号 指导教师 指导单位南京邮电大学计算机学院 日期2014-6-9至2014-6-20

一.课题名称:汽车客运公司售票系统 二.设计目标:按照软件工程的规范,以SQL Server或Access为后台数据库,以Delphi 或Visual C++为前端开发工具,设计并实现一个简化的汽车客运公司售票系统。 三.需求描述: 某客运公司每日向10个城市各发一个直达班车(中途不停留下客)。每天 都发售今、明、后三天的车票。 系统在磁盘上存储以下信息: 1.今、明、后三天每个班次的基本信息,包括:每个班次的班次号、发车时间、终点城市、座位数量; 2.今、明、后三天每个班次的旅客登记表,表项有:姓名、身份证号、座位号。 该系统的功能如下: 1.添加班次。开始时添加今、明、后三天每个班次的基本信息,以后每天添加后天一天每个班次的基本信息; 2.办理售票,即在旅客登记表中添加旅客信息,座位号不能重复; 3.办理退票,即在旅客登记表中删除旅客信息; 4.班次查询,显示指定班次的余票数和座位号; 5.旅客查询,显示指定班次的旅客登记表(发车前交驾驶员用)。 四.设计概要 流程图

五.具体设计 本次实验以SQL Server 2000为后台数据库,以delphi7.0为前端开发工具,OS为WinXP sp1系统。 票务管理系统用一个数据库和两张表进行存储 两张表的内容如下: 数据库:票务管理 表:1、班次信息表 基本信息用于录入存储班次的信息,包括班次号,日期,发车时间,终点城市,座位,余票,票价。 具体设置如下 3.旅客信息表 基本信息用于录入存储旅客的信息,包括旅客姓名,身份证号,班次号,日期,座位号等 其中座位号=座位—余票 具体设置如下

票务管理系统解决方案

票务管理系统解决方案 1.综述 票务管理系统是我公司根据各类演出的实际需要,融合多种传媒公司、票务代理机构、演出单位的实际业务运作特点和管理需要,推出的体现当前行业最先进管理思想的解决方案。 票务管理系统 实现了对票务自动化管理,结束了传统手工售票及统计的历史,它的意义不仅是网上订票那么简单,而是使得票务管理工作走向全面自动化、规范化,对信息及时发布和进行会员管理,从根本上提高了票据管理效率和对客户的服务质量。 2.适用范围 演出单位:音乐剧、给类演出剧场、体育馆等举办文化活动场所 传媒公司:各类演出的组织者、承办方、发行方。 票务代理机构:票务中间商。 3.功能描述 票务平台信息展示 展示各种文化活动信息:主要有音乐会、戏剧、歌舞、综艺节目、体育运动在内的相关信息。包括演出单位名称、演出地点、演出时间、演出内容简介、演员名单、票价等信息 展示最新演出预告:动态更新最新的演出预告 展示最新演出通告:采用图文并茂的方式动态更新最新的演出通告 展示最新资讯:动态更新最新最火的新闻资讯 展示票务转让信息:展示需转手票务用户的交易信息,包括转手票的信息,转让人的联系方式等信息 展示特惠票务信息:提供特价票,超值票,会员优惠服务等信息 展示最新的劲爆排行榜:统计各种演出的访问人数,选出访问量比较大的几个,按降序列成排行榜 展示会员对演出的评论:会员登陆后可以对不同的演出进行评论,这些评论都能展示出来展示专题信息:对一个或某几个特定演出以专题的形式进行报道、专评、汇总 展示一场具体演出的图集:对于每一场演出都做成一个图集进行展示 展示统计信息:包括自动统计出来的最近演出目录、网站访问量 会员管理 会员注册:用户可以注册成不同等级的会员,有普通会员、VIP会员、企业会员 会员等级管理:不同等级的会员享有不同的服务,高等级会员享受特别折扣优惠,优先定票权等权利 会员积分管理:后台自动记录会员的登陆次数、消费金额、评论数量并给予相应的积分。积分越多,社区的头衔越高 会员收费管理:VIP和企业用户需要交纳一定的会员费,收费管理可以记录会员的缴费情况,并自动进行处理。例如对欠费的会员自动发送欠费通知邮件 会员评论管理:对会员的评论进行审核,例如删除不通过的评论、嘉奖有价值的评论(给予一定数量的积分)等等

民航订票系统

1 绪论 1.1 系统设计的目的 为了方便机场工作人员对机票的管理,提高飞机票的管理效率,降低飞机票管理中的出错率,减少信息交流及其带来不必要的开销。需要设计一个民航订票系统,该系统能及时反映航班及机票的剩余数量等信息,可快速的帮乘客订到想要的机票,而乘客也可以通过该系统实现自助退票的功能。 1.2 实现的目标 该系统是由两个人共同设计实现功能,由于一个人的能力有限,该系统仅能实现录入航班信息、查询航班信息、订购飞机票、退订飞机票等一部分功能(航班的信息存储在文件夹中)。 1.3 课题的研究方法 机票管理系统是实现机场机票的预定、统计和分析,提高机票运用的科学管理水平,充分发挥机票利用率,节省订退票时间。系统的主要设计思想是实现对机票的查询、退订等功能。航班的信息以文件的形式存储,用头文件包含、全局变量定义和结构体定义源代码,用结构体数组来存放顾客名、航班号、座位号等信息,用链式结构存储信息。系统的人机接口采用简单的字符界面进行交互。系统的设计方法是结构化设计方法,采用C语言进行开发。软件开发平台采用Visual C++6.0[1]。

2 软件模块结构图 民航订票系统可以分为四个部分,订票、退票、查询信息、信息载入。 图2.1 民航订票系统模块结构图

3 详细设计 3.1 数据结构设计 用printf()函数输出界面,typedef struct airline{}定义航班的信息,如航班号、飞机号、目的地、座位总数和剩余座位数等。typedef struct customer{}定义顾客信息,如顾客名、所订航班号和座位号等。初始化链表,并在airline、customer 链表中操作,实现系统的功能[1]。 3.2 模块设计 3.2.1 界面设计 用printf()函数输出界面,提示用户选择需要的功能,用条件语句捕捉用户输入的选项,并执行代码,进入用户所选的操作界面。若用户输入非选项的字符,则提示输入错误,提醒用户重新选择。 3.2.2 订票模块设计 进入订票模块后,进行订票。若票已经售完,提示用户不能预订该航班的机票。若还有余票,则提示用户输入个人信息订票。订票成功后,系统中该航班的余票减少相应的数量,并将顾客信息存入文件[2]。代码实现: status book(airline *l,char *flight_num,customer *c,char *name) { airline *p=l; customer *q=c->next ; p=l->next ; for(;q->next !=NULL;q=q->next){} for(;p!=NULL;p=p->next ) { if(strcmp(flight_num,p->flight_num )==0) { if(p->left >0)

火车票务管理系统(C语言)

火车票务管理系统 一、课题内容和要求 设计目标:设计一个火车票务管理系统,用C语言实现。对该系统的要求如下: 需求描述: 1.系统功能 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。 数据存入数据文件hchsk.dat或hchsk.txt中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 2. 系统主界面应有以下功能选项 录入火车时刻信息 查询火车时刻信息 统计火车车次 退出 注:建议用VC环境开发用户界面。 结果形式: 提交程序设计报告和可演示的系统软件 二、需求分析 系统主界面应有以下功能选项 1.录入火车时刻信息 2.查询火车时刻信息 3.统计火车车次 4.退出

(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。 数据存入数据文件hchsk.dat或hchsk.txt中。 (2)火车时刻信息查询。 按照车次查询 按终点查询 按起点查询 按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数 二、概要设计 void SearchTrainNum();//按照车次查询 void SearchToPlace();//按终点查询 void SearchFromPlace();//按起点查询 void SearchToPlaceAndDate();//按终点和日期查询 void CountToPlace();//按终点统计每日的车次数 void CountFromPlace();//按起点统计每日的车次数 三、详细设计 程序的源代码与注释 #include #include #include void SearchTrainNum(); void SearchToPlace(); void SearchFromPlace(); void SearchToPlaceAndDate(); void CountToPlace();

航空客运订票系统

题目5 航空客运订票系统(难度系数:1.2) [问题描述] 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 [基本要求] (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员 定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量); (2)作为示意系统,全部数据可以只放在内存中; (3)系统能实现的操作和功能如下: ①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; ②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; ③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。 [测试数据] 由读者指定。 [实现提示] 两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述八个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。 [选做内容] 当客户订票要求不能满足时,系统可向客户提供到达同一目的地的其它航线情况。 读者还可充分发挥自己的想象力,增加你的系统的功能和其它服务项目。

相关文档