]> git.dkaiser.de - 42/cpp01.git/commitdiff
Implement harlFilter main
authorDominik Kaiser <dkaiser@student.42heilbronn.de>
Wed, 12 Feb 2025 12:40:19 +0000 (13:40 +0100)
committerDominik Kaiser <dkaiser@student.42heilbronn.de>
Wed, 12 Feb 2025 12:40:19 +0000 (13:40 +0100)
ex06/Harl.cpp
ex06/Makefile
ex06/main.cpp

index fcad030d19e60865cb1d8307c01a58191fbabf3b..f5cced860b1010ae6321d55277de5a633fd39683 100644 (file)
@@ -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       */
 /*                                                                            */
 /* ************************************************************************** */
 
 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;
     }
 }
 
index 2696d224d79aa77c94b9f25d8898a21bd8bbe74c..6e681b7d784df5a1b2a0024bb356f340bf2e136f 100644 (file)
@@ -2,7 +2,7 @@
 ################################## VARIABLES ###################################
 ################################################################################
 
-NAME    := harl
+NAME    := harlFilter
 
 CC      =  c++
 CFLAGS  =  -Wall -Wextra -Werror -std=c++17
index 1180187233777658cf289b05ff8a435654767174..a8bdaba3f1eedd28514dbab9253ef66e70905d9d 100644 (file)
@@ -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]);
 }