Вы находитесь на странице: 1из 110

1

Project report submitted


impartial fulfillment of the requirement
for the award
Of degree of B.C.A 3rd year
To
“C.M.K NATIONAL P.G GIRLS
COLLEGE”
SESSION:
2009-2010

Under the guidance of: MR.


TINKESH GOYAL
Submitted by: MISS KIRANDEEP
KAUR
Colleges roll no.:2202
Universities roll no.:
2

CERTIFICATE

This is to certify that the project work entitled as


“AIRLINE TICKET MANAGEMENT” submitted by “MISS
KIRANDEEP KAUR” in partial fulfillment of the requirement of
degree of BACHELOR OF COMPUTER APPLICATION (B.C.A.
FINAL) to the C.M.K P.G. Girl College affiliated from
“KURUKSHETRA UNIVERSITY”, is carried out under my
supervision and guidance.
The candidate has done the project
under my supervision and the work done in the project is the result of
candidate’s effort.
I hereby certify that this project has not been submitted to any
other university or institute for award of any degree.

MR. TINKESH GOYAL


LEC. OF COMP. SCI.
3

CERTIFICATE

This is to certify that the project work entitled as


“AIRLINE TICKET MANAGEMENT” submitted by “MISS
KIRANDEEP KAUR” in partial fulfillment of the requirement of
degree of BACHELOR OF COMPUTER APPLICATION (B.C.A.
FINAL) to the C.M.K P.G. Girl College affiliated from
“KURUKSHETRA UNIVERSITY”, is carried out under my college’s
lecturer.
It is to certify that she is a regular student
of this college. She attends the college computer centre for required
number of days.
I hereby certify that this project has not been submitted to any
other university or institute for award of any degree.

MRS. VIJYA TOMMER


PRINCIPAL OF COLLEGE
4

ACKNOWLEGDEMENT

A Project Report is never the sole product of person whose


name appears on the cover or front pages of the report. There are
always many others who put in a lot of efforts in the preparation of
report. I am virtually thankful to all who contributed to the
completion of this report. I express my gratefulness to following
officials in the center. I am grateful to all the employees and staff
members of my College C.M.K. NATIONAL GIRLS P.G. COLLEGE
for their friendly behavior throughout making of the Project. My
heartiest thanks are also due to MR.TINKESH GOYAL who help
and good wishes went along during my project report.
5
TABLE OF
CONTENTS

Sr.No Name of the Topic Pag


e No

1 CERTIFICATE 2

2 CERTIFICATE FROM PRINCIPAL 3

3 ACKNOWLEDGEMENT 4

4 INTRODUCTION 7

5 INTRODUCTION OF C++ 8

6 PROJECT OBJECTIVE 9

7 SYSTEM ANALYSIS AND SPECIFICATION 9

8 DESIGN 10

9 IMPLEMENTATION 11

10 CODING OF HOSPITAL MANAGEMENT 12

11 TESTING 41

12 OUTPUT 42

13 CONCLUSION 53

14 ADVANTAGE OF SOFTWARE DEVELOPED 54

15 DISADVANTAGE OF SOFTWARE DEVOLOPED 54

16 FUTURE SCOPE 55

17 BIBLIOGRAPHY 56
6
INTRODUCTION

With the coming up of the jet age everyone


wants to do everything in the fastest way possible.
As Such as, using the fastest mode of
transportation is available. Thus, use of Airlines
Services increases day by day. New developments
must be made to keep up with the competition and
to stand out. In today’s date people don’t just
want to remove a ticket, they want it done as fast
as possible.

To live up to the increasing demand and


constant changes most Airports are investing a
huge amount of money in computerization &
automation of the entire system.

Initially computers were being used for basic


calculation. But, it is of much more importance
now. The Airlines Ticket Management System will
be a very useful tool for an Airport System. The
Airlines Tickets Management presents a scenario,
which will help the management to automate the
process of reservation, cancellation and record of
Airlines Tickets.
7

Problem Description:

The Airline Tickets Management System will be


very useful to most Airports. This will automate the
entire ticket reservation & cancellation process.
This mainly features on providing a more
systematic, handy and reliable process of
managing Airlines Tickets.

This project will make sure that all the changes


made in the Airlines Tickets are jotted down
correctly keeping in mind every detail.

Thus, this project will automate the entire


Airline Ticket Management and hence will provide
quicker and easier access to details related to any
particular record.
8
SYSTEM STUDY

System study has following phase

1) Objective
2) Assumptions

OBJECTIVE

The Airline Ticket Management System will be


a very powerful tool for any Airport System. It will
automate all the ticket management.

The following are the main aims of this


project:

 Airlines ticket reservation


 Airlines ticket cancellation
 Knowing the status of the Airline

This project will help the operators at the


Airport to easily access data regarding any
particular record at any point of time. Thus, the
leading to faster and more accurate services.
9
The main objectives of the project are as
follows

 Reservation of Airlines tickets.


 Cancellation of Airlines tickets.
 Keeping a record of Passengers.
 Keeping a list of Passengers.
 Providing as much as possible enquiry.

ASSUMPTION

 It is assumed that the user of this software has


some basic knowledge of operating computer.
 It is assumed that the client will provide all the
hardware and software necessary for running
this system.
 It is assumed that only the main work unit
gives the all the work order relating to any
model.
 It is assumed that only one company is using
this software.
10

SOFTWARE & HARDWARE


REQUIREMENT

Requirement analysis

Requirement Analysis is a software engineering

task that bridges the gap between system level

requirements engineering and software design.

In the proposed project Software Requirements

Analysis have been divided into five areas of effort.

1. Problem reorganization

2. Evaluation and Synthesis

3. Modeling

4. Specification

5. Review
11

Requirements Elicitation for the Software:

Before requirements can be analyzed,

modeled, or specified they are gathered through

an elicitation process.

Context free questions were asked to the Cashiers

and management people belonging to different

large banks regarding how they would characterize

a good output that would generate a successful

solution, what kind of problems will this solution

address, how they describe the environment in

which the solution will be used, and will special

performance issues or constraints affect the way

the solution is approached.

Quality Function Deployment:


12
Quality function deployment (QFD) is a

quality management technique that translates the

needs of the customer into technical requirements

for software.

In QFD two types of requirement are identified.

Normal Requirements:

1) Graphical displays:

a) Fully Menu driven.

b) Intuitive key assignments and user

interactive screen.

c) User Configurable.

2) Reservation of Airlines tickets.

3) Cancellation of Airlines tickets.

4) Keeping a record of Passengers.

5) Keeping a list of Passengers.

6) Providing as much as possible enquiry.


13

Expected Requirements:

These requirements are implicit to the product

or system and may be so fundamental that the

customer does not state them.

The following are listed.

1. Indexing

2. Ease of human/machine interaction

3. Reliability and operational correctness

4. Ease of software installation

5. Single point data storage for each data

element

6. Maintenance of integrity and inter-linkages

of data
14
7. Extensive query facility to provide

immediate answers for management

8. Matching of physical and logical movement

of file.

9. Should be upgradeable to incorporate new

features.

ABOUT C++

The c++ programming language was developed

at AT & T BELL LABORATORIES in the early 1980s

by Bjarane Stroustrup. He found ‘C’ lacking for

simulations and decided to extended the language

by adding feature from his favorite language,

simula 67 was one of the earliest object-oriented

languages. Bjarane Stroustrup called it “C with

classes” originally. The name C++ (pronounced c


15
plus) was coined by RICK MASCITTI where “++”

is the C Increment operator. Ever since its birth,

C++ evolved to cope with problem encountered by

users, and through discussion at AT&T. however,

the maturation of the C++ language is attested to

by two recent events:

 The formation of an ANSI (American National

Standard Institute) C++ committee.

 The publication of THE ANNOTATED C++

