phoneLog1 20180105110054 +12062812000 5912 20171210091233 +33140205990 364 20171
ID: 3874803 • Letter: P
Question
phoneLog1
20180105110054 +12062812000 5912
20171210091233 +33140205990 364
20171129145316 +85223677065 180
phoneLog2
12 +12068372045 abc
123456789ABCDE 12068372045 0000000000
output1.txt
File Name:Time Country Phone Number Duration
01-05-2018 11:00:54 1 (206)-281-2000 98:32
12-10-2017 09:12:33 33 01 40 20 59 90 6:04
11-29-2017 14:53:16 852 2367 7065 3:00
Explanation / Answer
this is related to it and useful for example
//Telephone Directory
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <iomanip.h>
#include <conio.h>
class phoneBook{
char name[20],phno[15];
public:
void getdata();
void showdata();
char *getname(){ return name; }
char *getphno(){ return phno; }
void update(char *nm,char *telno){
strcpy(name,nm);
strcpy(phno,telno);
}
};
void phoneBook :: getdata(){
cout<<" Enter Name : ";
cin>>name;
cout<<"Enter Phone No. : ";
cin>>phno;
}
void phoneBook :: showdata(){
cout<<" ";
cout<<setw(20)<<name;
cout<<setw(15)<<phno;
}
void main(){
phoneBook rec;
fstream file;
file.open("d:\phone.dat", ios::ate | ios::in | ios::out | ios::binary);
char ch,nm[20],telno[6];
int choice,found=0;
while(1){
clrscr();
cout<<" *****Phone Book***** ";
cout<<"1) Add New Record ";
cout<<"2) Display All Records ";
cout<<"3) Search Telephone No. ";
cout<<"4) Search Person Name ";
cout<<"5) Update Telephone No. ";
cout<<"6) Exit ";
cout<<"Choose your choice : ";
cin>>choice;
switch(choice){
case 1 : //New Record
rec.getdata();
cin.get(ch);
file.write((char *) &rec, sizeof(rec));
break;
case 2 : //Display All Records
file.seekg(0,ios::beg);
cout<<" Records in Phone Book ";
while(file){
file.read((char *) &rec, sizeof(rec));
if(!file.eof())
rec.showdata();
}
file.clear();
getch();
break;
case 3 : //Search Tel. no. when person name is known.
cout<<" Enter Name : ";
cin>>nm;
file.seekg(0,ios::beg);
found=0;
while(file.read((char *) &rec, sizeof(rec)))
{
if(strcmp(nm,rec.getname())==0)
{
found=1;
rec.showdata();
}
}
file.clear();
if(found==0)
cout<<" ---Record Not found--- ";
getch();
break;
case 4 : //Search name on basis of tel. no
cout<<" Enter Telephone No : ";
cin>>telno;
file.seekg(0,ios::beg);
found=0;
while(file.read((char *) &rec, sizeof(rec)))
{
if(strcmp(telno,rec.getphno())==0)
{
found=1;
rec.showdata();
}
}
file.clear();
if(found==0)
cout<<" ---Record Not found--- ";
getch();
break;
case 5 : //Update Telephone No.
cout<<" Enter Name : ";
cin>>nm;
file.seekg(0,ios::beg);
found=0;
int cnt=0;
while(file.read((char *) &rec, sizeof(rec)))
{
cnt++;
if(strcmp(nm,rec.getname())==0)
{
found=1;
break;
}
}
file.clear();
if(found==0)
cout<<" ---Record Not found--- ";
else
{
int location = (cnt-1) * sizeof(rec);
cin.get(ch);
if(file.eof())
file.clear();
cout<<"Enter New Telephone No : ";
cin>>telno;
file.seekp(location);
rec.update(nm,telno);
file.write((char *) &rec, sizeof(rec));
file.flush();
}
break;
case 6 : gotoout;
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.