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 .
#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!
Learn more about our help with Assignments:
C++