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

home / study / engineering / computer science / questions and answers / this is

ID: 3798637 • Letter: H

Question

home / study / engineering / computer science / questions and answers / this is c. create three files to submit. contacts.h ...

Question: This is C. Create three files to submit. Contacts....

Bookmark

This is C.

Create three files to submit.

Contacts.h - Struct definition, including the data members and related function declarations

Contacts.c - Related function definitions

main.c - main() function

(2) Build the ContactNode struct per the following specifications:

Data members

char contactName[50]

char contactPhoneNum[50]

struct ContactNode* nextNodePtr

Related functions

CreateContactNode() (2 pt)

InsertContactAfter() (2 pts)

Insert a new node after node

GetNextContact() (1 pt)

Return location pointed by nextNodePtr

PrintContactNode()


Ex. of PrintContactNode() output:


(3) In main(), prompt the user for three contacts and output the user's input. Create three ContactNodes and use the nodes to build a linked list. (2 pts)

Ex:


(4) Output the linked list. (2 pts)

Ex:

Explanation / Answer

/* header */

#include <iostream>
class Contracts
{
public:
   int totalcount;
   Contracts(void){totalcount =0;}
   ~Contracts(void);
   struct ContractNode
   {
       char contactName[50];
       char contactPhoneNum[50];
       struct ContactNode* nextNodePtr;
      
   };
   ContractNode cont[3];
   bool CreateContactNode() ;
   bool InsertContactAfter(int position);
   ContractNode GetNextContact();
   bool PrintContactNode();
  
};

/*cpp */

#include "StdAfx.h"
#include "Contracts.h"


Contracts::Contracts(void)
{
}


Contracts::~Contracts(void)
{
}

  
   bool Contracts::CreateContactNode() {
       for (int i =0; i <3 ;i++)
       {
           std::cout << "Enter Full name: ";
            std::cin.get( cont[i].contactName,50);
           std::cout << "Enter phone number: ";
            std::cin.get( cont[i].contactPhoneNum,50);
       }
   }
   bool Contracts::InsertContactAfter(int position){
       if ( position==4 )
       {
           std::cout << "Cannot inserte after 3 ";
       }
       else
       {

       for (int i =0; i <3 ;i++)
       {
           if(i==position)
           {
                   std::cout << "Enter Full name: ";
                   std::cin.get( cont[i].contactName,50);
                   std::cout << "Enter phone number: ";
                   std::cin.get( cont[i].contactPhoneNum,50);
           }
       }
       return true;
       }
       return false;
   }
   Contracts::ContractNode Contracts::GetNextContact(){
       switch(totalcount)
       {
           case 0:
               return cont[0];
           break;
           case 1:
               return cont[1];
           break;
           case 2:
               return cont[2];
               std::cout<< "This is last element"<<std::endl;

           break;

       };
       totalcount ++;
   }
        bool Contracts::PrintContactNode()
       {
           std::cout<< "CONTRACT LIST"<<std::endl;
           for (int i =0; i <3 ;i++)
           {
               std::cout << "Name: "<<cont[i].contactName <<std::endl;
               std::cout << "Name: "<< cont[i].contactPhoneNum<<std::endl;
           }
           return true;
       }

int main ()
{
   Contracts cont ;
   std::cout <<"Enter 3 Persons name and Phone number";
  
   cont.CreateContactNode();
   cont.PrintContactNode();

return 0;
}