Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Use C++ to implement a project to maintain telephone directory of several people

ID: 3768683 • Letter: U

Question

Use C++ to implement a project to maintain telephone directory of several people. The directory should

maintain record of each person associated with following information:

1. Name

2. Contact no

3. Age

4. State

5. Zipcode

The project which you have developed should contain following features:

1. Add a record of a specific person to the telephone directory

2. Delete a record of a specific person to the telephone directory

3. Search a contact number of a person in the directory based on the name

4. Print the details of a person based on the name

5. Update the contact no of a person existing in the directory

6. Sort the information of each person in the directory based on their last names

7. Display the size of telephone directory

For your convenience create an input text file and store the information of eachperson in a systematic manner. Then use file i/o concepts to read the input text filean store the contents. The results should be printed to console and output text file.

Note:To implement this project you have to use class

Please to check to make sure the program actually run on C++

Explanation / Answer

#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;
        }
    }
out:
file.close();
}[/Code]

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote