From 38cbad06b849ab53e5629ac076047bc150f42b29 Mon Sep 17 00:00:00 2001 From: SanJacobs Date: Mon, 3 Oct 2022 19:38:23 +0200 Subject: Initial commit --- main.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 main.cpp (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..0f41258 --- /dev/null +++ b/main.cpp @@ -0,0 +1,37 @@ +#include +#include +#include + +int main(int argc, char *argv[]){ + if(argc==2) { + std::cout << std::fixed; + float printable{std::stof(argv[1])}; + std::cout << std::setprecision(std::numeric_limits::max_digits10 + 2); + std::cout << printable << std::endl; + } else if(argc==3) { + std::string floatsize{argv[2]}; + if(floatsize=="f") { + std::cout << std::fixed; + float printable{std::stof(argv[1])}; + std::cout << std::setprecision(std::numeric_limits::max_digits10 + 2); + std::cout << printable << std::endl; + } else if (floatsize=="d") { + std::cout << std::fixed; + double printable{std::stod(argv[1])}; + std::cout << std::setprecision(std::numeric_limits::max_digits10 + 2); + std::cout << printable << std::endl; + } else if (floatsize=="ld") { + std::cout << std::fixed; + long double printable{std::stold(argv[1])}; + std::cout << std::setprecision(std::numeric_limits::max_digits10 + 2); + std::cout << printable << std::endl; + } else { + std::cerr << "That's not a valid floatsize. The only valid sizes are: f, d and ld." << std::endl; + return 1; + } + } else { + std::cerr << "Incorrect number of arguments." << std::endl; + return 1; + } + return 0; +} -- cgit v1.2.1