REFERENCE MANAUAL by Ellis and Stroustrup.

OOP Concept:

The object oriented paradigm is the latest in

the software development and the most adopter


16
one in the developing projects of today. By

paradigm one means a way of thinking.

PARADIGM MEANS ORGANIZING PRINCIPLE OF A

PROGRAM.IT IS AN APPROACH TO PROGRAMMING

Object

Data

Member Function

Member Function

Data Data

Member Function Member Function

Member Function Member Function

Object Object

The Object Oriented Paradigm


17
OOP Terminology and Features:

The OOP’s approach is based on certain

concepts that help it attain its goal of overcoming

the drawbacks or shortcomings of conventional

programming approaches. These general concepts

of OOP’s are given below:

 Data Abstraction

 Data Encapsulation

 Modularity

 Inheritance

 Polymorphism
18
SYSTEM ANALYSIS

In Analysis of the System, we have seen what

a system should do. In System Design phase the

emphasis will be on how to do what a system

should do.

There are two main approaches to design:

1. Data Centered Approach.

2. Process Centered Approach

The present project is designed based on Data

Centered Approach as the modern school of

thinking on this subject is that if data is organized

effectively the processes can always be designed in

such a way that the data is made available to

them.
19

Context Level Diagram:

Fight Info
New User
Delete User Airline
Login Attempt Manager
Airport Info

Passenger List

Flight List ARS

Search Criteria
Flight information
Travel Passenger information
Reservation
Agent User id, password
20
SYSTEM DESIGN

Logical Design:

Data Structured approach is being adapted

since data can be associated with physical

structures which can see and feel and it is

therefore logical to start with data rather than

processes which are invisible--. They are there,

but processes cannot be touched or felt.

Logical Design deals with aspects of design

which can be implemented on any operating

environment i.e. one need not know on which

machine or operating system or database the

system is going to be working.


21
In physical design, the output of logical

design is implemented using the features of a

particular environment.

Level 0: dataflow diagram:

Airport Info
Airline
Airport error Flight Info Manager
4.0 Airport Info
Airport Code
Manage 2.0 Passerger
Airport Airport File
List
Manage
Flights
Flight
Info
Flight File
Airport Code Flight Reservation Login Attempt
Info Information New User
Reservation File Delete User

1.0
Manage 3.0
Flight List Reservation Reservation
Information Manage
Users

Search Criteria
Flight Information
Travel Passerger Information
Agent Login Attempt
22
Article I. Level 1: Data Flow Diagram:
Level 1 DFD for 1.0 Managing Reservation

Travel
Agent Search Criteria

Flight List
Passen- 1.1
ger Search
Infor- Flight Airport Code
mation
Flight
Information Airport File

Flight
1.2 Information
Select
Flight
Flight File
Flight
Passenger Information
Information/
Flight
Information 1.3
Make Reservation
Reservation Information

Reservation File

1.4 Reservation
Cancel Information
Reservation
23
Level 2 : Data Flow Diagram:

Level 2 DFD for 1.3 Make Reservation

Travel 1.2
Flight
Agent Select
Information
Flight

1.3.1
Verify
Travel
Time
Flight
Passenger Information Reservation File
Information
1.3.2
Passenger
Verify
Count
Seating

Flight
Information Reservation
Information
1.3.3
Add
Reservation
24
Level 3 : Data Flow Diagram:

Level 3 DFD for 1.3.3 Add Reservation

Flight
Verify Information 1.3.3.1
Seating Reduce
Seating Passenger Count

Reservation File
Passenger
Travel Information
Agent 1.3.3.2
Add Passenger Information
Passenger
to List

Level 3 DFD for 1.4.3 Delete Reservation

Last Name,
Flight Number, 1.4.3.1
Date of Travel Increase
Travel
Agent Seating Passenger Count

Last Name,
Flight Number,
Date of Travel
Reservation File

1.4.3.2
Remove
Passenger Last Name
from List
25
PROCESS SPECIFICATIONS
DOCUMENTATION

Process specifications are used to define what

must be done in order to transform inputs into

outputs. It documents the logical procedures of

each of the bottom level processes found in a

logical dataflow diagram. It is a detailed

description of the user’s business activities that

each bottom level bubble in Data flow diagram

carries out.

The process specifications were developed

considering the following points:

 The users and system analyst must express

the process specifications in a form that can be

verified.
26
 Process specifications must be expressed in a

form that can be effectively communicated to

the various audiences involved.

ESTIMATION

PROJECT MANAGEMENT ESTIMATION Under


project planning function point estimation is being
adapted.

Step1:-Computation of (FC) function count the


parameters involved are Inputs, Outputs,
Inquiries, & Files Interfaces & Levels identified: L-
Low, A-average, & H-high.

INPUTS

Files Data Level


Elements
Inputs 15 40 H
Outputs 5 20 H
Files 14 20 H
Interfaces 3 15 L
Inquires 6 10 L

Using the table given below the unadjusted


Function point calculation is done.

Description Simple Average Complex


External X3 X4 X6
Inputs
27
External X4 X5 X7
Outputs
Master files & X7 X 10 X 15
DB
External X5 X7 X 10
Interfaces
Inquiries X3 X4 X6

PROJECT COMPLEXITY

In order to study the project complexity the


following factors were considered and measurable
scale/grade is given for each factor from 0 to 5, 0
for minimum, and 5 for maximum.

Complexity factor Complexity measure


Data communication 3
Heavily used 2
configuration
Transaction rate 4
End user efficiency 4
Complex processing 3
Installation easy 2
Multiple sites 0
Performance 4
Distributed processing 1
Online data entry 0
Online update 0
Reusability 5
28
Operational ease 4
Extensibility 4
PC 36

The adjusted processing complexity is


calculated as follows:

PCA:-Adjusted processing complexity


PCA = 0.65+ (0. 01*36)
PCA = 0.65+0.01*36
PCA = O.65+0.36=1.01

Function point measure is calculated as


follows:

Function point measure(FP)

FP= FC*PCA
FP= 378*1.01
FP= 378
No of works nos:-

Estimated No of function points that can be


completed within one hour: 1

Work hour estimate for the project


= FP/function points per work hour
= 378/1 = 378(appro)

No of hours required to complete the project


= 378 hours
29
PROJECT SCHEDULING

GANTT CHART or Monthly activity

Actives Feb. March April May


Functional 10/02 ------
specification
Program 15/02 01/03
specifications

unit test plans 20/02 31/03

31/03 20/04
Coding
31/03 31/04
Unit testing
--- 31/03 05/04
System test
plan
--- 05/04-
User 20/04
Acceptance
plan
---- 25/03 31/04
Documentation

System testing ---- --- 31/04 02/05


---- ---- 03/05-
User
05/05
Acceptance test
--- -----
05/05-
07/05
Packaging
30
31
MODELLING

RELATIONAL MODEL:

This model proposed by Date states that a

table with rows and columns to store data where

each column represents a field an each row a

record represents the best architecture for the a

system.

Each table will have a primary key which will

contain main data elements of the record.

All other data elements will be dependent on

the primary key. Tables will be linked to one

another through a set of keys called foreign keys

which will establish connection between tables.

Normalization:

Relation model is based on the principles of

Normalization. Normalization is really formalization


32
of data design. Its objective is to reduce

redundancy i.e the amount of information needed

to solve a particular problem is minimized.

Rule 1:

A given instance of a data object has one and

only one value for each object. Attributes

represent elementary data items. They should not

contain any internal structure.

Rule 2:

When more than one attribute is used to

identify a data object, the descriptive and

referential attributes represent a characteristic of

the entire object and not the characteristic of

something that would be only part of the identifier.

Rule 3:
33
All non-identified attributes must represent

some characteristic of the instance named by the

identifier of data object and describe other

