Sei sulla pagina 1di 4

#include<iostream>

#include<conio.h>
#include<fstream>
using namespace std;
class Flight
{
private:
int fid;
char src[10];
char dest[10];
int fare;
public:
Flight();
Flight(int, const char*, const char*, int);
void accept();
void display();
int getId();
};

#include "flight.h"

Flight::Flight()
{
this->fid=0;
strcpy(this->src, "\0");
strcpy(this->dest, "\0");
this->fare = 0;

Flight::Flight(int fid, const char * src, const char * dest, int fare)
{
this->fid = fid;
strcpy(this->src, src);
strcpy(this->dest, dest);
this->fare = fare;
}

void Flight::accept()
{
cout << "\nEnter the fid: ";
cin >> fid;
cout << "\nEnter the src: ";
cin >> src;
cout << "\nEnter the dest: ";
cin >> dest;
cout << "\nEnter the fare: ";
cin >> fare;

void Flight::display()
{
cout << "\n\nthe fid,src,dest,fare: " <<"\n"<< fid << "\t" << src << "\t" <<
dest <<"\t"<< fare<<endl;

/*cout << "\nthe fid: "<<fid;


cout << "\nthe src: "<<src;
cout << "\nthe dest: "<<dest;
cout << "\nthe fare: "<< fare;*/
}
int Flight::getId()
{
return fid;
}

#include"flight.h"
class FileIO
{
public:
static void writeDetails()
{

char wish;
fstream fs;
fs.open("FlightData.dat", ios::out);
do
{

Flight f;
f.accept();
fs.write((char*)&f,sizeof(Flight));
cout << "\nDo u want to add more details: ";
cin >> wish;
} while (wish == 'Y'|| wish == 'y');
fs.close();

}
static void readDetails()
{
fstream fs;
Flight f;
fs.open("FlightData.dat", ios::in);
while (fs.read((char*)&f, sizeof(Flight)))
{
f.display();
}
fs.close();

}
static void searchDetails()
{
int id;
cout<<"\nEnter the flight id to be searched: ";
cin >> id;
fstream fs;
Flight f;
fs.open("FlightData.dat",ios::in);
while (fs.read((char*)&f, sizeof(Flight)))
{
if (f.getId() == id)
{
f.display();
break;
}
}
fs.close();
}
static void updateDetails()
{
int id;
fstream fs;
Flight f;
cout << "\nEnter the Flight id to be searched: ";
cin >> id;
int a=sizeof(Flight);
fs.open("FlightData.dat",ios::in||ios::out);
while (fs.read((char*)&f, sizeof(Flight)))
{
if (f.getId() == id)
{
fs.seekp(-a, ios::cur);
cout << "\n" << fs.tellp() << endl;

Flight a1;
a1.accept();
fs.write((char*)&a1, sizeof(Flight));
break;
}
}
fs.close();

}
};
int main()
{
int ch;
char wish;
do
{
cout << "\n1.write to file\n2.read from file\n3.search from
file\n4.upadate a file";
cout << "\nEnter your choice: ";
cin >> ch;
switch (ch)
{
case 1:

FileIO::writeDetails();
break;
case 2:
FileIO::readDetails();
break;
case 3:
FileIO::searchDetails();
break;
case 4:
FileIO::updateDetails();
break;
case 5:
exit(0);
}
cout << "\nDo you want to continue: ";
cin >> wish;
} while (wish == 'Y' || wish == 'y');

_getch();
return 0;
}

Potrebbero piacerti anche