aboutsummaryrefslogtreecommitdiff
path: root/week03/exercise10.cpp
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2023-11-02 15:00:22 +0200
committerSyndamia <kamen@syndamia.com>2023-11-02 15:00:22 +0200
commitd09b1a288ae51fe2e141676948d225296f2f7d72 (patch)
tree7e3666545c04c4602be5374859001bf03e98f4b3 /week03/exercise10.cpp
parentfbbe586d25b1ebaf66fe2e92e1986bb5debf961d (diff)
downloadupp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.tar
upp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.tar.gz
upp-2023-solutions-d09b1a288ae51fe2e141676948d225296f2f7d72.zip
[w3] Added solutions
Diffstat (limited to 'week03/exercise10.cpp')
-rw-r--r--week03/exercise10.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/week03/exercise10.cpp b/week03/exercise10.cpp
new file mode 100644
index 0000000..0b7ef87
--- /dev/null
+++ b/week03/exercise10.cpp
@@ -0,0 +1,32 @@
+#include <iostream>
+
+int main() {
+ int current = 0, memory = 0, temp = 0;
+ std::cin >> current;
+ char buff;
+ bool printMem = false;
+ while (true) {
+ std::cin >> buff;
+ switch (buff) {
+ case 'a': memory += current; printMem = true; break;
+ case 's': memory -= current; printMem = true; break;
+ case 'm': memory = 0; printMem = true; break;
+
+ case 'c': current = 0; std::cout << current << std::endl; continue;
+ }
+ if (printMem) {
+ std::cout << memory << std::endl;
+ printMem = false;
+ continue;
+ }
+
+ std::cin >> temp;
+ switch (buff) {
+ case '+': current += temp; break;
+ case '-': current -= temp; break;
+ case '*': current *= temp; break;
+ case '/': current /= temp; break;
+ }
+ std::cout << current << std::endl;
+ }
+}