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;
}