Answer to Question #52121 in C++ for Fragrance

Question #52121
Using the STL stack
In a given company an employee receives successive quantities of wheat and puts them in a containers of 20kg .Let us suppose that once a container is full , it is closed and then a new container is used. We want to write a C++ program that stimulate the work of employee . The program will ask the user to enter consecutive quantities of wheat . These quantities will be stored in a stack . Once 20kg of wheat is gathered the existing elements in the stack are removed . The stack will keep only the remaining quantity that could not be put in the container. The program will continue asking to enter new quantities until 5 containers are filled .
1
Expert's answer
2015-06-04T03:35:09-0400
#include <iostream>
#include <stack>
using namespace std;
int main() {
    stack<int> rest;
    int containerNumber = 1;
    int containerSum = 0;
    int quantity;
    while (containerNumber <= 5) {
        cout << "Enter quantity: ";
        cin >> quantity;
        rest.push(quantity);
        quantity = rest.top();
        rest.pop();
        if (quantity + containerSum <= 20) {
            containerSum += quantity;
        } else {
            rest.push(quantity);
        }
        if (containerSum == 20) {
            cout << "Container " << containerNumber << " is filled." << endl;
            containerNumber++;
            containerSum = 0;
            while (!rest.empty()) {
                rest.pop();
            }
        }
    }
    return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

Alex
27.04.20, 11:00

Good job, but there is an error, if the user entered a number grater than 20 like 25 the program will never stop asking for a number. it should be like: if insert 25 container 1: full container 2: 5

Leave a comment

LATEST TUTORIALS
APPROVED BY CLIENTS