attributes. This rule stated differently implies that

all non-primary key fields must be dependent fully

on the primary key and must not be dependent on

each other.

Based on the principles of Normalization the

data tables or the logical groups of data for the

present project are developed. These tables are

listed above.
34
Article II. PERFORMANCE
ANALYSIS/OPTIMIZATION

The following factors are identified while


analyzing the performance analysis/Optimization of
the current system.

Design of data base


The design of the current data base is done
using the principle of Normalization and using
the Relational model for System Design.
Processing logic
The processing logic is kept clean and
simple. Using structured English the logics are
defined .These logics were designed based on
the lower level Data Flow Diagrams.
Tools used
Since C++ has been regarded as one of
the secure, robust and efficient application
development environment the present system is
developed in it. The Backend used is DAT Files.
35
Environment on which the system will work

DESIGN PROCEDURES

Coupling:
The main criteria for deciding the modules
from technical angle is to reduce the
interdependencies between different modules i.e.
to reduce the degree of coupling
Between modules If there is lot of dependence
across modules, then the degree of coupling is
high while if the dependencies between modules
are far and few, the degree of coupling is low.

The overall objective is to keep the degree of


coupling as low as possible.
1. This is achieved by eliminating unnecessary
relationships
 By reducing the number of necessary relationships.
 By increasing the flexibility of necessary
relationships.
36

In the present project Normal Coupling is used


In Normal Coupling, data is passed across modules
through parameters. Data can be passed across
modules in one of the three ways.

 Data Coupling
 Stamp Coupling
 Control Coupling
(i) Data Coupling:
In Data Coupling data is passed across
modules through parameters. These parameters
are basically elementary form of data.
In the present project Data Coupling is used.

(ii) COHESION
Cohesion is the measure of functional
relatedness of elements within single module.
When dividing a system into modules, it must be
ensured that the activities within the module are
37
tightly bound to one another. Cohesion can be
viewed as opposite of coupling.

In Functional Cohesion, all activities in the


module are functionally related or they perform a
similar function whereas in Sequential Cohesion,
modules are divided into a series of activities such
as that the output of one module becomes the
input to the next module and the chain continues.

In the present project Functional Cohesion is coupled with


functional cohesion in order to achieve best form of cohesion.
38
FEASIBILITY STUDY

Before the development of the Project titled

“Airlines Ticket Management System” the need to

study the feasibility of the successful execution of

the project was felt and thus the following factors

are considered for a feasibility study.

1. Need Analysis:

In need analysis the following factors are

considered.

i. Background information of the

organization

ii. Current Issues


39
Economic Feasibility:

In economic feasibility in order to weigh the

costs of developing and implementing a new

system, against the benefits that would accrue

from having a new system in place the following

factors are considered.

Technical feasibility:

In order to study technical feasibility the

following factors are considered


40
CODING

//**PROJECT AIR TICKET RESERVATION ***//

#include <iostream.h>

#include <fstream.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <ctype.h>

#include <conio.h>

#include <dos.h>

//**THIS CLASS DRAW LINES, BOXES, ETC. *** //

class DRAW

public :

void LINE_HOR(float, float, float, char) ;

void LINE_VER(float, float, float, char) ;

void BOX(float,float,float,float,char) ;
41
};

//***THIS CLASS CONTROL ALL THE FUNCTIONS RELATED TO

TICKETS //****

class TICKET

public :

void ADDITION(void) ;

void ENQUIRY(void) ;

char *FLIGHTNO(float) ;

private :

void ADD_RECORD(char[10], char[15], char[15],

float, float) ;

protected :

char fltno[10], from[15], to[15] ;

float ecofair, exefair ;

};
42
//***THIS CLASS CONTROL ALL THE FUNCTIONS RELATED TO

PASSENGERS //****

class PASSANGER

public :

void ADD_RECORD(float, float, char[26], char[36],

float, char, char) ;

void DELETE_TICKET(float) ;

float DELETE_FLIGHT(float) ;

void LIST(void) ;

float LAST_TICKETNO(void) ;

float SEATS(float) ;

float FOUND(float) ;

char *NAME(float) ;

protected :

char Class, name[26], address[36], sex ;

float slno, age, ticketno ;

};
43
//***** THIS IS DERIVED CLASS WHICH CONTROL ALL THE

FUNCTIONS // RELATED TO RESERVATION, CANCELLATION, ETC.

//*****

class RESERVE : public TICKET, public PASSANGER

public :

void RESERVATION(void) ;

void CANCELLATION(void) ;

void DISPLAY_TICKET(void) ;

void DELETE_ALL(void) ;

};

//******// FUNCTION TO DRAW HORIZONTAL LINE //*****

void DRAW :: LINE_HOR(float column1, float column2, float row,

char c)

for ( column1; column1<=column2; column1++ )

gotoxy(column1,row) ;

cout <<c ;
44
}

//***// FUNCTION TO DRAW VERTICAL LINE //****

void DRAW :: LINE_VER(float row1, float row2, float column,

char c)

for ( row1; row1<=row2; row1++ )

gotoxy(column,row1) ;

cout <<c ;

//***// FUNCTION TO DRAW BOX //***

void DRAW :: BOX(float column1, float row1, float column2,

float row2, char c)

char ch=218 ;

char c1, c2, c3, c4 ;


45
char l1=196, l2=179 ;

if (c == ch)

c1=218 ;

c2=191 ;

c3=192 ;

c4=217 ;

l1 = 196 ;

l2 = 179 ;

else

c1=c ;

c2=c ;

c3=c ;

c4=c ;

l1 = c ;

l2 = c ;

gotoxy(column1,row1) ;
46
cout <<c1 ;

gotoxy(column2,row1) ;

cout <<c2 ;

gotoxy(column1,row2) ;

cout <<c3 ;

gotoxy(column2,row2) ;

cout <<c4 ;

column1++ ;

column2-- ;

LINE_HOR(column1,column2,row1,l1) ;

LINE_HOR(column1,column2,row2,l1) ;

column1-- ;

column2++ ;

row1++ ;

row2-- ;

LINE_VER(row1,row2,column1,l2) ;

LINE_VER(row1,row2,column2,l2) ;

}
47

//****// FUNCTION TO ADD GIVEN DATA IN THE TICKET

FILE(TICKET.DAT) //****

void TICKET :: ADD_RECORD(char t_fltno[10], char

t_from[15], char t_to[15], float t_ecofair, float t_exefair)

fstream file ;

file.open("TICKET.DAT", ios::app) ;

strcpy(fltno,t_fltno) ;

strcpy(from,t_from) ;

strcpy(to,t_to) ;

ecofair = t_ecofair ;

exefair = t_exefair ;

file.write((char *) this, sizeof(TICKET)) ;

file.close() ;

}
48

//** FUNCTION TO RETURNS FLIGHT NO. FOR THE GIVEN

S.NO //****

char *TICKET :: FLIGHTNO(float sno)

fstream file ;

file.open("TICKET.DAT", ios::in) ;

float count=1 ;

while (file.read((char *) this, sizeof(TICKET)))

if (sno == count)

break ;

count++ ;

file.close() ;

return fltno ;

}
49

//**FUNCTION TO GIVES DATA TO ADD RECORDS IN

TICEKT FILE

//**

void TICKET :: ADDITION(void)

fstream file ;

file.open("TICKET.DAT", ios::in) ;

if (!file.fail())

return ;

file.close() ;

ADD_RECORD("KL146", "DELHI", "MUMBI", 1500,

1700) ;

ADD_RECORD("KL146", "MUMBI", "DELHI", 1500,

1700) ; ADD_RECORD("KL156", "DELHI", "CALCUTTA",

1700, 1900) ; ADD_RECORD("KL156", "CALCUTTA",

"DELHI", 1700, 1900) ;


50
ADD_RECORD("KL166", "DELHI", "MADRAS", 2100,

2300) ;

ADD_RECORD("KL166", "MADRAS", "DELHI", 2100,

2300) ;

ADD_RECORD("KL176", "MUMBI", "CALCUTTA", 1900,

2100) ;

ADD_RECORD("KL176", "CALCUTTA", "MUMBI", 1900,

2100) ;

ADD_RECORD("KL186", "MUMBI", "MADRAS", 1800,

2000) ;

ADD_RECORD("KL186", "MADRAS", "MUMBI", 1800,

2000) ;

ADD_RECORD("KL196", "CALCUTTA", "MADRAS", 1600,

1800) ;

ADD_RECORD("KL196", "MADRAS", CALCUTTA", 1600,

1800) ;

//****// FUNCTION TO DISPLAY LIST OF FLIGHTS //***


51
void TICKET :: ENQUIRY(void)

clrscr(); textcolor(15);

fstream file ;

file.open("TICKET.DAT", ios::in) ;

DRAW d ;

d.BOX(1,2,80,24,218) ;

d.LINE_HOR(2,79,4,196) ;

d.LINE_HOR(2,79,6,196) ;

d.LINE_HOR(2,79,22,196) ;

textcolor(LIGHTGRAY+BLINK) ;

gotoxy(30,3) ;

cprintf("LIST OF THE FLIGHTS") ;

textcolor(LIGHTGRAY) ;

textcolor(BLACK) ; textbackground(WHITE) ;

for (float i=2; i<=79; i++)

gotoxy(i,5) ;

cprintf(" ") ;

}
52
gotoxy(3,5) ;

cprintf( " Sno. FLIGHT NO. FROM TO

ECONOMIC FAIR EXECUTIVE FAIR") ;

textcolor(LIGHTGRAY) ; textbackground(BLACK) ;

float row=7, sno=1 ;

while (file.read((char *) this, sizeof(TICKET)))

gotoxy(6,row) ;

cout <<sno ;

gotoxy(10,row) ;

cout <<fltno ;

gotoxy(24,row) ;

cout <<from ;

gotoxy(38,row) ;

cout <<to ;

gotoxy(57,row) ;

cout <<ecofair ;

gotoxy(72,row) ;

cout <<exefair ;

row++ ;
53
sno++ ;

file.close() ;

//***// FUNCTION TO RESERVE TICKET FOR THE PASSANGER

//****

void RESERVE :: RESERVATION(void)

clrscr(); textcolor(15);

ENQUIRY() ;

char t1[5], pclass, pname[26], paddress[36], psex,

pfltno[10] ;

float t2, valid, page, tno, sno ;

PASSANGER p ;

tno = p.LAST_TICKETNO() + 1 ;

do
54
{

valid = 1 ;

gotoxy(3,23) ;

cout <<" ";

gotoxy(3,23) ;

cout <<"PRESS <ENTER> TO EXIT" ;

gotoxy(3,20) ;

cout <<" ";

gotoxy(3,20) ;

cout <<"Enter Sno. of the FLIGHT : " ;

gets(t1) ;

t2 = atoi(t1) ;

sno = t2 ;

if (strlen(t1) == 0)

return ;

if (sno < 1 || sno > 12)

valid = 0 ;

gotoxy(3,23) ;

cout <<" ";


55
gotoxy(3,23) ;

cout <<"\7ENTER CORRECTLY" ;

getch() ;

} while (!valid) ;

float i=1 ;

fstream file ;

file.open("TICKET.DAT", ios::in) ;

while (file.read((char *) this, sizeof(TICKET)))

if (sno == i)

break ;

i++ ;

file.close() ;

strcpy(pfltno,fltno) ;

if (p.SEATS(sno) >= 250)

gotoxy(5,21) ;

cout <<"\7Sorry! Seats are not available." ;


56
getch() ;

return ;

gotoxy(3,23) ;

cout <<" ";

gotoxy(3,23) ;

cout <<"E=ECONOMIC, X=EXECUTIVE or PRESS <ENTER> TO

EXIT" ;

do

gotoxy(3,21) ;

cout <<" ";

gotoxy(3,21) ;

cout <<"By which Class you want to travel : " ;

pclass = getche() ;

pclass = toupper(pclass) ;

if (pclass == 13)

return ;

} while (pclass != 'E' && pclass != 'X') ;

clrscr(); textcolor(15);
57
gotoxy(72,3) ;

cout <<"<0>=EXIT" ;

gotoxy(34,2) ;

cout <<"RESERVATION" ;

gotoxy(5,5) ;

cout <<"NAME :";

gotoxy(5,6) ;

cout <<"ADDRESS : " ;

gotoxy(5,7) ;

cout <<"SEX M/F : " ;

gotoxy(5,8) ;

cout <<"AGE :";

do

valid = 1 ;

gotoxy(5,25) ; clreol() ;

cout <<"ENTER NAME OF THE PASSANGER" ;

gotoxy(15,5) ; clreol() ;

gets(pname) ;

if (pname[0] == '0')
58
return ;

if (strlen(pname) < 1 || strlen(pname) > 25)

valid = 0 ;

gotoxy(5,25) ; clreol() ;

cout <<"\7Enter Correctly (Range: 1..25)" ;

getch() ;

} while (!valid) ;

do

valid = 1 ;

gotoxy(5,25) ; clreol() ;

cout <<"ENTER ADDRESS OF THE PASSANGER" ;

gotoxy(15,6) ; clreol() ;

gets(paddress) ;

if (paddress[0] == '0')

return ;

if (strlen(paddress) < 1 || strlen(paddress) > 35)

{
59
valid = 0 ;

gotoxy(5,25) ; clreol() ;

cout <<"\7Enter Correctly (Range: 1..35)" ;

getch() ;

} while (!valid) ;

do

gotoxy(5,25) ; clreol() ;

cout <<"ENTER SEX OF THE PASSANGER" ;

gotoxy(15,7) ; clreol() ;

psex = getche() ;

psex = toupper(psex) ;

if (psex == '0')

return ;

} while (psex != 'M' && psex != 'F') ;

do

valid = 1 ;

gotoxy(5,25) ; clreol() ;
60
cout <<"ENTER AGE OF THE PASSANGER" ;

gotoxy(15,8) ; clreol() ;

gets(t1) ;

t2 = atoi(t1) ;

page = t2 ;

if (t1[0] == '0')

return ;

if (page < 1 || page > 100)

valid = 0 ;

gotoxy(5,25) ; clreol() ;

cout <<"\7ENTER CORRECTLY" ;

getch() ;

} while (!valid) ;

clrscr(); textcolor(15);

DRAW d ;

d.BOX(15,5,66,21,'*') ;

d.LINE_HOR(16,65,7,'*') ;

gotoxy(33,6) ;
61
cout <<"Ticket no. " <<tno ;

gotoxy(17,9) ;

cout <<from <<" to " <<to ;

gotoxy(45,9) ;

cout <<"Flight no. " <<pfltno ;

gotoxy(20,11) ;

cout <<"Passanger Name : " <<pname ;

gotoxy(20,13) ;

cout <<"Address : " <<paddress ;

gotoxy(20,15) ;

cout <<"Sex : " <<psex ;

gotoxy(20,17) ;

cout <<"Age : " <<page ;

gotoxy(45,19) ;

if (pclass == 'E')

cout <<"Total Fair: " <<ecofair ;

else

cout <<"Total Fair: " <<exefair ;

p.ADD_RECORD(tno,sno,pname,paddress,page,psex,pclas

s) ;
62
getch() ;

//****// FUNCTION TO ADD THE GIVEN DATA IN THE

PASSANGER'S FILE //***

void PASSANGER :: ADD_RECORD(float tno, float sno, char

pname[26], char paddress[36], float page, char psex, char

pclass)

