RAILWAY SEAT RESERVATION PROJECT
Description: This C++ program on RAILWAY SEAT RESERVATION is a simple text base program.We have used procedure oriented method to design this program. This program is without grahics to keep program simple for beginners.
in a trian compartment there are 67 seats...13 rows of 5 (3 by2) setats and the last row has 2
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
struct rail
{
int seatNo;
int isEmpty;
}seat[67];
void reserve(int n);
int arrRowState[15];
void main()
{
for(int i = 0 ; i <67 ; i++)
{
seat[i].seatNo=(i+1);
seat[i].isEmpty=1;
}
for(i=0 ; i<13 ; i++)
arrRowState[i]=5;
arrRowState[13]=2;
arrRowState[14]=67;
char res='y';
do
{
int n;
cout<<"Enter d no of seats u want to reserve : ";
cin>>n;
reserve(n);
cout<<"Do u want to reserve more seats?";
res=getchar();
}while(res!='n');
}
void reserve(int n)
{
if(n>arrRowState[14])
{
cout<<"Too large group to accomodate";
getch();
return;
}
int flag=0;
int seatbook;
for(int i = 0 ; flag==0&&i<=13 ; i++)
{
if(arrRowState[i] >= n)
{
flag=1;
// cout<<"Following Seats Alloted";
seatbook=(((i)*5)+(6-arrRowState[i]));
for(int j = 0 ; j < n ; j++)
{
cout<<""<<seatbook+j<<"";
seat[(seatbook+j)].isEmpty=0;
}
arrRowState[i]=arrRowState[i]-n;
arrRowState[14]=arrRowState[14]-n;
}
}
if(flag==0)
{
while(n!=0)
{
int max,rowNo=0;
max=arrRowState[0];
for( int j = 0 ; j<14 ; j++)
{
if(arrRowState[j] > max)
{
max=arrRowState[j];
rowNo=j;
}
}
if(n>max)
{
n=n-max;
seatbook=(((rowNo)*5)+(6-arrRowState[rowNo]));
arrRowState[rowNo]=arrRowState[rowNo]-max;
for( int j = 0 ; j<max ; j++)
{
cout<<""<<(seatbook+j)<<"";
seat[(seatbook+j)].isEmpty=0;
}
}
else
{
reserve(n);
n=0;
}
}
}
getch();
}
No comments:
Post a Comment