#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <string.h>
#include <graphics.h>
#include <stdlib.h>
#include <ctype.h>
//#include <dos.h>
typedef enum{false,true}boolean;
static int p = 0;
class a
{
char busn[5], driver[10], arrival[5], depart[5], from[10], to[10], seat[8][4][10];
public:
void install();
void allotment();
void empty();
void show();
void avail();
void position(int i);
}
bus[10];
void vline(char ch)
{
for (int i=80;i>0;i--)
cout<<ch;
}
void a::install()
{
cout<<"Enter bus no: ";
cin>>bus[p].busn;
cout<<"\nEnter Driver's name: ";
cin>>bus[p].driver;
// cin>>bus[p].arrival;
//==================
char temp[20];
boolean OK;
do{
OK = true;
cout<<"\nArrival time: ";
gets(bus[p].arrival);
if (strlen(bus[p].arrival)!=4){
printf("\t\t<< should not be Empty or It should \n\t\t only 4 digits >>\n");
OK= false;
}
for(int count=0; bus[p].arrival[count]!='\0'; count++)
if (!isdigit(bus[p].arrival[count])){
printf("\t\t<< Must be digits! >>\n");
OK = false;
// strcpy(bus[p].arrival,temp[count]);
break;
}
}while(!OK);
//////////////////
cout<<"\nDeparture: ";
cin>>bus[p].depart;
cout<<"\nFrom: \t\t\t";
cin>>bus[p].from;
cout<<"\nTo: \t\t\t";
cin>>bus[p].to;
bus[p].empty();
p++;
}
void a::allotment()
{
int seat;
char number[5];
top:
cout<<"Bus no: ";
cin>>number;
int n;
for(n=0;n<=p;n++)
{
if(strcmp(bus[n].busn, number)==0)
break;
}
while(n<=p)
{
cout<<"\nSeat Number: ";
cin>>seat;
if(seat>32)
{
cout<<"\nThere are only 32 seats available in this bus.";
}
else
{
if (strcmp(bus[n].seat[seat/4][(seat%4)-1], "Empty")==0)
{
cout<<"Enter passanger's name: ";
cin>>bus[n].seat[seat/4][(seat%4)-1];
break;
}
else
cout<<"The seat no. is already reserved.\n";
}
}
if(n>p)
{
cout<<"Enter correct bus no.\n";
goto top;
}
}
void a::empty()
{
for(int i=0; i<8;i++)
{
for(int j=0;j<4;j++)
{
strcpy(bus[p].seat[i][j], "Empty");
}
}
}
void a::show()
{
int n;
char number[5];
cout<<"Enter bus no: ";
cin>>number;
for(n=0;n<=p;n++)
{
if(strcmp(bus[n].busn, number)==0)
break;
}
while(n<=p)
{
vline('*');
cout<<"Bus no: \t"<<bus[n].busn
<<"\nDriver: \t"<<bus[n].driver<<"\t\tArrival time: \t"
<<bus[n].arrival<<"\tDeparture time:"<<bus[n].depart
<<"\nFrom: \t\t"<<bus[n].from<<"\t\tTo: \t\t"<<
bus[n].to<<"\n";
vline('*');
bus[0].position(n);
int a=1;
for (int i=0; i<8; i++)
{
for(int j=0;j<4;j++)
{
a++;
if(strcmp(bus[n].seat[i][j],"Empty")!=0)
cout<<"\nThe seat no "<<(a-1)<<" is reserved for "<<bus[n].seat[i][j]<<".";
}
}
break;
}
if(n>p)
cout<<"Enter correct bus no: ";
}
void a::position(int l)
{
int s=0;p=0;
for (int i =0; i<8;i++)
{
cout<<"\n";
for (int j = 0;j<4; j++)
{
s++;
if(strcmp(bus[l].seat[i][j], "Empty")==0)
{
cout.width(5);
cout.fill(' ');
cout<<s<<".";
cout.width(10);
cout.fill(' ');
cout<<bus[l].seat[i][j];
p++;
}
else
{
cout.width(5);
cout.fill(' ');
cout<<s<<".";
cout.width(10);
cout.fill(' ');
cout<<bus[l].seat[i][j];
}
}
}
cout<<"\n\nThere are "<<p<<" seats empty in Bus No: "<<bus[l].busn;
}
void a::avail()
{
for(int n=0;n<p;n++)
{
vline('*');
cout<<"Bus no: \t"<<bus[n].busn<<"\nDriver: \t"<<bus[n].driver
<<"\t\tArrival time: \t"<<bus[n].arrival<<"\tDeparture Time: \t"
<<bus[n].depart<<"\nFrom: \t\t"<<bus[n].from<<"\t\tTo: \t\t\t"
<<bus[n].to<<"\n";
vline('*');
vline('_');
}
}
void main()
{
clrscr();
int w;
int gd=DETECT, gm;
initgraph(&gd, &gm, "f:\\borlandc\\bgi");
setbkcolor(BLUE);
while(1)
{
cout<<"\n\n\n\n\n";
cout<<"\t\t\t1.Install\n\t\t\t"
<<"2.Reservation\n\t\t\t"
<<"3.Show\n\t\t\t"
<<"4.Buses Available. \n\t\t\t"
<<"5.Exit";
cout<<"\n\t\t\tEnter your choice:-> ";
cin>>w;
switch(w)
{
case 1: bus[p].install();
break;
case 2: bus[p].allotment();
break;
case 3: bus[0].show();
break;
case 4: bus[0].avail();
break;
case 5: exit(0);
case 6:
if(w>6)
cout<<"Incorrect Option";
//cleardevice();
}
}
//while(w>0&&w<=5) ;
}
reyaanhelp -6 Newbie Poster
Recommended Answers
Jump to PostPlease Note:
You are using a completely outdated compiler because it is letting you use
"conio"
"clrscr"
and all the".h"
extensions. Get a standard compiler.You have just posted the code and the line "How to convert Structure in class" that too with a spelling mistake and …
Jump to Postkindly do it for me and please give it to me these are the two things we hate. We will neither do both.You do it and we will help.
And why the conversion from post #1 to post #4 ??? you had it in the form of a class …
All 5 Replies
csurfer 422 Posting Pro
tux4life 2,072 Postaholic
reyaanhelp -6 Newbie Poster
jephthah commented: I'm not that kind of guy. -2
Tom Gunn 1,164 Practically a Master Poster
csurfer 422 Posting Pro
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.