Function Declarations: /*-----------------------------------------------------------------------*/ void NewContact(struct otherc, struct address); //struct X represents all the variables in said-struct. /* */ /* Inputs: contact file */ /* Output: appended contact file */ /* Comments: Reads current contact file adds a new contact to the file taking input from user and writes changes */ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ File CLetters(struct otherc); /* */ /* Inputs: contact file */ /* Output: individual contact letters */ /* Comments: Reads contact file creates personalised letters and saves individual letters to disc*/ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ File LPrint(struct otherc, struct address); /* */ /* Inputs: individual letters */ /* Output: printed individual contact letters */ /* Comments: Reads and prints individual contact letters */ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ void AppendC(struct otherc); /* */ /* Inputs: contact file */ /* Output: appended contact file */ /* Comments: Reads the contact file and allows the user to change the attending status of the contact For example after they have replied, indicating whether or not they are coming */ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ void Specialreq(struct otherc); /* */ /* Inputs: appended contact file */ /* Output: Total number of meals required */ /* Comments: Reads contact database, and sums all the meals required of each type,example:10 vegetarian meals,2 lactosefree meals*/ /* */ /*-----------------------------------------------------------------------*/ void Djreq(struct otherc); /* */ /* Inputs: appended contact file */ /* Output: Sum of songs requested */ /* Comments: Reads contact database, and sums all the songs requested,ignores doubles or more of the same song*/ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ void OutputSpecs(); /* */ /* Inputs: None */ /* Output: Total number of meals required, and number of guests attending */ /* Comments: Reads contact database, and sums all the meals required */ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ void Reminder(); /* */ /* Inputs: None */ /* Output: Party reminder /* Comments: Sends a simple reminder on the day before the party */ */ /*-----------------------------------------------------------------------*/ data-structure declarations: // Structure for an address ------------------------------ typedef struct { String add1; // address line 1 String add2; // address line 2 String town // town String county // county String post // postcode } address; // ---------------------------------------------------- // Structure for other contact details ------------------ typedef struct { String name; int mob; // mobile phone number String email; // email address int table_one[10];// Food = 1/0, Disco-only = 1/0, Vegetarian = 1/0,kosher=1/0, halal=1/0, vegan=1/0,lactose=1/0,gluten=1/0,nuts=1/0), int addGuests; // Additional Guests brought String Djrequest[3];// 3 dj requests,"0" if none } otherc; // ---------------------------------------------------- // Variable for contact id --------------------------------- int id; // unique id of contact // Variable for contact reply status------------------- bool attenting; // boolean, 1 if attending 0 if not attending