Phone Directory Program in C++ Using Linked List
Phone Directory Program in C++ Using Linked List
com/programcodes
By DJVprogrammers
https://web.facebook.com/DJVprogrammers 1
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
Code:
//Phone directory program using linked list and file handling
#include<iostream>
#include<fstream>
#include<conio.h>
fstream myfile;
struct clients
//parts of a node.
string name;
string number;
string cnic;
clients*link;
clients()
link=NULL;
};
class directory
https://web.facebook.com/DJVprogrammers 2
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
clients *start,*cur,*temp;
public:
directory()
start=NULL;
if(start==NULL)
start=new clients;
start->link=NULL;
start->name=n;
start->number=num;
start->cnic=cn;
https://web.facebook.com/DJVprogrammers 3
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
myfile<<"Name_:_"<<start->name<<"__|__CNIC:_"<<start->cnic<<"__|__Phone
Number_:_"<<start->number<<endl;
myfile.close();
else
cur=start;
while(cur->link!=NULL)
cur=cur->link;
temp=new clients;
temp->name=n;
temp->number=num;
temp->cnic=cn;
temp->link=NULL;
cur->link=temp;
https://web.facebook.com/DJVprogrammers 4
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
myfile<<"Name_:_"<<temp->name<<"__|__CNIC:_"<<temp->cnic<<"__|__Phone
Number:_"<<temp->number<<endl;
myfile.close();
void terminating_file(string n)
cur=start;
if(start->name==n)
temp=start;
start=start->link;
delete temp;
else
while(cur->name!=n)
if(cur->link==NULL)
{
https://web.facebook.com/DJVprogrammers 5
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
return ;
temp=cur;
cur=cur->link;
temp->link=cur->link;
delete cur;
void print_now()
cur=start;
int c;
for(c=1;cur->link!=NULL;c++)
https://web.facebook.com/DJVprogrammers 6
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cur=cur->link;
void search(string n)
cur=start;
while(cur!=NULL)
if(cur->name==n)
char mod;
cout<<"\n\t_________DATA FOUND__________\n\n";
cout<<"Name : "<<cur->name<<endl;
cout<<"CNIC : "<<cur->cnic<<endl;
cout<<"Phone # : "<<cur->number<<endl;
cin>>mod;
if(mod=='y' || mod=='Y')
https://web.facebook.com/DJVprogrammers 7
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cin>>cur->number;
cout<<"\n\t_________Data Updated________"<<endl;
break;
cur=cur->link;
if(cur==NULL)
void print()
string s;
myfile.open("directory.txt",ios::in);
while(!myfile.eof())
myfile>>s;
https://web.facebook.com/DJVprogrammers 8
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cout<<s<<endl;
myfile.close();
};
int main()
directory l1;
int nooffiles,i,p,ch;
string n,nm,cnc;
cout<<"\n\t=============================================================
======\n\n";
cout<<"\n\t=============================================================
======\n\n";
cout<<"\n\t=============================================================
======\n\n";
https://web.facebook.com/DJVprogrammers 9
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cout<<"\n\t=============================================================
======\n\n";
cout<<"\n\t========================SAVE
NUMBERs===============================\n"<<endl;
//no. of files.
cin>>nooffiles;
for(i=1;i<=nooffiles;i++)
//getline(cin,n);
cin>>n;
cin>>nm;
cin>>cnc;
l1.creat_file(n,nm,cnc);
https://web.facebook.com/DJVprogrammers 10
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
system("CLS");
do
cout<<"5-Exit\n"<<endl;
cin>>ch;
system("CLS");
switch(ch)
case 1:
cout<<"\n\t============================SAVE NEW
NUMBER============================\n\n";
//getline(cin,n);
https://web.facebook.com/DJVprogrammers 11
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cin>>n;
cin>>nm;
cin>>cnc;
l1.creat_file(n,nm,cnc);
break;
case 2:
cout<<"\n\t=========================DELETE
NUMBER============================\n\n";
//getline(cin,n);
cin>>n;
l1.terminating_file(n);
break;
case 3:
https://web.facebook.com/DJVprogrammers 12
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
cin>>n;
l1.search(n);
break;
case 4:
cout<<"\n\t=====================PRINTING ALL
LIST============================\n\n";
l1.print();
break;
case 5:
l1.print_now();
break;
default:
cout<<"\t----------Invalid----------"<<endl;
while(ch!=5);
cout<<"\nTHANK YOU"<<endl;
getch();
https://web.facebook.com/DJVprogrammers 13
Program.codes.cpp@gmail.com. https://programcodescpp.wixsite.com/programcodes
Website:
https://programcodescpp.wixsite.com/programcodes
Email:
Program.codes.cpp@gmail.com
Facebook Page:
https://web.facebook.com/DJVprogrammers
YouTube Channel
https://www.youtube.com/channel/UCfizosx-0fkFJ6R-oF6l9-A?view_as=subscriber
https://web.facebook.com/DJVprogrammers 14