Website Summary Files Commits Branches @commit @diff @stats
path: root / Week02 / Exercise05 / main.cpp
diff options
context:
space:
mode:
1 files changed, 49 insertions, 0 deletions
-rw-r--r--Week02/Exercise05/main.cpp49
diff --git a/Week02/Exercise05/main.cpp b/Week02/Exercise05/main.cpp
new file mode 100644
index 0000000..a79d628
--- /dev/null
+++ b/Week02/Exercise05/main.cpp
@@ -0,0 +1,49 @@
+#include <iostream>
+#include "package.h"
+#include "warehouse.h"
+
+int main() {
+ unsigned warehouseCount;
+ std::cin >> warehouseCount;
+
+ Warehouse* warehouses = new Warehouse[warehouseCount];
+
+ for (unsigned i = 0; i < warehouseCount; ++i) {
+ std::cin >> warehouses[i].ID >> warehouses[i].packageCapacity;
+ warehouses[i].packages = new Package[warehouses[i].packageCapacity];
+ }
+
+ unsigned packagesCount;
+ std::cin >> packagesCount;
+ std::cin.ignore();
+
+ for (unsigned i = 0; i < packagesCount; ++i) {
+ Package p = readPackage();
+
+
+ char warehouse;
+ std::cin >> warehouse;
+ std::cin.ignore();
+
+ for (unsigned i = 0; i < warehouseCount; ++i) {
+ if (warehouses[i].ID == warehouse) {
+ warehouses[i].storePackage(p);
+ break;
+ }
+ }
+ }
+
+ for (unsigned i = 0; i < warehouseCount; ++i) {
+ std::cout << warehouses[i].ID << ' ' << warehouses[i].storedPackages << '/' << warehouses[i].packageCapacity << std::endl;
+ for (unsigned j = 0; j < warehouses[i].storedPackages; ++j) {
+ std::cout << warehouses[i].packages[j].ID << std::endl;
+ }
+ }
+
+ for (unsigned i = 0; i < warehouseCount; ++i) {
+ delete[] warehouses[i].packages;
+ }
+ delete[] warehouses;
+
+ return 0;
+}