Earn Higher Grades With Instant Assignment Help.Ask Question!

C Programming
(5/5)

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.

Attachments:
(5/5)

Related Questions

CSI 1420 Introduction to C Programming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Fu

The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

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. The LineItem class will represent an individual

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

SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Assignment To Be Done By Our ExpertsGet A+ Grade Solution Guaranteed

expert
joyComputer science
(4/5)
12 Answers Hire Me
expert
Robert DLaw
(4.8/5)
834 Answers Hire Me
expert
Dr Samuel BarberaStatistics
(5/5)
658 Answers Hire Me
expert
Tutor For YouEconomics
(5/5)
970 Answers Hire Me