-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrecurse_balance.cpp
More file actions
40 lines (40 loc) · 925 Bytes
/
recurse_balance.cpp
File metadata and controls
40 lines (40 loc) · 925 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
char calculator_loop(int balance) {
char c = 'c';
while (c == 'c') {
cout << "Balance: " << balance << endl;
cin >> c;
if (c == '+' || c == '-') {
int n;
cin >> n;
if (c == '+')
c = calculator_loop(balance + n);
else
c = calculator_loop(balance - n);
}
else
return c;
}
return c;
}
char calculator(int balance) {
cout << "Balance: " << balance << endl;
char c;
cin >> c;
if (c == '+' || c == '-') {
int n;
cin >> n;
if (c == '+')
c = calculator(balance + n);
else
c = calculator(balance - n);
if (c == 'c')
c = calculator(balance);
}
return c;
}
int main() {
calculator(0);
return 0;
}