DataType OutRight (Deque *pDeque)
{
int temp = pDeque->right;
pDeque->right = pDeque->right ? pDeque->right - 1 : MAXLENGTH - 1;
return pDeque->data[temp];
}
Программа тестирования должна
включать в себя следующие инструкции:
- добавление элементов в структуру с фиксацией результата (добавление
произошло или нет). Если структура данных – дек, добавление элементов
должно осуществляться с обоих открытых концов;
- извлечение элемента из структуры с фиксацией результата (извлекли или
нет). Если структура данных – дек, извлечение элементов должно
осуществляться с обоих открытых концов;
- проверка пустоты структуры;
- проверка заполненности структуры.
Структура данных – дек с ограниченным входом.
Напишите программу для моделирования работы конвейера по упаковке
кофе в банки. Банки, заполненные не менее номинального объема,
закупориваются и отправляются на склад, отбракованные снимаются с
конвейера, и кофе возвращается в развесочный автомат.
Пояснения к заданию. Начальный объем кофе в развесочном автомате и
номинальный объем банки задаются пользователем. В цикле, пока не
закончится кофе, производится наполнение банок с некоторой погрешностью
и отправка их на ленту конвейера (в дек). Как только банка поставлена, она
проверяется контролирующим автоматом и при недостаточном наполнении
снимается с конвейера (извлекается из дека с того же конца). Когда первая
наполненная банка доезжает до закупоривающего автомата (дек полон), она
снимается с ленты конвейера (извлекается с другого конца дека). Когда кофе в
развесочном автомате закончится, лента конвейера продолжает движение, пока
все банки не будут отправлены на склад (пока дек не опустеет). Каждое
действие (столько-то кофе насыпано; недосып – банка извлечена, кофе
возвращено в автомат; банка такого-то объема отправлена на склад; кофе в
развесочном автомате закончилось; все банки отправлены на склад) должно
сопровождаться выводом соответствующего сообщения на экран.