fstream file ;

file.open("PASS.DAT", ios::app) ;

ticketno = tno ;

slno = sno ;

strcpy(name,pname) ;

strcpy(address,paddress) ;

age = page ;

sex = psex ;

Class = pclass ;

file.write((char *) this, sizeof(PASSANGER)) ;


63
file.close() ;

//***// THIS FUNCTION RETURN THE LAST TICKET NO. IN

THE PASSANGER FILE //*****

float PASSANGER :: LAST_TICKETNO(void)

fstream file ;

file.open("PASS.DAT", ios::in) ;

float count=0 ;

while (file.read((char *) this, sizeof(PASSANGER)))

count = ticketno ;

file.close() ;

return count ;

}
64
//***// THIS FUNCTION RETURN TOTAL NO. OF SEATS IN

THE PASSANGER FILE //**

float PASSANGER :: SEATS(float sno)

fstream file ;

file.open("PASS.DAT", ios::in) ;

float count=0 ;

while (file.read((char *) this, sizeof(PASSANGER)))

if (sno == slno)

count++ ;

file.close() ;

return count ;

}
65
//***// THIS FUNCTION RETURN 0 IF THE TICKET NO.

NOT FOUND IN PASSANGER'S FILE//****

float PASSANGER :: FOUND(float tno)

fstream file ;

file.open("PASS.DAT", ios::in) ;

float found=0 ;

while (file.read((char *) this, sizeof(PASSANGER)))

if (tno == ticketno)

found = 1 ;

break ;

file.close() ;

return found ;

}
66
//****// THIS FUNCTION RETURNS PASSANGER'S NAME

FOR THE GIVEN TICKET NO. //****

char *PASSANGER :: NAME(float tno)

fstream file ;

file.open("PASS.DAT", ios::in) ;

while (file.read((char *) this, sizeof(PASSANGER)))

if (tno == ticketno)

break ;

file.close() ;

return name ;

//*** THIS FUNCTION DISPLAY THE LIST OF THE

PASSANGERS //***

void PASSANGER :: LIST(void)

{
67
clrscr(); textcolor(15);

char t1[10] ;

float t2, sno, valid ;

TICKET ticket ;

ticket.ENQUIRY() ;

do

valid = 1 ;

gotoxy(3,23) ;

cout <<" ";

gotoxy(3,23) ;

cout <<"PRESS <ENTER> TO EXIT" ;

gotoxy(3,20) ;

cout <<"

";

gotoxy(3,20) ;

cout <<"Enter Sno. of the FLIGHT for which you

want to see list of passanger " ;

gets(t1) ;

t2 = atoi(t1) ;
68
sno = t2 ;

if (strlen(t1) == 0)

return ;

if (sno < 1 || sno > 12)

valid = 0 ;

gotoxy(3,23) ;

cout <<" ";

gotoxy(3,23) ;

cout <<"\7ENTER CORRECTLY" ;

getch() ;

} while (!valid) ;

clrscr(); textcolor(15);

float row=7, found=0, flag=0 ;

char ch ;

DRAW d ;

d.BOX(1,2,80,24,218) ;

d.LINE_HOR(2,79,4,196) ;

d.LINE_HOR(2,79,6,196) ;
69
d.LINE_HOR(2,79,22,196) ;

gotoxy(3,3) ;

cout <<"Flight no. " <<ticket.FLIGHTNO(sno) ;

gotoxy(32,3) ;

cout <<"LIST OF PASSANGER" ;

textcolor(BLACK) ; textbackground(WHITE) ;

gotoxy(2,5) ;

cprintf(" TICKET NO. NAME CLASS ") ;

textcolor(LIGHTGRAY) ; textbackground(BLACK) ;

fstream file ;

file.open("PASS.DAT", ios::in) ;

file.seekg(0,ios::beg) ;

while (file.read((char *) this, sizeof(PASSANGER)))

if (sno == slno)

flag = 0 ;

//delay(20) ;

found = 1 ;

gotoxy(5,row) ;
70
cout <<ticketno ;

gotoxy(17,row) ;

cout <<name ;

gotoxy(49,row) ;

if (Class == 'X')

cout <<"Executive" ;

else

cout <<"Economic" ;

if ( row == 21 )

flag = 1 ;

row = 7 ;

gotoxy(5,23) ;

cout <<"Press any key to continue or Press <ESC>

to exit" ;

ch = getch() ;

if (ch == 27)

break ;

clrscr(); textcolor(15);

d.BOX(1,2,80,24,218) ;
71
d.LINE_HOR(2,79,4,196) ;

d.LINE_HOR(2,79,6,196) ;

d.LINE_HOR(2,79,22,196) ;

gotoxy(32,3) ;

cout <<"LIST OF PASSANGER" ;

//textcolor(BLACK) ; textbackground(WHITE) ;

gotoxy(2,5) ;

cprintf(" TICKET NO. NAME FLIGHT NO. CLASS ") ;

//textcolor(LIGHTGRAY) ;

textbackground(BLACK) ;

else

row++ ;

if (!found)

gotoxy(5,10) ;

cout <<"\7Records not found" ;

}
72
if (!flag)

gotoxy(5,23) ;

cout <<"Press any key to continue..." ;

getch() ;

file.close() ;

//*****// THIS FUNCTION DELETES PASSANGER RECORDS

FOR THE GIVEN TICKET NO. //******

void PASSANGER :: DELETE_TICKET(float tno)

fstream file ;

file.open("PASS.DAT", ios::in) ;

fstream temp ;

temp.open("temp.dat", ios::out) ;

file.seekg(0,ios::beg) ;

while (!file.eof())
73
{

file.read((char *) this, sizeof(PASSANGER)) ;

if (file.eof())

break ;

if (tno != ticketno)

temp.write((char *) this, sizeof(PASSANGER)) ;

file.close() ;

temp.close() ;

file.open("PASS.DAT", ios::out) ;

temp.open("temp.dat", ios::in) ;

temp.seekg(0,ios::beg) ;

while ( !temp.eof() )

temp.read((char *) this, sizeof(PASSANGER)) ;

if ( temp.eof() )

break ;

file.write((char *) this, sizeof(PASSANGER)) ;

file.close() ;
74
temp.close() ;

//**** THIS FUNCTION DELETES ALL PASSANGER RECORDS

FOR THE GIVEN FLIGHT NO. //****

float PASSANGER :: DELETE_FLIGHT(float sno)

fstream file ;

file.open("PASS.DAT", ios::in) ;

fstream temp ;

temp.open("temp.dat", ios::out) ;

file.seekg(0,ios::beg) ;

float found = 0 ;

while (!file.eof())

file.read((char *) this, sizeof(PASSANGER)) ;

if (file.eof())

break ;

if (sno != slno)
75
temp.write((char *) this, sizeof(PASSANGER)) ;

else

found = 1 ;

file.close() ;

temp.close() ;

file.open("PASS.DAT", ios::out) ;

temp.open("temp.dat", ios::in) ;

temp.seekg(0,ios::beg) ;

while ( !temp.eof() )

temp.read((char *) this, sizeof(PASSANGER)) ;

if ( temp.eof() )

break ;

file.write((char *) this, sizeof(PASSANGER)) ;

file.close() ;

temp.close() ;

return found ;

}
76

//****// THIS FUNCTION CANCELS PASSANGER'S TICKET //****

void RESERVE :: CANCELLATION(void)

clrscr(); textcolor(15);

char t1[10], ch ;

float t2, tno, valid ;

do

valid = 1 ;

gotoxy(3,23) ; clreol() ;

cout <<"PRESS <ENTER> TO SEE LIST or 0 TO EXIT" ;

gotoxy(3,20) ; clreol() ;

cout <<"Enter Ticket no. of the Passanger to cancel the

