Click here to Skip to main content
16,013,605 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
C++
#include<iostream>
#include<conio.h>
#include<fstream>
#include<process.h>
#include<string>

using namespace std;

class bus
{
private:
	int busno,seat_no;
	string driver_name,destination,start_station,arrival_time,departure_time;
public:
	bus()
	{
	busno=0;
	seat_no=0;
	driver_name="";
	destination="";
	start_station="";
	arrival_time="";
	departure_time="";
	}
	void get_bus_info()
	{
	cout<<"Enter busno : ";
	cin >> busno;
	cout<<"Enter Driver name : ";
	cin>>driver_name;
	cout<<"From : ";
	cin>>start_station;
	cout<<"To : ";
	cin>>destination;
	cout<<"Enter arrival time : ";
	cin>>arrival_time;
	cout<<"Enter departure time : ";
	cin>>departure_time;
	cout<<"Enter Total no of seats : ";
	cin>>seat_no;
	}

	int getbusno()
	{
	return busno;
	}

	void display()
	{
	cout<<busno<<"\t"<<driver_name<<"\t"<<start_station<<"\t"<<destination<<"\t"<<arrival_time<<"\t"<<departure_time<<"\t"<<seat_no<<"\t"<<endl;
	}
};

class bus_reservation_user
{
public:
	void do_reservation()
	{
	cout<<"do bus info ";
	}
	void check_bus_availability()
	{
	cout<<"check bus info ";
	}
	void cancel_reservation()
	{
	cout<<"cancel bus info ";
	}
};

class bus_reservation_admin:public bus_reservation_user
{
private:
	char username[25];
	char password[5];
public:
	void add_bus_info(int i)
	{
	bus b;
	if(i==1)
	{
	ofstream ofile;
	ofile.open("bus_reservation.dat",ios::binary|ios::app);
	b.get_bus_info();
	ofile.write(reinterpret_cast<char*>(&b), sizeof(b));
	ofile.close();
	cout<<"Bus information added sucessfully!!!!"<<endl;
	}

	else if(i==3)
	{
	cout<<"Bus no\tDriver name\tFrom\tTo\tarrival time\tdeparture time\tTotal no of seats"<<endl;
	
	ifstream ifile;
	ifile.seekg(1,ios::beg);
	ifile.open("bus_reservation.dat",ios::binary|ios::in);

	while(ifile.read(reinterpret_cast<char*>(&b), sizeof(b)))
	{
	//ifile.read(reinterpret_cast<char*>(&b), sizeof(b));
	b.display();
	}
	ifile.close();
	}
	}

	void delete_bus_info()
	{
	cout<<"delete bus info ";
	}

	void check_username_password();

	void display_all_bus_info()
	{
	
	cout<<"Bus no\tDriver name\tFrom\tTo\tarrival time\tdeparture time\tTotal no of seats"<<endl;
	bus b1;
	ifstream ifile;
	ifile.seekg(1,ios::beg);
	ifile.open("bus_reservation.dat",ios::binary|ios::in);

	while(ifile.read(reinterpret_cast<char*>(&b1), sizeof(b1)))
	{
	//ifile.read(reinterpret_cast<char*>(&b), sizeof(b));
	b1.display();
	}
	ifile.close();
	}
	
	
};


void bus_reservation_admin::check_username_password()
{
char c[]="admin";
cout<<"Enter username ";
cin>>username;
cout<<"Enter Password ";
for(int i=0;i<5;i++)
    {
       password[i]=getch();
       cout<<"*";
    }
int a=0;
for(int j=0;j<5;j++)
    {
        if(password[j]==c[j])
		{
		a+=1;
		}
    }

int opt;
cout<<endl;
if(strcmp(username,"admin")==0 && a==5)
	{
		cout<<"1.Add new bus information"<<endl;
		cout<<"2.Delete Bus information"<<endl;
		cout<<"3.Display all bus information"<<endl;
		cout<<"4.Exit"<<endl;
		cout<<"Enter option ";
		cin>>opt;
		switch(opt)
			{
			case 1:
			add_bus_info(1);
			break;

			case 2:
			delete_bus_info();
			break;

			case 3:
			add_bus_info(3);
			//display_all_bus_info();
			break;

			case 4:
			exit(1);
			break;

			default:
			cout<<"Sorry wrong option!!!!!!!!!!!!!!!!";
			break;
			}
	}
else
	{
	cout<<"Wrong password or username;";
	}
};

void main()
{
	cout<<"-------------------BUS RESERVATION SYSTEM--------------"<<endl;
	cout<<"Name : LIKHITA ASHOK KADAM (A-12)"<<endl;
	cout<<"       SHRUTIKA SANJIVAN DESHMUKH (A-07)"<<endl;
	cout<<"Project Guide : "<<endl;
	int option;
	cout<<"1.Admin"<<endl;
	cout<<"2.Bus reservation"<<endl;
	cout<<"3.Exit"<<endl;
	cout<<"Enter option ";
	cin>>option;

	bus_reservation_admin bsr;
	switch(option)
	{
	case 1:
	bsr.check_username_password();
	break;

	case 2:
	bsr.do_reservation();
	break;

	case 3:
	exit(1);
	break;

	default:
	cout<<"Sorry Wrong input";
	break;
	}
getch();
}
Posted
Updated 9-Nov-14 1:31am
v2
Comments
Maciej Los 9-Nov-14 7:31am    
In what line?

1 solution

I think this error is occuring in this line ifile.open("bus_reservation.dat",ios::binary|ios::in)
because you may not having sufficient access to that folder or file or path

try with visual studio 2010 i have checked your code it is working fine
 
Share this answer
 
Comments
Richard MacCutchan 9-Nov-14 13:39pm    
That's not what causes an access violation. It means the code has tried to access an invalid memory address.
MJ2014 10-Nov-14 12:43pm    
dear richard ,
your answer is true. in visual basic 2005 i got same type of error for the same problem.

Thanks,
MJ

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