This is a linked list meaning the last element should always point to NULL
Code:
int main(void) {
srand ( time(NULL) );
BOOK books; // Both of these should be stored as pointers and malloc should be used to make things easier for myself but when I switch it and make the necessary changes, the program still crashes
MEMBER club;
club.next = NULL;
books.ISBN[0] = 'a';
books.next = &books;
..........
Code:
if (userInput == 1) { // Let's add a new member!
char fName[32];
char mInit;
char lName[32];
char phoneNum[13];
printf("Please enter the user's first name\n");
getUserInputString(32, fName); //this function works for sure
printf("Please enter the user's middle inital\n");
getUserInputString(1, &mInit);
printf("Please enter the user's last name\n");
getUserInputString(32, lName);
printf("Please enter the user's phone number\n");
getUserInputString(13, phoneNum);
memberInsert(&club, fName, mInit, lName, phoneNum);
Code:
MEMBER* memberInsert(MEMBER* memberStart, char fname[], char mInit, char lname[], char phonenum[]) {
MEMBER *newMember = (MEMBER*) malloc(sizeof(MEMBER));
strcpy((newMember->name).firstname, fname);
strcpy(newMember->name.lastname, lname);
newMember->name.intial = mInit;
strcpy(newMember->telephone, phonenum);
return insertMember(memberStart, newMember);
}
Code:
MEMBER* insertMember(MEMBER *memberStart, MEMBER *newMember) {
MEMBER* currentMem = memberStart;
if ((memberStart->telephone)[0] == 'a') {
memberStart = newMember;
return memberStart;
}
while (currentMem->next != NULL)
currentMem = currentMem->next;
currentMem->next = newMember;
return memberStart;
}