Ticket " ;

gets(t1) ;

t2 = atoi(t1) ;
77
tno = t2 ;

if (t1[0] == '0')

return ;

if (strlen(t1) == 0)

valid = 0 ;

LIST() ;

clrscr(); textcolor(15);

if (!FOUND(tno) && valid)

valid = 0 ;

gotoxy(3,23) ; clreol() ;

cout <<"\7Record not found" ;

getch() ;

} while (!valid) ;

clrscr(); textcolor(15);

fstream file ;

file.open("PASS.DAT", ios::in) ;
78
while (file.read((char *) this, sizeof(PASSANGER)))

if (ticketno == tno)

break ;

file.close() ;

float i=1 ;

file.open("TICKET.DAT", ios::in) ;

while (file.read((char *) this, sizeof(TICKET)))

if (slno == i)

break ;

i++ ;

file.close() ;

PASSANGER p ;

DRAW d ;

d.BOX(15,5,66,21,'*') ;

d.LINE_HOR(16,65,7,'*') ;

gotoxy(33,6) ;

cout <<"Ticket no. " <<tno ;

gotoxy(17,9) ;
79
cout <<from <<" to " <<to ;

gotoxy(45,9) ;

cout <<"Flight no. " <<fltno ;

gotoxy(20,11) ;

cout <<"Passanger Name : " <<p.NAME(tno);

gotoxy(20,13) ;

cout <<"Address : " <<address ;

gotoxy(20,15) ;

cout <<"Sex : " <<sex ;

gotoxy(20,17) ;

cout <<"Age : " <<age ;

gotoxy(45,19) ;

if (Class == 'E')

cout <<"Total Fair: " <<ecofair ;

else

cout <<"Total Fair: " <<exefair ;

do

gotoxy(10,23) ; clreol() ;

cout <<"Cancel this ticket (y/n) : " ;


80
ch = getche() ;

ch = toupper(ch) ;

} while (ch != 'Y' && ch != 'N') ;

if (ch == 'N')

return ;

DELETE_TICKET(tno) ;

gotoxy(10,25) ;

cout <<"\7Ticket Cancelled" ;

getch() ;

//***THIS FUNCTION DISPLAY THE PASSANGER'S INFORMATION

//****

void RESERVE :: DISPLAY_TICKET(void)

clrscr(); textcolor(15);

char t1[10], ch ;

float t2, tno, valid ;

do
81
{

valid = 1 ;

gotoxy(3,23) ; clreol() ;

cout <<"PRESS <ENTER> TO SEE LIST or 0 TO EXIT" ;

gotoxy(3,20) ; clreol() ;

cout <<"Enter Ticket no. of the Passanger " ;

gets(t1) ;

t2 = atoi(t1) ;

tno = t2 ;

if (t1[0] == '0')

return ;

if (strlen(t1) == 0)

valid = 0 ;

LIST() ;

clrscr(); textcolor(15);

if (!FOUND(tno) && valid)

valid = 0 ;
82
gotoxy(3,23) ; clreol() ;

cout <<"\7Record not found" ;

getch() ;

} while (!valid) ;

clrscr(); textcolor(15);

fstream file ;

file.open("PASS.DAT", ios::in) ;

while (file.read((char *) this, sizeof(PASSANGER)))

if (ticketno == tno)

break ;

file.close() ;

float i=1 ;

file.open("TICKET.DAT", ios::in) ;

while (file.read((char *) this, sizeof(TICKET)))

if (slno == i)

break ;

i++ ;

}
83
file.close() ;

PASSANGER p ;

DRAW d ;

d.BOX(15,5,66,21,'*') ;

d.LINE_HOR(16,65,7,'*') ;

gotoxy(33,6) ;

cout <<"Ticket no. " <<tno ;

gotoxy(17,9) ;

cout <<from <<" to " <<to ;

gotoxy(45,9) ;

cout <<"Flight no. " <<fltno ;

gotoxy(20,11) ;

cout <<"Passanger Name : " <<p.NAME(tno);

gotoxy(20,13) ;

cout <<"Address : " <<address ;

gotoxy(20,15) ;

cout <<"Sex : " <<sex ;

gotoxy(20,17) ;

cout <<"Age : " <<age ;

gotoxy(45,19) ;
84
if (Class == 'E')

cout <<"Total Fair: " <<ecofair ;

else

cout <<"Total Fair: " <<exefair ;

gotoxy(10,25) ;

cout <<"Press any key to continue..." ;

getch() ;

//****// THIS FUNCTION GIVE FLIGHT NO. TO DELETE ALL

PASSANGER RECORDS//****

void RESERVE :: DELETE_ALL(void)

clrscr(); textcolor(15);

ENQUIRY() ;

char t1[5] ;

float t2, valid, sno ;

do

{
85
valid = 1 ;

gotoxy(3,23) ;

cout <<" ";

gotoxy(3,23) ;

cout <<"PRESS <ENTER> TO EXIT" ;

gotoxy(3,20) ;

cout <<"

";

gotoxy(3,20) ;

cout <<"Enter Sno. of the FLIGHT for which all passanger

records to be deleted : " ;

gets(t1) ;

t2 = atoi(t1) ;

sno = t2 ;

if (strlen(t1) == 0)

return ;

if (sno < 1 || sno > 12)

valid = 0 ;

gotoxy(3,23) ;
86
cout <<" ";

gotoxy(3,23) ;

cout <<"\7ENTER CORRECTLY" ;

getch() ;

} while (!valid) ;

gotoxy(3,23) ;

if (!DELETE_FLIGHT(sno))

cout <<"\7Records not found. Press any key to continue..."

else

cout <<"\7Records deleted. Press any key to

continue..." ;

getch() ;

//******// THIS IS MAIN FUNCTION WHICH DISPLAY MENU

AND CALLS ALL THE MAIN FUNCTIONS //*****

void main(void)
87
{

DRAW d ;

PASSANGER p ;

TICKET ticket ;

RESERVE r ;

ticket.ADDITION() ;

char ch ;

while (1)

clrscr(); textcolor(15);

d.BOX(19,6,62,20,218) ;

textcolor(BLACK) ;

textbackground(WHITE) ;

for (float i=7; i<=19; i++)

for (float j=20; j<=61; j++)

gotoxy(j,i) ;

cprintf(" ") ;

gotoxy(29,9) ;
88
cprintf("AIR TICKET RESERVATION") ;

gotoxy(29,10) ;

cprintf("~~~~~~~~~~~~~~~~~~~~~~") ;

gotoxy(30,11) ;

cprintf("1: RESERVATION") ;

gotoxy(30,12) ;

cprintf("2: CANCELLATION") ;

gotoxy(30,13) ;

cprintf("3: PASSENGER RECORDS ->") ;

gotoxy(30,14) ;

cprintf("4: ENQUIRY") ;

gotoxy(30,15) ;

cprintf("5: LIST OF PASSENGERS") ;

gotoxy(30,16) ;

cprintf("6: QUIT") ;

gotoxy(30,18) ;

cprintf("ENTER YOUR CHOICE ") ;

ch = getche() ;

textcolor(LIGHTGRAY) ;

textbackground(BLACK) ;
89
clrscr(); textcolor(15);

if (ch == 27 || ch == '6')

break ;

else

if (ch == '1')

r.RESERVATION() ;

if (ch == '2')

r.CANCELLATION() ;

if (ch == '4')

ticket.ENQUIRY() ;

gotoxy(2,23) ;

cout <<"Press any key to continue..." ;

getch() ;

else

if (ch == '5')

p.LIST() ;

else

if (ch == '3')
90
{

while (1)

clrscr(); textcolor(15);

d.BOX(19,6,62,20,218) ;

textcolor(BLACK) ;

textbackground(WHITE) ;

for (float i=7; i<=19; i++)

for (float j=20; j<=61; j++)

gotoxy(j,i) ;

cprintf(" ") ;

gotoxy(29,10) ;

cprintf("EDIT PASSENGER RECORDS") ;

gotoxy(29,11) ;

cprintf("~~~~~~~~~~~~~~~~~~~~~~") ;

gotoxy(33,12) ;

cprintf("1: PASSANGER INFORMATION") ;

gotoxy(33,13) ;
91
cprintf("2: DELETE") ;

gotoxy(33,14) ;

cprintf("0: EXIT") ;

gotoxy(31,16) ;

cprintf("ENTER YOUR CHOICE ") ;

ch = getche() ;

textcolor(LIGHTGRAY) ;

textbackground(BLACK) ;

clrscr(); textcolor(15);

if (ch == 27 || ch == '0')

break ;

else

if (ch == '1')

r.DISPLAY_TICKET() ;

else

if (ch == '2')

r.DELETE_ALL() ;

}
92
}
93
TESTING

Software Testing is a critical element of


software quality assurance and represents the
ultimate review of specification, design and code
generation. The increasing visibility of software as
a system element and the attendant “costs”
associated with a software failure are motivating
forces for well planned, thorough testing.

Testing Objectives:
The following are the testing objectives:
 Testing is a process of executing a program with the intent
of finding an error.
 A good test case is one that has a high probability of
finding an as-yet-undiscovered error
 A successful test is one that uncovers an as yet
undiscovered error.
94

Testing Principles
The basic principles that guide software testing are as
follows:
 All tests should be traceable to customer requirements.
 Tests should be planned long before testing begins.
 The pirate principle applies to software testing.

Pareto principle states that 80 percent of all errors


uncovered during testing will likely be traceable to 20 percent
of all program components.

Testability
Software Testability is simply how easily (a computer
program can be tested). The following characteristics are
considered that lead to testable software.
 Operability: “The better it works, the more efficiently it can
be tested.”
 Observability: “What you see is what you test.”
95
Test Case Design:

The design of testing can be divided into two broad


categories:
 Black Box testing:
 White Box Testing:

Black box testing:


When computer software is considered, black-box testing
alludes to tests that are conducted at the software interface.
White box testing:
White box testing of software is predicated on close
examination of procedural detail. Logical paths through the
software are tested by providing test cases that exercise specific
sets of conditions and /or loops.

In the present project Black box testing is used.


96
Integration Testing:

Integration testing is a systematic technique


for constructing the program structure while at the
same time conducting tests to uncover errors
associated with interfacing.

In the present project the main interfaces of the


system are as follows.
 Interface with Database SQL Server
 Interface with Reports generation

Validation Testing:

Software validation is achieved through a series of black –


box tests that demonstrate conformity with requirements.
Validation checks have been performed for all the
units/functions described in the requirements specifications.

In the present project the following validations are checked.


97
 Whether the fields such as name field starts with a
number or contains special characters
 Whether the number fields such as phone or age contains
alphabets.
 Whether the functions such as calculation of fine is done
properly or not.

System testing:
System testing fall outside the scope of the software
process and are not conducted solely by software engineers.
It includes the following:
 Recovery testing
 Security testing
 Stress testing
 Performance testing

OUT PUT

Main menu
┌────────────────────────────────────────
──┐
│ │
│ │
│ AIR TICKET RESERVATION │
│ ~~~~~~~~~~~~~~~~~~~~~~ │
98
│ 1: RESERVATION │
│ 2: CANCELLATION │
│ 3: PASSENGER RECORDS -> │
│ 4: ENQUIRY │
│ 5: LIST OF PASSENGERS │
│ 6: QUIT │
│ │
│ ENTER YOUR CHOICE │
│ │
└───────────────────────────────────────
───┘

Press 1 for RESERVATION


Press 2 for CANCELLATION
Press 3 for PASSENGER RECORDS ->
Press 4 for ENQUIRY
Press 5 for: LIST OF PASSENGERS
Press 6 for QUIT

When we press 1

┌──────────────────────────────────────────────
────────────────────────────────┐
│ LIST OF THE FLIGHTS │
│──────────────────────────────────────────────
────────────────────────────────│
│ Sno. FLIGHT NO. FROM TO ECONOMIC FAIR
EXECUTIVE FAIR │
│──────────────────────────────────────────────
────────────────────────────────│
│ 1 KL146 DELHI MUMBI 1500 1700 │
│ 2 KL146 MUMBI DELHI 1500 1700 │
│ 3 KL156 DELHI CALCUTTA 1700 1900 │
99
│ 4 KL156 CALCUTTA DELHI 1700 1900 │
│ 5 KL166 DELHI MADRAS 2100 2300 │
│ 6 KL166 MADRAS DELHI 2100 2300 │
│ 7 KL176 MUMBI CALCUTTA 1900 2100 │
│ 8 KL176 CALCUTTA MUMBI 1900 2100 │
│ 9 KL186 MUMBI MADRAS 1800 2000 │
│ 10 KL186 MADRAS MUMBI 1800 2000 │
│ 11 KL196 CALCUTTA MADRAS 1600 1800 │
│ 12 KL196 MADRAS CALCUTTA 1600 1800 │
│ │
│ Enter Sno. of the FLIGHT : │
│ │
│──────────────────────────────────────────────
────────────────────────────────│
│ PRESS <ENTER> TO EXIT │
└──────────────────────────────────────────────
────────────────────────────────┘
After entering s no of the flight, enter type of flight is it economic fair or
executive fair
Enter NAME, ADDRESS, SEX M/F, AGE

RESERVATION
<0>=EXIT

NAME : Jon
ADDRESS: Delhi
SEX M/F: m
AGE : 45
ENTER AGE OF THE PASSANGER

After entering NAME, ADDRESS, SEX M/F, AGE


Ticket is ready

****************************************************
* Ticket no. 18 *
****************************************************
* *
* DELHI to MADRAS Flight no. KL166 *
* *
100
* Passenger Name: Jon *
* *
* Address: delhi *
* *
* Sex : M *
* *
* Age : 5 *
* *
* Total Fair: 2100 *
* *
****************************************************

For canceling ticket, press 2 in main menu &

Enter Ticket no. of the Passenger to cancel the Ticket


PRESS <ENTER> TO SEE LIST or 0 TO EXIT
****************************************************
* Ticket no. 18 *
****************************************************
* *
* DELHI to MADRAS Flight no. KL166 *
* *
* Passanger Name : jon *
* *
* Address : @elhi *
* *
* Sex : M *
* *
* Age : 5 *
* *
* Total Fair: 2300 *
* *
****************************************************

Cancel this ticket (y/n):


If we press ‘y’ ticket is canceled

Press 3 for PASSENGER RECORDS ->


101
┌──────────────────────────────────────────┐
│ │
│ │
│ │
│ EDIT PASSENGER RECORDS │
│ ~~~~~~~~~~~~~~~~~~~~~~ │
│ 1: PASSANGER INFORMATION │
│ 2: DELETE │
│ 0: EXIT │
│ │
│ ENTER YOUR CHOICE │
│ │

└───────────────────────────────────────
───┘
Press 1 for passenger records
After pressing 1 enter ticket no, and then press enter

****************************************************
* Ticket no. 18 *
****************************************************
* *
* DELHI to MADRAS Flight no. KL166 *
* *
* Passanger Name : jon *
* *
* Address : @elhi *
* *
* Sex : M *
* *
* Age : 45 *
* *
* Total Fair: 2300 *
* *
****************************************************

Press any key to continue... after pressing any key we go to


passenger records page
102

Press 2 for delete passenger records

