lemmon late 1
/*************************************************
* Apollo Lemmon, B00162034 Login: lemmon
* CS2132, Section 2, Sedgwick
* Assignment 5. Lists – listing men and women
* ***********************************************/
#include
#include
#define NOM_MAX 100 /* sets max length of words at 100 */
/* assume no need to garbage collect nodes because they are never removed from the list */
/* Node type defined */
struct node { char name[NOM_MAX]; struct node* next; };
typedef struct node Node;
/* newNode function for use each time a node is created */
Node* newNode(char* in, Node* nexie)
{
Node* danode;
danode = (Node*) malloc(sizeof(Node));
strncpy(danode->name, in, NOM_MAX);
danode->next = nexie;
return danode;
}
main()
{
/*declares variables*/
Node* maleListHead;
Node* femaleListHead;
Node* maleTail;
Node* femaleTail;
Node* current;
char buffer[BUFSIZ];
int i;
int j;
int k;
char* malenom;
char* femalenom;
/*takes in the first 2 people*/
if (gets(buffer))
{
femalenom = strtok(buffer, ” “);
malenom = strtok(NULL, ” “);
femaleListHead = newNode(femalenom, NULL);
maleListHead = newNode(malenom, NULL);
femaleTail = femaleListHead;
}
/*takes in the rest of the people*/
while(gets(buffer))
{
femalenom = strtok(buffer, ” “);
malenom = strtok(NULL, ” “);
femaleTail->next = newNode(femalenom, NULL);
femaleTail = femaleTail->next;
maleListHead = newNode(malenom, maleListHead);
}
current = femaleListHead;
puts(“————(Female List)————“);
/*Prints Female List*/
while(current != NULL)
{
puts(current->name);
current = current->next;
}
current = maleListHead;
puts(“————(Male List)————“);
/*Prints Male List*/
while(current != NULL)
{
puts(current->name);
current = current->next;
}
return 0;
}
————————-output A5.dat———
————(Female List)————
Jane
Nancy
Meng
Laura
————(Male List)————
Sigis
James
Allan
Art
————————-output A5Empty.dat———
————————-output one line———
————(Female List)————
Jane
————(Male List)————
Art