annotate calculate.cpp @ 0:12567e0a7670 default tip

initial commit
author Yasuri <yasuri@charliesmp.net>
date Sun, 04 Oct 2026 12:56:43 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
1 #include <stdexcept>
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
2 #include "calculate.h"
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
3 double calculate(double x, double y, char op) {
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
4 switch(op) {
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
5 default:
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
6 throw std::runtime_error("unknown sign");
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
7 case '*':
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
8 return x * y;
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
9 case '+':
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
10 return x + y;
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
11 case '-':
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
12 return x - y;
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
13 case '/':
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
14 if (y == 0) {
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
15 throw std::runtime_error("cannot divide by 0");
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
16 }
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
17 return x / y;
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
18 }
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
19 }
12567e0a7670 initial commit
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
20