logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Laurence FarrellStatistics
(5/5)

898 Answers

Hire Me
expert
Thomas BornholdttEnglish
(5/5)

859 Answers

Hire Me
expert
Dillon RamosResume writing
(5/5)

972 Answers

Hire Me
expert
Jaydon KeySocial sciences
(5/5)

910 Answers

Hire Me
C Programming

In this homework assignment, you are to implement a basic family tree. To make this implementation, first, you need to implement a Person struct

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

In this homework assignment, you are to implement a basic family tree. To make this implementation, first, you need to implement a Person struct which has the following attributes:

name: name of the person

year_of_birth: birth year of the person

sex: sex of the person which can be either "male" or "female" father: father of the person which should be Person* type mother: mother of the person which should be Person* type

significant_other: wife or husband of the person which should be Person* type children: children of the person which should be Person** type because it consists of at most 2 children.

 

Figure 1. Family Tree

 

Person* person_constructor(char *name, int year_of_birth, char *sex);

 

Create a person with the given arguments and return it. Do not forget to allocate memory.

void display_person(Person* p);

 

Displays person information. Check the example below for formatting.

 

void display_family(Person* family[], int n);

 

Displays persons belong to the family. Check the example below for formatting.

 

void marry_them(Person *p1, Person *p2);

 

This is a marriage function. It makes a connection (red connections in fig. 1) between two persons, p1 and p2.

Person* birth(char *name, int year_of_birth, char *sex, Person *mother);

 

mother gives birth. It means that you need to create a new person with given arguments and you need to add the baby to the family tree (blue connections int fig. 1). You also need to return this new person.

Person* sibling(Person p, int print);

 

Returns the sibling of given person p.

 

void display_uncles(Person p);

 

Prints name of the uncles for a person p. Person p can have multiple uncles. Assume that uncle refers to "amca", "dayı", and "enişte" in Turkish.

void display_aunts(Person p);

 

Prints name of the aunts for a person p. Person p can have multiple aunts. Assume that aunt refers to "hala", "teyze", and "yenge" in Turkish.

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme