C

Hurray for my first C program that is completely working the way it is required to:
lemmon late 1
/*************************************************
* Apollo Lemmon, B00162034 Login: lemmon
* CS2132, Section 2, Sedgwick
* Assignment 5. Lists – listing men and women
* ***********************************************/



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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.