>
strcat (stroka, ";"); stroka ;//повертаємо назад рядок
}
};
// клас масиву газет. Містить оболонку для управління масивом газетProkat
{* first ;//вказує на перший елемент масиву * last ;//вказує на останній елемент массіваKol;
// функція для видалення конкретного елементаDel (Unit * s)
{i; ("Ви дійсно хочете видалити елемент% s? n", s-> get_Name ()); ("1 - Так n"); ("2 - Ні n" ); (stdin); ("% d", & i); (i == 1)// якщо користувач підтвердив видалення, то
{(s == this-> first)// якщо ми видаляємо перший елемент, то
{> first = s-> next ;//першим стає наступний
}
{> prev-> next = s-> next ;//поля next для попереднього елемента необхідно прив'язати до наступного елементу
} (s == this-> last)// якщо ми видаляємо останній елемент, то
{> last = s-> prev ;//останнім стає предищущій
}
{> next-> prev = s-> prev ;//поле prev для следующго елемента необхідно прив'язати до попереднього елемента
} s ;//видаляємо елемент ("Елемент видалено n"),
} -;
}:
// конструктор без параметрів ()
{= NULL ;//в усі поля записуються значення за замовчуванням = NULL; = 0;
}
// Функція для додавання елемента в массівAdd_Unit (Unit * s)
{(first == NULL)// якщо масив був порожній, то = s ;//рахуємо що першим елементом є елемент s (last! = NULL)// якщо маса не був порожній, то> next = s; // говоримо, що поточний s є наступним для попереднього елемента.> prev = last ;//для поточного елемента попереднім є той елемент, на який посилається last = s ;//говоримо що додається елемент є останнім у масиві
Kol + +;
}
// Функція для видалення елемента із масиву (діалог з користувачем) Del_Unit (void)
{s [30]; ("Введіть ім'я елемента для видалення:"); (stdin); (s); * temp ;//оголошуємо Тимчасової покажчик на Елемент = first ;//першим перевіряємо елемент, на який вказує first (temp == NULL)// якщо виявиться, що в масиві немає елементів, то
{;//виходимо з функції
}
if (strcmp (temp-> get_Name (), s) == 0)
{> Del (temp) ;//видаляємо елемент за всіма правилами;
} (temp-> next! = NULL)// цикл
{= temp-> next ;//беремо черговий елемент (strcmp (temp-> get_Name (), s) == 0)
{> Del (temp) ;//видаляємо елемент за всіма правилами;
}
} ("У прокаті немає товару з ім'ям% s", s);
}
// Функція відображає всі елементи, що знаходяться в массівеShowAll ()
{* temp ;//оголошуємо Тимчасової покажчик на елемент = first ;//першим буде елемент, на який вказує first (temp == NULL)// якщо виявиться, що в масиві немає елементів, то
{;//виходимо з функції
} () ;//відображаємо шапку> Draw () ;//виводимо перший елемент (temp-> next! = NULL)// цикл
{= temp-> next ;//говоримо, що потім нам потрібно буде виводити той елемент, на який посилається поле next...