• Предмет: Информатика
  • Автор: savelenko44
  • Вопрос задан 4 месяца назад

Реализовать программу расчета заказа в кафетерии при условии, что заказ может быть на несколько человек и каждый клиент формирует
свою часть заказа. Необходимо спросить у пользователя на сколько человек заказ. Далее каждому человеку выводиться меню

(названия напитков, кондитерских изделий и их цена) и он выбирает. Предусмотреть возможность выбора нескольких элементов меню для

клиента, если он желает добавить еще что-то в свой заказ. Результат работы программы — итоговая сумма общего заказа всей компании.

Написать код на языке С++ ( ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ)

Ответы

Ответ дал: bogatyrev895
0

Ответ:

#include <iostream>

#include <string>

#include <vector>

#include <random>

int main() {

   std::vector<std::string> menu = {"Кофе", "Чай", "Круассан", "Пирожное", "Кекс"};

   std::vector<int> prices = {50, 30, 70, 40, 20};

   std::random_device rd;  // инициализация генератора случайных чисел

   std::mt19937 gen(rd());

   std::uniform_int_distribution<> distrib(1, 5);

   std::cout << "Сколько человек в вашей компании? ";

   int num_people;

   std::cin >> num_people;

   int total_price = 0;

   for (int i = 0; i < num_people; i++) {

       std::cout << "Меню для человека " << i+1 << ":\n";

       for (int j = 0; j < menu.size(); j++) {

           std::cout << j+1 << ". " << menu[j] << " - " << prices[j] << " руб.\n";

       }

       std::vector<int> order(menu.size(), 0);  // создаем пустой заказ

       while (true) {

           std::cout << "Введите номер пункта меню для добавления в заказ (или 0 для завершения): ";

           int choice;

           std::cin >> choice;

           if (choice == 0) {

               break;

           }

           order[choice-1]++;  // добавляем выбранный пункт меню в заказ

       }

       int person_price = 0;

       for (int j = 0; j < order.size(); j++) {

           person_price += order[j] * prices[j];  // считаем стоимость заказа одного человека

       }

       std::cout << "Стоимость заказа человека " << i+1 << ": " << person_price << " руб.\n";

       total_price += person_price;  // добавляем стоимость заказа одного человека к общей стоимости заказа

   }

   std::cout << "Общая стоимость заказа: " << total_price << " руб.\n";

   return 0;

}

Объяснение:

В данном примере создается вектор с названиями пунктов меню menu и соответствующими им ценами prices. Затем с помощью генератора случайных чисел запрашивается у пользователя количество людей в компании и для каждого человека выводится меню, из которого он может выбрать нужные ему пункты. Заказ каждого человека записывается в вектор order, который после этого используется для подсчета стоимости заказа одного человека. Общая стоимость заказа рассчитывается путем суммирования стоимостей заказов каждого человека.


slonce70: Дружище, если не хочешь получить бан на сайте, переставай юзать АИ. Тут за такое банят. Проверил все твои сегодняшние ответы - все АИ. Зачем?
Вас заинтересует