Тема: Лінійні односвзязні списки
Koala: додав теги [ code ]. Наступного разу робіть це самі.
Потрібна допомога. Завдання потрібно створити список книг(назва автор к-сть сторінок рік випуску та стиль). Вивести спочатку ввесь список, а потім дані про книгу автора якої ми вводимо. На початку вже десь зявились помилки, у коді поки тільки 2 частини завдання і коли вирішив просто перевірити, щось пішло не так. Допоможіть мій код нижче
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#include<Windows.h>
#include <math.h>
 
struct book
{
    char nazva[30], autor[30], style[20];
    int year, pages;
    struct book *next;
};
struct book *poperedbook, *element, *first, *ostaniy;
 void Stvorenya(void)
{
    element = (struct book*)malloc(sizeof(struct book));
    first = element;
    do
    {
        poperedbook = element;
        printf(" Вкажіть назву книги, автора, кількіть сторінок, рік випуску та стиль");
        scanf("%s,%s,%d,%d,%s", element->nazva, element->autor, &element->pages, &element->year, element->style);
        element->next=(struct book*)malloc(sizeof(struct book));
        element = element->next;
    } 
    while (poperedbook->pages != 0 || poperedbook->year != 0);
    {
        ostaniy = poperedbook;
        poperedbook->next = NULL;
    }
}
void Vuvedenya(void)
{
    element = first;
    while (element != NULL)
    {
        printf(" Назва книги %s, автор -- %s кількість сторінок --%d рік випуску --%d стиль -- %s ",element->nazva, element->autor,element->pages,element->year,element->style);
        poperedbook = element;
        element = element->next;
    }
}
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    printf("Створюємо список книг \n");
    printf("Для завершення введення списку введіть всі нулі \n");
    Stvorenya();
    printf("Введений список книг матиме наступний вигляд \n");
    Vuvedenya();
    printf("Введіть автора дані про книгу якого ви хочете отримати \n");
    return 0;
}