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.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)