1 Востаннє редагувалося koala (16.02.2019 11:01:31)

Тема: Лінійні односвзязні списки

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;
}

2

Re: Лінійні односвзязні списки

почни з push та pop

3

Re: Лінійні односвзязні списки

Повідомлення про помилки можуть залежати, зокрема, від компілятора та різних проблем на вашому комп'ютері. Будь ласка, наводьте повний текст таких повідомлень, щоб ми змогли вам допомогти. Бо дуже важко по коду відгадати, що компілятор повідомляє, наприклад, що закінчилося місце на диску.