Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#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;
#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;
}