Задача ** побитые операции в c++ В пиццерии для заказа пиццы используют стенд заказов, **...

+390 голосов
6.7m просмотров

Задача на побитые операции в c++ В пиццерии для заказа пиццы используют стенд заказов, на котором посетители выбирают ингредиенты. Возможные ингредиенты: помидоры, ветчина, грибы, сыр, ананасы, креветки и лук; выбранные ингредиенты записываются в одну переменную как битовые флаги. Пункт А. Создайте константы для обозначения флагов для ингредиентов. С их помощью создайте и запишите в переменную заказ на пиццу с помидорами, ветчиной и луком. Остальные пункты. Выполняются произвольно, в любом порядке и количестве. Во всех пунктах предполагается, что в переменной pizza записан некоторый (произвольный) заказ. Пункт B. Посчитайте и выведите общее количество ингредиентов в заказе. Пункт C. В пиццерии проводится акция: во все пиццы добавляется сыр. Установите соответствующий флаг. В пиццерии закончились креветки. Сбросьте соответствующий флаг. На стенде перепутали подписи у кнопки заказа ананасов. Поменяйте соответствующий флаг на протиповоложный. Пункт D. Новая акция: каждый, заказавший грибы, получает к ним лук. Установите флаг для лука, если в заказе установлен флаг для грибов. Условные операторы if, switch, циклы и тернарная операция всё ещё запрещены.


Информатика | 6.7m просмотров
+137

А если ты думаешь, что можешь просто скинуть разжёвывание задачи на откуп отвечающим, то дохeра хочешь

+74

Хочешь получить ответ? Задай вопрос так, чтобы люди понимали, что на входе, что на выходе.

+117

Почему я должен это угадывать

+44

Я не понимаю, что за пункты

Дан 1 ответ
+111 голосов

Ответ:

Программа представлена на скрине.

Далее под константой будет пониматься макроопределение (символическая константа)

Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.

int ingredientsCount(Pizza&); - возвращает количество ингредиентов.

void addCheese(Pizza&); - добавляет в заказ сыр

void removeOnion(Pizza&); -  убирает из заказа лук

void togglePineapple(Pizza&);  - переключает ананасы

void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы

(3.9k баллов)