0% found this document useful (0 votes)
49 views

Project cs11

This C++ program implements a telephone directory that allows the user to add, view, search, modify, and delete telephone records from a binary data file. The program uses classes to define telephone records with name, address, and phone number fields. Menu options allow the user to perform various operations on the records by calling functions like write_telephone() to add records, display_all() to view all records, and delete_telephone() to remove a record.

Uploaded by

Srishti Kaushik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Project cs11

This C++ program implements a telephone directory that allows the user to add, view, search, modify, and delete telephone records from a binary data file. The program uses classes to define telephone records with name, address, and phone number fields. Menu options allow the user to perform various operations on the records by calling functions like write_telephone() to add records, display_all() to view all records, and delete_telephone() to remove a record.

Uploaded by

Srishti Kaushik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

TELEPHONE DIRECTORY

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<fstream>

#include<iomanip>

#include<string.h>

using namespace std;

class telephone

char name[20];

char address[20];

int ph_no;

public:

void get(void);

void show(void);

int getph_no();

}
void telephone::get(void)

cout << "\nEnter Name: ";

cin.ignore();

cin.getline(name, 20);

cout << "Enter Address: ";

cin.ignore();

cin.getline(address, 20);

cout << "\nEnter Phone Number: ";

cin >> ph_no;

void telephone::show()

cout << "\nName: " << name;

cout << "\nAddress: " << address;

cout << "\nPhone Number: " << ph_no;

int telephone::getph_no()

return ph_no;

void write_telephone()

telephone tel;

ofstream outFile;
outFile.open("telephone.dat", ios::binary | ios::app);

tel.get();

outFile.write(reinterpret_cast<char *> (&tel), sizeof(telephone));

outFile.close();

cout << "\n\nTelephone Directory Has Been Created...";

cin.ignore();

cin.get();

Void display_all()

telephone tel;

ifstream inFile;

inFile.open("telephone.dat", ios::binary);

if (!inFile)

cout << "File could not be open !! Press any Key...";

cin.ignore();

cin.get();

return;

cout << "\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n";

while (inFile.read(reinterpret_cast<char *> (&tel), sizeof(telephone)))

tel.show();

cout << "\n\n====================================\n";


}

inFile.close();

cin.ignore();

cin.get();

void display_sp(int n)

telephone tel;

ifstream inFile;

inFile.open("telephone.dat", ios::binary);

if (!inFile)

cout << "File could not be open !! Press any Key...";

cin.ignore();

cin.get();

return;

bool flag = false;

while (inFile.read(reinterpret_cast<char *> (&tel), sizeof(telephone)))

if (tel.getph_no() == n)

tel.show();

flag = true;

}
}

inFile.close();

if (flag == false)

cout << "\n\nrecord not exist";

cin.ignore();

cin.get();

void modify_telephone(int n)

bool found = false;

telephone tel;

fstream File;

File.open("telephone.dat", ios::binary | ios::in | ios::out);

if (!File)

cout << "File could not be open !! Press any Key...";

cin.ignore();

cin.get();

return;

while (!File.eof() && found == false)

File.read(reinterpret_cast<char *> (&tel), sizeof(telephone));

if (tel.getph_no() == n)

{
tel.show();

cout << "\n\nPlease Enter The New Details" << endl;

tel.get();

int pos = (-1)*static_cast<int>(sizeof(tel));

File.seekp(pos, ios::cur);

File.write(reinterpret_cast<char *> (&tel), sizeof(telephone));

cout << "\n\n\t Record Updated";

found = true;

File.close();

if (found == false)

cout << "\n\n Record Not Found ";

cin.ignore();

cin.get();

void delete_telephone(int n)

telephone tel;

ifstream inFile;

inFile.open("telephone.dat", ios::binary);

if (!inFile)

cout << "File could not be open !! Press any Key...";

cin.ignore();
cin.get();

return;

ofstream outFile;

outFile.open("Temp.dat", ios::out);

inFile.seekg(0, ios::beg);

while (inFile.read(reinterpret_cast<char *> (&tel), sizeof(telephone)))

if (tel.getph_no() != n)

outFile.write(reinterpret_cast<char *> (&tel), sizeof(telephone));

outFile.close();

inFile.close();

remove("telephone.dat");

rename("Temp.dat", "telephone.dat");

cout << "\n\n\tRecord Deleted ..";

cin.ignore();

cin.get();

int main()

char ch;

int num;
cout.setf(ios::fixed | ios::showpoint);

cout << setprecision(2);

do

system("cls");

cout << "\t\t\t\t**\t**";

cout << "\t\t\t\t***\t***";

cout << "\t\t\t\t****\t****";

cout << "\t\t\t\t*****\t*****";

cout << "\t\t\t\t******\t******";

cout << "\t\t\t\t*******\t*******";

cout << "\t\t\t\t*******\t*******";

cout << "\t\t\t\t******\t******";

cout << "\t\t\t\t*****\t*****";

cout << "\t\t\t\t****\t****";

cout << "\t\t\t\t***\t***";

cout << "\t\t\t\t**\t**";

cout << "\t\t\t\t*\t*";

cout <<

"\n\t\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@";

cout << "\n\t\t1. Add Telephone Record";

cout << "\n\t\t2. Show Records";

cout << "\n\t\t3. Search Telephone Records";


cout << "\n\t\t4. Modify Record";

cout << "\n\t\t5. Delete Record";

cout << "\n\t\t6. EXIT";

cout <<

"\n\t\t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@";

cout << "\n\t\tPlease Enter Your Choice (1-6): ";

cin >> ch;

system("cls");

switch (ch)

case '1': write_telephone(); break;

case '2': display_all(); break;

case '3': cout << "\n\tPlease Enter Phone Number: "; cin >> num;

display_sp(num); break;

case '4': cout << "\n\tPlease Enter Phone Number: "; cin >> num;

modify_telephone(num); break;

case '5': cout << "\n\tPlease Enter Phone Number: "; cin >> num;

delete_telephone(num); break;

case '6': exit(0);

default: cout << "\a";

} while (ch != '7');

return 0;
}
OUTPUT

You might also like