diff options
| -rw-r--r-- | ex06/Harl.cpp | 31 | ||||
| -rw-r--r-- | ex06/Makefile | 2 | ||||
| -rw-r--r-- | ex06/main.cpp | 13 |
3 files changed, 30 insertions, 16 deletions
diff --git a/ex06/Harl.cpp b/ex06/Harl.cpp index fcad030..f5cced8 100644 --- a/ex06/Harl.cpp +++ b/ex06/Harl.cpp @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/12 10:37:12 by dkaiser #+# #+# */ -/* Updated: 2025/02/12 11:29:15 by dkaiser ### ########.fr */ +/* Updated: 2025/02/12 13:38:42 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,14 +16,29 @@ void Harl::complain(std::string level) { std::string levels[4] = {"DEBUG", "INFO", "WARNING", "ERROR"}; - void (Harl::*funcs[4])() = {&Harl::debug, - &Harl::info, - &Harl::warning, - &Harl::error}; - for (int i = 0; i < 4; i++) + + int i = 0; + while (level != levels[i]) { - if (level == levels[i]) - (this->*funcs[i])(); + if (i > 3) + break; + i++; + } + switch (i) + { + case 0: + this->debug(); + case 1: + this->info(); + case 2: + this->warning(); + case 3: + this->error(); + break; + default: + std::cout << "[ Probably complaining "; + std::cout << "about insignificant problems ]" << std::endl; + break; } } diff --git a/ex06/Makefile b/ex06/Makefile index 2696d22..6e681b7 100644 --- a/ex06/Makefile +++ b/ex06/Makefile @@ -2,7 +2,7 @@ ################################## VARIABLES ################################### ################################################################################ -NAME := harl +NAME := harlFilter CC = c++ CFLAGS = -Wall -Wextra -Werror -std=c++17 diff --git a/ex06/main.cpp b/ex06/main.cpp index 1180187..a8bdaba 100644 --- a/ex06/main.cpp +++ b/ex06/main.cpp @@ -6,19 +6,18 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/12 10:35:53 by dkaiser #+# #+# */ -/* Updated: 2025/02/12 11:35:27 by dkaiser ### ########.fr */ +/* Updated: 2025/02/12 13:32:01 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ #include "Harl.hpp" -int main(void) +int main(int argc, char *argv[]) { Harl harl = Harl(); - harl.complain("DEBUG"); - harl.complain("INFO"); - harl.complain("WARNING"); - harl.complain("ERROR"); - harl.complain("Invalid Input"); + if (argc != 2) + return 1; + + harl.complain(argv[1]); } |
