In: Computer Science
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:
Name: Roxanne Hughes Phone number: 443-555-2864
(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:
Person 1 Enter name: Roxanne Hughes Enter phone number: 443-555-2864 You entered: Roxanne Hughes, 443-555-2864 Person 2 Enter name: Juan Alberto Jr. Enter phone number: 410-555-9385 You entered: Juan Alberto Jr., 410-555-9385 Person 3 Enter name: Rachel Phillips Enter phone number: 310-555-6610 You entered: Rachel Phillips, 310-555-6610
(4) Output the linked list. (2 pts)
Ex:
CONTACT LIST Name: Roxanne Hughes Phone number: 443-555-2864 Name: Juan Alberto Jr. Phone number: 410-555-9385 Name: Rachel Phillips Phone number: 310-555-6610
/* 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;
}