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

CBSE Sample Papers

Chemistry, C++, Physics, Maths, Biology, Social Science


* Home
* Biology
* C++
* Chemistry
* IP
* Maths
* Physics
* Social Science
*
Home > C++ > C++ Project on Railway Ticket Reservation
C++ Project on Railway Ticket Reservation
Download Project
Share
Railway Ticket Reservation
C++
Project
Work
RAILWAY TICKET RESERVATION
Name : Taher Shabbir Husain Class : XII B
School : Indian Public School
Year : 2009-2010
Certified to be the bonafide work done by
Mr. / Miss TAHER SHABBIR HUSSAIN of class XII B
in the COMPUTER LAB during the year 2009-2010
Date P.G.T. in COMPUTER SCIENCE
INDIAN PUBLIC SCHOOL Salmiya-Kuwait
Submitted for ALL INDIA SENIOR SCHOOL CERTIFICATE PRACTICAL
Examination held in COMPUTER LAB at INDIAN PUBLIC SCHOOL
Salmiya , Kuwait.
Examiner
Date
Seal
I would like to express my sincere gratitude to computer science teacher Ms. Latha
.iVi.Sw.a.m, for her vital support, guidance and encouragement without which thi
s project would not have come forth. I would also like to express my gratitude t
o the school for letting me use the school laboratory.
S.No. Contents Page No.
I. Objective 5
II. Introduction 6
III. 1 Summary 1 7
IV. Working 8
V. 1 Program Code 1 10
VI. Output 29
To develop a C++project to manage a railway ticket reservation service using obj
ect orientedprogramming anddata file handling.
The C++programming language was developed at AT&T Bell laboratories in the early
igSo s by Biarne Stroustrup. He found out C lacking for simulating and decided to e
xtend the language by adding features from his favourite language. SimtaSj was o
ne of the earliest object-oriented languages. Biarne Stroustrup called it C with
classes originally. The name C++ was coined by Rick Mascitti where ++ is the C increm
ent operator. Ever since its birth, C++ evolved to cope with problems encountere
d by users, and through discussions at AT&T.
The major reasons for its success is the support for object oriented programming
, which is most near to real world situations.
However, the maturation of the C++ language is attested by 2 recent events:-
The formation of an ANSI (American National Standard Institute) C++ committee, a
nd
The publication of the Annotated C++ Reference Manual by Ellis and Stroustrup. O
ne can easily judge the importance of C++ as given the following lines:-
Object-oriented technology is regarded as the ultimate paradigm for the modeling
of the information in the data of logic. The C++ is now shown to fulfill this go
al .
This is a project basedon train reservation. The program helps us to enter, disp
lay or alter the details of different trains.
Moreover & most importantly the program helps us to reserve or cancel a train ti
cket.
The program also helps us to know the present status of a reservedticket, i.e. w
hether the ticket is confirmedor not.
It includes various function programs to do the above mentionedtasks.
Data file handling has been effectively usedin the program.
This program uses the concept of object-oriented programming and data file handl
ing.
The database is a collection of interrelated data to serve multiple applications
. That is database programs create files of information. So we see that files ar
e worked with most, inside the program.
DBMS
The software required for the management of data is called as DBMS. It has3 mode
ls
Relation model
Hierarchical model
Network model
RELATIONAL MODELIt s based on the concept on relation. Relation is the table that
consists of rows and columns. The rows of the table are called tuple and the col
umns of the table are called attribute. Numbers of rows in the table is called a
s cardinality. Number of columns in the table is called as degree.
HIERARCHICAL MODELIn this type of model, we have multiple records for each recor
d. A particular recordhas one parent
record. No chid record can exist without parent record. In this, the records are
organized in tree (ike structure
NETWORK MODEL:- In this, the data is representedby collection of records and rel
ationship is represented by (ink or association.
CHARACTERISTICS OF DB MS: -
It reduces the redundancy
Reduction of data in inconsistency
Data sharing
Data standardization
DIFFERENT TYPES OF FILES: -BASED ON ACCESS:-
Sequentialfile
Serial file
Random (direct access) file BASED ON STORAGE:-
Text file
Binary File
//PROGRAM - TRAIN RESERVATION #indude<iostream .h> #include<conio .h> #include<s
tring .h> #include<dos .h> #include<stdio .h> #include<fstream .h> #include<proc
ess .h> #include<stdlib .h>
class train {
private :
int trainno,nofafseat,nofasseat,noffsseat,nofacseat,nofssseat; char trainname[60
],startingpoint[60],destination[60]; public :
train() {
trainno=0;
nofafseat=0;
nofasseat=0;
noffsseat=0;
nofacseat=0;
nofssseat=0;
strcpy(trainname,"/0");
strcpy(startingpoint,"/0");
strcpy(destination,"/0");
}
void input(); //To input the details void display(); //To display th
e details int returntr(); int returnaf();

int returnas(); int returnfs(); int returnac(); int returnss();


}tr;
int train::returntr() {
return trainno;
}
int train::returnaf()
{
return nofafseat;
}
int train::returnas() {
return nofasseat;
}
int train::returnfs()
{
return noffsseat;
}
int train::returnac()
{
return nofacseat;
}
int train::returnss()
{
return nofssseat;
} 11
void train::input()
{
clrscr();
gotoxy(10,10);
cout< <"ENTER THE TRAIN NUMBER ";
gotoxy(57,10);
cin>>trainno;
gotoxy(10,12);
cout< <"ENTER THE NUMBER OF A/C FIRST CLASS SEATS";
gotoxy(57,12);
cin>>nofafseat; gotoxy(10,14);
cout< <"ENTER THE NUMBER OF A/C SECOND CLASS SEATS";
gotoxy(57,14);
cin>>nofasseat;
gotoxy(10,16);
cout< <"ENTER THE NUMBER OF FIRST CLASS SLEEPER SEATS";
gotoxy(57,16);
cin>>noffsseat; gotoxy(10,18);
cout< <"ENTER THE NUMBER OF A/C CHAIR CAR SEATS"; gotoxy(57,18);
cin>>nofacseat;
gotoxy(10,20);
cout< <"ENTER THE NUMBER OF SECOND CLASS SLEEPER SEATS";
gotoxy(57,20);
cin>>nofssseat;
gotoxy(10,22);
cout< <"ENTER THE TRAIN NAME";
gotoxy(57,22);
gets(trainname);
gotoxy(10,24);
cout<<"ENTER THE STARTING POINT ";
gotoxy(57,24);

gets(startingpoint); gotoxy(10,26);
cout<<"ENTER THE DESTINATION ";
gotoxy(57,26);
gets(destination);

void train::display () {
clrscr();
gotoxy(10,10); cout<<"TRAIN NUMBER "; gotoxy(47,10);
cout<<trainno;
gotoxy(10,12); cout<<"TRAIN NAME "; gotoxy(47,12);
puts(trainname);
gotoxy(10,14);
cout<<"NO OF A/C FIRST CLASS SEATS ";
gotoxy(47,14);
cout<<nofafseat;
gotoxy(10,16);
cout<<"NO OF A/C SECOND CLASS SEATS ";
gotoxy(47,16);
cout<<nofasseat;
gotoxy(10,18);
cout<<"NO OF FIRST CLASS SLEEPER SEATS ";
gotoxy(47,18);
cout<<noffsseat;
gotoxy(10,20);
cout<<"NO OF A/C CHAIR CLASS SEATS ";
gotoxy(47,20);
cout<<nofacseat;
gotoxy(10,22);

cout<<"NO OF SECOND CLASS SLEEPER SEATS ";


gotoxy(47,22);
cout<<nofssseat;
gotoxy(10,24);
cout<<"STARTING POINT ";
gotoxy(47,24);
puts(startingpoint);
gotoxy(10,26); cout<<"DESTINATION "; gotoxy(47,26);
puts(destination);
gotoxy(10,28);
cout<<"PRESS ANY KEY TO CONTINUE ";
getch();
}
class tickets
{
int resno,toaf,nofaf,toas,nofas,tofs,noffs,toac,nofac,toss,nofss,age;
char status[40],name[40];
public:
tickets();
void reservation(); //For ticket reservation
void cancellation(); //For ticket cancellation int ret();
void display(); //To display reservation details
}tick;
tickets::tickets() {
resno=0;
toaf=0;
nofaf=0;
toas=0;
nofas=0;
tofs=0;
noffs=0;
toac=0;
nofac=0;
toss=0;
nofss=0;
age=0;
strcpy(status,"/0"); strcpy(name,"/0");
}
int tickets::ret()
{
return resno;
}
void tickets::display()
{
int f=0; clrscr();
ifstream fn("Ticket1.dat",ios::out); fn.seekg(0);
if(!fn)
{
cout<<"ERROR IN THE FILE ";
}
X:
gotoxy(10,10);
cout<<"ENTER THE RESERVATION NO "; gotoxy(10,12);
int n; cin>>n;
while(!fn.eof())
{
fn.read((char*)&tick,sizeof(tick));
gotoxy(10,10);
if(n==resno)
{
clrscr();
f=1;
gotoxy(10,10);
cout< <"NAME "; gotoxy(30,10) ; cout<<name; gotoxy(10,12);
cout<<"AGE "; gotoxy(30,12);
cout<<age;
gotoxy(10,14);
cout<<"PRESENT STATUS ";
gotoxy(30,14);
cout<<status; gotoxy(10,16);
cout<<"RESERVATION NUMBER ";
gotoxy(30,16);
cout<<resno;
gotoxy(10,18);
cout<<"PRESS ANY KEY TO CONTINUE ";
getch();
}
}
if(f==0) {
clrscr();
gotoxy(10,10);
cout<<"UNRECOGINIZED RESERVATION NO !!! WANNA
RETRY ?(Y/N) "; char a;
gotoxy(10,12);
cin>>a;
if(a==y||a==Y) {
clrscr();
goto X;
}
else {
gotoxy(10,12);
cout< <"PRESS ANY KEY TO CONTINUE"; getch();
}
}
fn.close();
}
void tickets::reservation()
{
clrscr();
gotoxy(10,10); cout<<"RESERVATION "; gotoxy(10,12);
cout<<"ENTER THE TRAIN NO: ";
int tno,f=0; cin>>tno; ofstream file;
ifstream fin("Train1.dat",ios::out); fin.seekg(0);
if(!fin)
{
clrscr();
gotoxy(10,10); cout< <"ERROR IN THE FILE ";
clrscr();
while(!fin.eof())
{
fin.read((char*)&tr,sizeof(tr)); int z;
z=tr.returntr(); if(tno==z)
{
f=1;
nofaf=tr.returnaf();
nofas=tr.returnas();
noffs=tr.returnfs();
nofac=tr.returnac();
nofss=tr.returnss();
}
}
if(f==1)
{
file.open("Ticket1.dat",ios::app);
S:
clrscr();
gotoxy(10,10); cout<<"NAME:";
gets(name);
gotoxy(10,12); cout<<"AGE:";
cin>>age; clrscr();
gotoxy(10,10);
cout< <"SELECT THE CLASS WHICH YOU WISH TO
TRAVEL"; gotoxy(10,12);
cout<<"1.A/C FIRST CLASS " ; gotoxy(10,14);
cout<<"2.A/C SECOND CLASS " ;
gotoxy(10,16);
cout<<"3.FIRST CLASS SLEEPER " ;
gotoxy(10,18); cout<<"4.A/C CHAIR CAR " ;
gotoxy(10,20);
cout<<"5.SECOND CLASS SLEEPER ";
gotoxy(10,22);
cout<<"ENTER YOUR CHOICE "; gotoxy(30,22);
int c; cin>>c; switch(c) {
case 1:
toaf++;
resno=rand(); if((nofaf-toaf)>0)
{
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout< <"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26); cout<<"RESERVATION NO";
gotoxy(30,26); cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;

strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24); puts(status);
gotoxy(10,26); cout<<"RESERVATION NO";
gotoxy(30,26); cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
case 2:
toas++;
resno=rand();
if((nofas-toas)>0)
{
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout< <"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26); cout<<"RESERVATION NO";
gotoxy(30,26); cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;

strcpy(status,"pending");
gotoxy(10,24); cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
case 3:
tofs++; resno=rand();
if((noffs-tofs)>0)
{
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout< <"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26); cout<<"RESERVATION NO";
gotoxy(30,26); cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
else
{
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
case 4:
toac++;
resno=rand();
if((nofac-toac)>0)
{
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout< <"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
else
{
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26); cout<<"RESERVATION NO"; gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
case 5:
toss++; resno=rand(); if((nofss-toss)>0) {
strcpy(status,"confirmed");
gotoxy(10,24) ;
cout< <"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26); cout<<"RESERVATION NO";
gotoxy(30,26); cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
else
{
strcpy(status,"pending");
gotoxy(10,24);
cout<<"STATUS";
gotoxy(30,24);
puts(status);
gotoxy(10,26);
cout<<"RESERVATION NO";
gotoxy(30,26);
cout<<resno;
getch();
file.write((char*)&tick,sizeof(tick)); break;
}
}
gotoxy(10,28);
cout<<"DO YOU WISH TO CONTINUE BOOKING TICKETS (Y/N) ? "; gotoxy(57,30); char n;
cin>>n;
if(n=='y'||n=='Y') {
goto S;
}
}
}
if(f==0)
{
clrscr();
gotoxy(10,10);
cout< <"ERROR IN THE TRAIN NUMBER ENTERED !!!"; getch();
}
file.close();
}
void tickets::cancellation()
{
clrscr(); ifstream fin;
fin.open("Ticket1.dat",ios::out);
ofstream file;
file.open("Temp1.dat",ios::app);
fin.seekg(0);
gotoxy(10,10);
cout<<"ENTER THE RESERVATION NO ";
int r,f=0;
cin>>r;
if(!fin)
cout< <"ERROR IN THE FILE !!!";
}
while(!fin.eof())
{
fin.read((char*)&tick,sizeof(tick)); int z;
z=ret(); if(z!=r)
{
file.write((char*)&tick,sizeof(tick));
}
if(z==r) {
f=1;
}
}
file.close(); fin.close();
remove("Ticket1.dat"); rename("Temp1.dat","Ticket1.dat");
if(f==0) {
gotoxy(10,12);
cout<<"NO SUCH RESERVATION IS MADE !!! PLEASE
RETRY ";
getch();

}
else
{
gotoxy(10,12);
cout<<"RESERVATION CANCELLED"; getch();
}
}
void main() {
int ch,r=1000,j;
clrscr();
gotoxy(33,22);
cout<<"WELCOME";
Z:
clrscr(); gotoxy(25,8) ;
cout<<"RAILWAY TICKET RESERVATION"; gotoxy(25,9);
cout<<"==========================";
gotoxy(20,15) ; cout<<"1.TRAIN DETAILS";
gotoxy(20,17);
cout<<"2.UPDATE TRAIN DETAILS ";
gotoxy(20,19);
cout<<"3.RESERVING A TICKET ";
gotoxy(20,21);
cout<<"4.CANCELLING A TICKET";
gotoxy(20,23);
cout<<"5.DISPLAY THE PRESENT TICKET STATUS ";
gotoxy(20,25);
cout<<"6.EXIT";
gotoxy(20,27);
cout<<"ENTER YOUR CHOICE: ";

cin>>ch; char n;
switch(ch) {
case 1: {
ifstream fin("Train1.dat",ios::out);
fin.seekg(0);
clrscr();
if(!fin)
{
clrscr();
gotoxy(10,10);
cout< <"ERROR IN THE FILE !!!";
}
else {
clrscr();
while(!fin.eof()) {
fin.read((char*)&tr,sizeof(tr)); tr.display();
}
}
fin.close(); goto Z;
}
case 2:
clrscr();
gotoxy(20,10);
cout<<"ENTER THE PASSWORD " ;
cin>>j;
gotoxy(20,30);
cout< <"CHECKING PLEASE WAIT ";
getch();
}

{
Y:
ofstream fout("Train1.dat",ios::app); tr.input();
fout.write((char*)&tr,sizeof(tr));
fout.close();
gotoxy(10,30);
cout<<"DO YOU WISH TO CONTINUE UPDATING ?(Y/N)";
cin>>n;
if(n==y||n==Y)
goto Y; goto Z;
}
else
goto Z;
case 3:
tick.reservation(); goto Z;
case 4:
tick.cancellation(); goto Z;
case 5:
tick.display(); goto Z;
case 6:
exit(0);
}
getch();
</stdlib></process></fstream></stdio></dos></string></conio></iostream>
Related:
* C++ Project on Student Management
Students Information System #include #include #include #include #include #
inclu...
* Chemistry Project on Optical Fiber and its Applications
Optical Fiber and its Applications Name:
...
* Maths Project on Volume and Surface Area of Cube and Cuboid
Volume and Surface Area of Cube and Cuboid Objective To explore the change
s in surface area...
* Chemistry Project on Study of Diffusion of solids in Liquids
Study of Diffusion of solids in Liquids INDEX Aim Introduction Objective E
xpe...
Comments (1) Trackbacks (0) Leave a comment Trackback
1.
saurabh
October 7th, 2010 at 14:29 | #1
Reply | Quote
some comments against some of the statements regarding file handling would
be very useful to others who may view the above program.
1. No trackbacks yet.
Name (required)
E-Mail (will not be published) (required)
Website
Subscribe to comments feed
Information Practices (IP) Project on Travel Agency for Class 12th Biology Proje
ct on Ultraviolet Rays
Upload Projects
[contact-form 1 "Contact form 1"]
Project Work
* C++ Project on Report Card Making
* C++ Project on Periodic Table
* Chemistry Project on Determination of Contents of Cold Drinks
* C++ Project on Student Management
* Chemistry Project on Electrolysis of Potassium Iodide (KI)
Archives
* July 2010
* March 2010
* July 2009
* May 2009
* April 2009
* March 2009
Tags
Banking C++ Project File C++ Project File Structure CBSE Disaster Management Pro
ject CBSE Maths Project CBSE Maths Project on Probability CBSE Maths Project Top
ics CD Cafe Disaster Management
Project
* CBSE Maths Project Class IX
* CBSE Science Projects Class IX
* CBSE Social Science Projects
* CCE Projects
Top Contributors
1. Abhisek De?
2. Abhyodaya siddhartha
3. Garima Bhardwaj
4. Saurabh?
5. Swathi
CBSE
Top
Copyright © 2010 School Projects

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