diff options
1 files changed, 25 insertions, 0 deletions
| -rw-r--r-- | Week11/Exercise02/main.cpp | 25 |
diff --git a/Week11/Exercise02/main.cpp b/Week11/Exercise02/main.cpp new file mode 100644 index 0000000..f734373 --- /dev/null +++ b/Week11/Exercise02/main.cpp @@ -0,0 +1,25 @@ +#include "Option.hpp" +#include <cmath> +#include <iostream> + +Option<double> trySqrt(double x) { + if (x < 0.0) + return Option<double>::None(); + return Option<double>::Some(sqrt(x)); +} + +int main() { + double num; + std::cin >> num; + + Option<double> numRoot = trySqrt(num); + + if (numRoot.IsSome()) { + std::cout << numRoot.Unwrap() << std::endl; + } + else { + std::cout << "Couldn't find square root!" << std::endl; + } + + return 0; +} |
