Привет, я пытаюсь создать программу ЕДИНОСвязный список, в которой есть 2 структуры.
Существует структура, которая содержит информацию о сотруднике; нравится
typedef struct{
int ID; //Employee ID, randomly generated 4 digit integer
char *firstName[25]; //Employee's first name
char *lastName[35]; //Employess's last name
char status; //AM/PM status, if valueof char:1=AM Employee,0=PM Employee
}EMPLOYEE;
Затем есть структура связанного списка, которая содержит структуру информации о сотруднике И ссылку на структуру связанного списка (я назвал ее далее); это выглядит так:
struct LinkedList{
EMPLOYEE employee;
struct LinkedList *next;
};
В функции main () мне нужно создать ДВА узла заголовка связанного списка, потому что у меня должно быть ДВА связанных списка, один для сотрудников AM и один для сотрудников PM, поэтому я сделал следующее:
void main() {
struct LinkedList *AMHead = NULL; //I made this NULL for now, they will be allocated in create a LinkedListNode function.
struct LinkedList *PMHead = NULL;
}
Так что сейчас у меня возникли трудности. Затем есть функция, которая создает узел связанного списка, у него не может быть параметров. Он будет использовать выделение памяти для создания узла, затем я запрошу пользователя информацию о сотруднике и инициализирую часть структуры сотрудника узла связанного списка с данной информацией. Затем я установлю следующий указатель на NULL и верну указатель на этот новый узел. Вот что я написал до сих пор:
void createLinkedListNode(){
struct LList *node = (struct LList)*malloc(sizeof(struct LList));
//node created by allocating memory to struct
//prompt for all info required in employee struct
printf("Enter ID:\n");
printf("Enter first name:\n");
printf("Enter last name:\n");
printf("Enter status:\n");
};
Итак, мои вопросы: нужно ли мне создавать 2 узла? Один для списка AM, а другой для списка PM, или я могу использовать один и тот же узел для обоих. А затем как мне инициализировать структуру сотрудника и сохранить прочитанную информацию. И правильно ли я создал структуры и головные узлы, потому что у меня есть 2 связанных списка в программе односвязных списков. Что-нибудь, что я должен исправить, или как-нибудь сделать код лучше?
fgets
для чтения ввода, что-то вродеfgets(node->firstName, sizeof(node->firstName), stdin);
Упростите и используйте только одно изEMPLOYEE
иLList
- person Ôrel   schedule 13.04.2015