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.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
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. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
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
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