Программа не дает желаемого результата - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужно посчитать, сколько контейнеров и ящиков есть для заказа печенья. 75 коробок в контейнере и 24 печенья в коробке. Оба должны иметь свои указанные суммы в них, поэтому, если есть остатки, мне нужно указать, сколько ящиков не может заполнить контейнер и сколько куки осталось. Мой код зависает сразу после ввода общего количества заказанных файлов cookie.

Ввод для кода: 2001 Вывод должен быть: всего 83 ящика, 1 контейнер, 8 оставшихся ящиков и 9 оставшихся файлов cookie.

Вот мой код:

#include <iomanip>
#include <iostream>

using namespace std;

const int ContBoxes = 75;
const int BoxCookies = 24;

int main() {
    int TotCookies;
    int TotContainers = 0;
    int TotBoxes = 0;
    int RemBoxes = 0;

    cout << "Input number of cookies ordered: ";
    cin >> TotCookies;

    if (TotCookies >= 1800) {
        TotContainers += 1;
        TotCookies -= 1800;
    } else if ((TotCookies >= 24) && (TotCookies < 1800)) {
        RemBoxes += 1;
        TotCookies -= 24;
    } else if (TotCookies < 24) {
    }
    cout << "Your order consists of " << TotContainers << " Containers, "
         << TotBoxes << " Total Boxes, " << RemBoxes
         << " Boxes That couldn't fit in containers, and " << TotCookies
         << " Cookies that couldn't fit in boxes.";

    return 0;
}

1 Ответ

1 голос
/ 04 февраля 2020

Вот несколько рекомендаций, которые, надеюсь, помогут вам решить проблему. (Не говоря об этом прямо).

  • Что происходит при наличии 10000 файлов cookie? Сколько «контейнеров» будет генерировать ваш код?
  • Каково максимальное максимальное количество контейнеров, которое ваш код может иметь для любого заданного ввода?
    (Подсказка: вы увеличиваете его на единицу, один раз).
  • Теперь задайте себе те же вопросы для ящиков. ...
  • Далее следует еще один совет, но я рекомендую вам начать с ответа на эти вопросы ...

Используйте оператор деления целых чисел. Например, 50/24 даст вам 2 - это именно то, что вы ищете при назначении для ящиков ....

...