Курсовая работа: Обработка динамических структур
x=(el*)malloc(sizeof(el)); //выделение памяти под новый элемент
x2=(el*)malloc(sizeof(el)); //аналогичный действия для второго списка
printf("Введите данные на новый элемент:\n"); //ввод информационных полей
printf("Введите фамилию и инициалы автора:\n");
scanf("%s",x->inf.avt);
printf("Введите название книги:\n");
scanf("%s",x->inf.nazv);
printf("Введите год издания книги:\n");
scanf("%d",&x->inf.god);
while(x->inf.god<0)
{
printf("Год издания не может быть отрицательным числом! Введите повторно!\n");
scanf("%d",&x->inf.god);
}
printf("Введите количество экземпляров книги:\n");
scanf("%d",&x->inf.kol);
while(x->inf.kol<0)
{
printf("Количество книг не может быть отрицательным числом! Введите повторно!\n");
scanf("%d",&x->inf.kol);
}
x2->inf=x->inf; //копирование информационных полей
x2->inf.kol=0; //в начале количество выданных книг-0
printf("Новый элемент добавлен!\n");
x->next=NULL; //обнуление указателя на следующий элемент добавляемого элемента
cur->next=x; //последний (пока что последний)элемент списка указывает на следующий элемент (добавляемый)
x->pred=cur; //указатель на предыдущий элемент нового элемента равен последнему
cur=x; //теперь добавленный элемент-последний
x2->next=NULL; //аналогично для второго списка