Моя проблема в том, что я хотел создать связанный список со структурой студента.
Я попытался несколько вещей, чтобы исправить это, но все попытки потерпели неудачу.
Это дает ошибки в строке 14 и 16, я искал в Google это и нашел подсказки, которые не решают мою проблему.
Я новичок, поэтому у меня не такой хороший опыт.
Теперь я полностью застрял в it ...
Редактировать:
Следующие ошибки выдаются
12 1 [Предупреждение] расширенные списки инициализаторов доступны только с -std = c ++ 11 или -std = gnu ++ 11
14 8 [ошибка] ожидаемое первичное выражение до токена '*'
14 23 [ошибка] ожидаемое первичное выражение до 'int'
14 37 [Ошибка] ожидаемое первичное выражение до '*' токена
14 42 [Ошибка] 'insert_bottom' не было объявлено в этой области
14 43 [Ошибка] ожидается "}" раньше ';' токен
16 18 [ошибка] ожидался неквалифицированный идентификатор перед '{' токеном
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct student{
char lastname[30];
char firstname[30];
int id_enrollment;
} Node;
struct node *head
{
node *insert_bottom(int num, node *head);
node *current_node = head;
node *new_node;{
while ( current_node != NULL && current_node->next != NULL);
current_node = current_node->next;
{
new_node = (Node *) malloc(sizeof(Node));
new_node->id_enrollment = num;
new_node->firstname = char;
new_node->lastname = char;
new_node->next= NULL;
if (current_node != NULL)
current_node->next = new_node;
else
head = new_node;
}
return head;
};
print(Node *head) {
Node *current_node = head;
while ( current_node != NULL) {
printf("%d ", current_node->data);
current_node = current_node->next;
}
}
int main()
{
while(1) {
printf("\n ***********************************");
printf("\n * Linked list operations: *");
printf("\n * 1. Show all *");
printf("\n * 2. Add element *");
printf("\n * 3. Quit *");
printf("\n ***********************************\n");
printf("\n Choose an option [1-3] : ");
if (scanf("%d", &option) != 1) {
printf(" *Error: Invalid input. Try again.\n");
scanf("%s", &temp);
continue;
}
switch (option) {
case 1:
struct student p1 = {"David","Brown",1};
struct student p2, p3;
p2.id_enrollment = 2;
strcpy(p2.firstname,"Sam");
strcpy(p2.lastname,"Sam");
p3.id_enrollment = 3;
strcpy(p3.firstname,"Addy");
strcpy(p3.lastname,"Sam");
printf("First Student\n");
printf("id_enrollment : %d\n", p1.id_enrollment);
printf("firstname : %s\n", p1.firstname);
printf("lastname : %s\n", p1.lastname);
printf("Second Student\n");
printf("id_enrollment : %d\n", p2.id_enrollment);
printf("firstname : %s\n", p2.firstname);
printf("lastname : %s\n", p2.lastname);
printf("Third Student\n");
printf("id_enrollment : %d\n", p3.id_enrollment);
printf("firstname : %s\n", p3.firstname);
printf("lastname : %s\n", p3.lastname);
case 2: /* Show all elements */
printf("\nElements in the list: \n [ ");
print(head);
printf("]\n\nPress any key to continue...");
getch();
break;
case 3: /* Exit */
return(0);
break;
return 0;
}