Click here to Skip to main content
15,881,172 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
C#
#include <conio.h>
#include <cstdio>
#include <iostream>
#include <string.h>
#include <cstdlib>
using namespace std;
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;
	cout<<"\nArrival time: ";
	cin>>bus[p].arrival;
	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('_');
	}
}
int main()
{
system("cls");
int w;
while(1)
{
    //system("cls");
	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);
	}
}
return 0;
}
Posted
Updated 30-Apr-14 19:44pm
v2

I suggest you to Code Rewrite[^]. Anyway check this blog post
.NET Code Conversion - Convert your code - C++ to .NET[^]
 
Share this answer
 
There may be some converters online but to go from C++ to C# I would not trust them. I would suggest re-writing the code in C#.
 
Share this answer
 
I don't see anything in your c++ code that is 'complex' - so just find a c# primer and give it a shot, starting with your class

Think about (looking at your char types), is that appropriate in C# (the answer in this case appears to be 'no') - so maybe you want to use String types in c# for instance. Similarly for the arrival, departure times, why not read input as a String, but store the real values in the class as a DateTime field.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900