┌──────────────────────────────────────────────
────────────────────────────────┐
│ LIST OF THE FLIGHTS │
│──────────────────────────────────────────────
────────────────────────────────│
│ Sno. FLIGHT NO. FROM TO ECONOMIC FAIR
EXECUTIVE FAIR │
│──────────────────────────────────────────────
────────────────────────────────│
│ 1 KL146 DELHI MUMBI 1500 1700 │
│ 2 KL146 MUMBI DELHI 1500 1700 │
│ 3 KL156 DELHI CALCUTTA 1700 1900 │
│ 4 KL156 CALCUTTA DELHI 1700 1900 │
│ 5 KL166 DELHI MADRAS 2100 2300 │
│ 6 KL166 MADRAS DELHI 2100 2300 │
│ 7 KL176 MUMBI CALCUTTA 1900 2100 │
│ 8 KL176 CALCUTTA MUMBI 1900 2100 │
│ 9 KL186 MUMBI MADRAS 1800 2000 │
│ 10 KL186 MADRAS MUMBI 1800 2000 │
│ 11 KL196 CALCUTTA MADRAS 1600 1800 │
│ 12 KL196 MADRAS CALCUTTA 1600 1800 │
│ │
│ Enter Sno. of the FLIGHT for which all passanger records to be deleted :

│ │
│───────────────────────────────────────────
103
───────────────────────────────────│
│ PRESS <ENTER> TO EXIT │
└──────────────────────────────────────────────
────────────────────────────────┘
After entering Sno. of the FLIGHT for which all passanger records to be
deleted
The record was deleted

Press 4 for ENQUIRY


After pressing 4 we get list of flight

┌──────────────────────────────────────────────
────────────────────────────────┐
│ LIST OF THE FLIGHTS │
│──────────────────────────────────────────────
────────────────────────────────│
│ Sno. FLIGHT NO. FROM TO ECONOMIC FAIR
EXECUTIVE FAIR │
│──────────────────────────────────────────────
────────────────────────────────│
│ 1 KL146 DELHI MUMBI 1500 1700 │
│ 2 KL146 MUMBI DELHI 1500 1700 │
│ 3 KL156 DELHI CALCUTTA 1700 1900 │
│ 4 KL156 CALCUTTA DELHI 1700 1900 │
│ 5 KL166 DELHI MADRAS 2100 2300 │
│ 6 KL166 MADRAS DELHI 2100 2300 │
│ 7 KL176 MUMBI CALCUTTA 1900 2100 │
│ 8 KL176 CALCUTTA MUMBI 1900 2100 │
│ 9 KL186 MUMBI MADRAS 1800 2000 │
│ 10 KL186 MADRAS MUMBI 1800 2000 │
│ 11 KL196 CALCUTTA MADRAS 1600 1800 │
│ 12 KL196 MADRAS CALCUTTA 1600 1800 │
│──────────────────────────────────────────────
────────────────────────────────│
│Press any key to continue... │
└──────────────────────────────────────────────
────────────────────────────────┘
Press 5 for: LIST OF PASSENGERS
After pressing 5 we get

┌──────────────────────────────────────────────
────────────────────────────────┐
104
│ LIST OF THE FLIGHTS │
│──────────────────────────────────────────────
────────────────────────────────│
│ Sno. FLIGHT NO. FROM TO ECONOMIC FAIR
EXECUTIVE FAIR │
│──────────────────────────────────────────────
────────────────────────────────│
│ 1 KL146 DELHI MUMBI 1500 1700 │
│ 2 KL146 MUMBI DELHI 1500 1700 │
│ 3 KL156 DELHI CALCUTTA 1700 1900 │
│ 4 KL156 CALCUTTA DELHI 1700 1900 │
│ 5 KL166 DELHI MADRAS 2100 2300 │
│ 6 KL166 MADRAS DELHI 2100 2300 │
│ 7 KL176 MUMBI CALCUTTA 1900 2100 │
│ 8 KL176 CALCUTTA MUMBI 1900 2100 │
│ 9 KL186 MUMBI MADRAS 1800 2000 │
│ 10 KL186 MADRAS MUMBI 1800 2000 │
│ 11 KL196 CALCUTTA MADRAS 1600 1800 │
│ 12 KL196 MADRAS CALCUTTA 1600 1800 │
│ │
│ Enter Sno. of the FLIGHT for which you want to see list of passanger

│ │
│──────────────────────────────────────────────
────────────────────────────────│
│ PRESS <ENTER> TO EXIT │
└──────────────────────────────────────────────
────────────────────────────────┘
┌──────────────────────────────────────────────
────────────────────────────────┐
│ Flight no. KL146 LIST OF PASSANGER │
│──────────────────────────────────────────────
────────────────────────────────│
│ TICKET NO. NAME CLASS │
│──────────────────────────────────────────────
────────────────────────────────│
│ 4 parmila Economic │
│ │
│ │
│ │
│──────────────────────────────────────────────
────────────────────────────────│
105
│ Press any key to continue... │

After pressing any key we goes to main menu

Press 6 for QUIT


After pressing 6 we exit

IMPLEMENTATION
Implementation of the present project can be simply done
by installing the intranet pages on the server which provide these
pages to the clients who connect and request the server for
information
Before installing at client side it is better to implement the
software as a parallel run in order to test the software function.
This time period can be between 15 days to 2 months.
Later if the system shows a efficient functionality then the
software can be used in complete and then the old system can be
discarded if present.

ADVANTAGE OF THE SOFTWARE


DEVELOPED

 Easy to maintain and understand.


106
 Reliable.
 Reduce paper work.
 Gives a high level of accuracy.
 Show all the record in a suitable manner.
 Save time.
 Easy to use.
 Gives all the information about the patients.
 Easy to represent all the report to any person, if needed.

DISADVANTAGE OF THE
SOFTWARE DEVELOPED

1) Corruption of any kind of data will cause a serious problem.


2) Need special care during the entries.
3) Any mistake during entries can create a serious problem.

CONCLUSION
107
Finally I succeeded in making Airlines Ticket Management
System in C++ With artificial Intelligence i.e. (The Computer
thinks for the best possible move and then makes the move.

It took a lot of hard work to make this project without the help
of my faculties I would not have been in a position to make this
project. So thanks to MR. TINKESH GOYAL

I am giving two hardcopies of my project and two softcopies


with this file

THANK YOU
108
Article III. FUTURE SCOPE OF THE
PROJECT
The software application will be built on Turbo C++ and
DAT files will be used for the backend. Thus, the software can
effectively run on any DOS operating system.

In future, if the data is wished to be upgraded it can be


it can be connected to any other DOS based database such as
DBase-I and DBase-II.

Risk & Contingency


 Changes in requirement of user may arise in the future due
to changes if needs or changes in policy of the company.
To cope with this requirement the software has been
developed in a modular form so that making changes will
be easily incorporated.
 In case of system crash the backup stored on a different
machine can be used to restart the system.
 Natural calamity, fire etc can destroy the system. For this
the backup needs to be stored at a different geographical
location.
109
BIBLIOGRAPHY

1. Lafore, Robert: Object Oriented Programming


in Turbo C++, Galgotia 2002
2. Liberty, Jesse: Teach Yourself C++ Third
Edition, Techmedia1999
3. Balagurusamy,E: Object Oriented
Programming With C++, Tata McGraw Hill
4. Pressman S Roger: Software Engineering – A
practitioners approach. Mc Graw Hill
International Edition
5. Jones, C., Estimating Software Costs, McGraw
Hill 1991
6. Bennatan, E. M. Software Project Management:
A practitioner’s Approach, Mc Graw-Hill, 1992.
7. Software Risk Analysis and Management,
McGraw Hill 1989
8. Dunn, R. and R. Ullman, Quality Assurance for
computer Software, Mc Graw Hill, 1982
9. Babich, W. A ., Software Configuration
Management, Addison-Wesley,1986
110

Вам также может понравиться