SHOW:
|
|
- or go back to the newest paste.
1 | /* Changes relative to original post marked with comments | |
2 | * Original version at http://pastebin.com/95GwtFtP | |
3 | - | using namespace std; |
3 | + | */ |
4 | #include <iostream> | |
5 | - | int x; |
5 | + | /* don't import whole namespace with 'using namespace std;' |
6 | - | int y; |
6 | + | * just select the parts you need |
7 | - | int d; |
7 | + | */ |
8 | - | string op; |
8 | + | using std::cin; |
9 | - | int answer; |
9 | + | using std::cout; |
10 | using std::endl; | |
11 | /* include string header because string is used | |
12 | * was previously included indirectly via iostream | |
13 | - | if (op == "Mult" || "mult" || "MULT"){ |
13 | + | */ |
14 | - | d = x * y; |
14 | + | #include <string> |
15 | - | }else if (op == "Div" || "div" || "DIV"){ |
15 | + | using std::string; |
16 | - | d = x / y; |
16 | + | /* new dependency. See calc */ |
17 | - | }else if (op == "Add" || "add" || "ADD"){ |
17 | + | #include <cctype> |
18 | - | d = x + y; |
18 | + | using std::tolower; |
19 | - | }else if (op == "Sub" || "sub" || "SUB"){ |
19 | + | |
20 | - | d = x - y; |
20 | + | /* got rid of all global variables */ |
21 | - | }else{ |
21 | + | |
22 | - | cout << "Error"; |
22 | + | |
23 | - | } |
23 | + | /* convert string to lower case to simplify string matching */ |
24 | - | return d; |
24 | + | for(int i = 0; i < op.length(); ++i) |
25 | op[i] = tolower(op[i]); | |
26 | int d = 0; | |
27 | - | void printanswer() { |
27 | + | if (op == "mult") |
28 | - | answer = calc(op, x, y); |
28 | + | d = x * y; |
29 | - | cout << "Answer:" << answer; |
29 | + | else if (op == "div") |
30 | - | cout << "Parameters: " << op << x << y; |
30 | + | d = x / y; |
31 | else if (op == "add") | |
32 | - | |
32 | + | d = x + y; |
33 | else if (op == "sub") | |
34 | d = x - y; | |
35 | - | cout << "What Operation? (Mult, Div, Sub, Add)"; |
35 | + | else |
36 | - | cin >> op; |
36 | + | cout << "Error"; |
37 | - | cout << "First Number?"; |
37 | + | |
38 | - | cin >> x; |
38 | + | return d; |
39 | - | cout << "Second Number?"; |
39 | + | |
40 | - | cin >> y; |
40 | + | |
41 | - | printanswer(); |
41 | + | void printanswer(string op, int x, int y) { |
42 | int answer = calc(op, x, y); | |
43 | cout << "Answer: " << answer; | |
44 | /* add missing whitespaces between values */ | |
45 | cout << " Parameters: " << op << " " << x << " " << y; | |
46 | /* add a line break */ | |
47 | cout << endl; | |
48 | } | |
49 | ||
50 | int main() { | |
51 | string op; | |
52 | int x, y; | |
53 | cout << "What Operation? (Mult, Div, Sub, Add)"; | |
54 | cin >> op; | |
55 | cout << "First Number?"; | |
56 | cin >> x; | |
57 | cout << "Second Number?"; | |
58 | cin >> y; | |
59 | printanswer(op, x, y); | |
60 | /* add return statement. Value 0 signals normal termination */ | |
61 | return 0; | |
62 | } |