From a653ad05a95e885b6630168facbd7d5e2db16645 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 9 Feb 2022 12:25:12 +0100 Subject: [PATCH] d01 ok --- d01/ex06/Karen.cpp | 38 ++++++++++++++++++++++++++ d01/ex06/Karen.hpp | 27 +++++++++++++++++++ d01/ex06/Makefile | 62 +++++++++++++++++++++++++++++++++++++++++++ d01/ex06/karenFilter | Bin 0 -> 36528 bytes d01/ex06/main.cpp | 41 ++++++++++++++++++++++++++++ 5 files changed, 168 insertions(+) create mode 100644 d01/ex06/Karen.cpp create mode 100644 d01/ex06/Karen.hpp create mode 100644 d01/ex06/Makefile create mode 100755 d01/ex06/karenFilter create mode 100644 d01/ex06/main.cpp diff --git a/d01/ex06/Karen.cpp b/d01/ex06/Karen.cpp new file mode 100644 index 0000000..2aeec72 --- /dev/null +++ b/d01/ex06/Karen.cpp @@ -0,0 +1,38 @@ +#include "Karen.hpp" + + +Karen::Karen() { + + _fp[0] = &Karen::_debug; + _fp[1] = &Karen::_info; + _fp[2] = &Karen::_warning; + _fp[3] = &Karen::_error; + + _level[0] = "DEBUG"; + _level[1] = "INFO"; + _level[2] = "WARNING"; + _level[3] = "ERROR"; + + return; + +} +Karen::~Karen() {return;} + +void Karen::complain( std::string level ) { + + int size; + + size = sizeof(this->_level) / sizeof(this->_level[0]); + + for (int i = 0; i < size; i++) + { + if (level.compare(this->_level[i]) == 0) + (this->*_fp[i])(); + } + +} + +void Karen::_debug( void ) {std::cout << "debug" << '\n';} +void Karen::_info( void ) {std::cout << "info" << '\n';} +void Karen::_warning( void ) {std::cout << "warning" << '\n';} +void Karen::_error( void ) {std::cout << "error" << '\n';} diff --git a/d01/ex06/Karen.hpp b/d01/ex06/Karen.hpp new file mode 100644 index 0000000..7385055 --- /dev/null +++ b/d01/ex06/Karen.hpp @@ -0,0 +1,27 @@ +#ifndef KAREN_HPP +# define KAREN_HPP + +#include + +class Karen { + +public: + + Karen(); + ~Karen(); + + void complain( std::string level ); + +private: + + void (Karen::*_fp[4])(); + std::string _level[4]; + + void _debug( void ); + void _info( void ); + void _warning( void ); + void _error( void ); + +}; + +#endif diff --git a/d01/ex06/Makefile b/d01/ex06/Makefile new file mode 100644 index 0000000..43d12d0 --- /dev/null +++ b/d01/ex06/Makefile @@ -0,0 +1,62 @@ +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . name = value . name is case sensitive # +# VARIABLES . or name = value \ . use VPATH only for .c # +# . value . or .cpp # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +NAME = karenFilter + +CC = clang++ +CFLAGS = -Wall -Wextra -Werror $(INCLUDES) -std=c++98 -g3 + +VPATH = $(D_SRCS) + +LIBS = + +INCLUDES = -I$(D_HEADERS) + +D_SRCS = . +SRCS = main.cpp \ + Karen.cpp + +D_HEADERS = . +HEADERS = Karen.hpp + +D_OBJS = builds +OBJS = $(SRCS:%.cpp=$(D_OBJS)/%.o) + +RM_D_OBJS = rm -rf $(D_OBJS) +ifeq "$(D_OBJS)" "." +RM_D_OBJS = +endif + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . target: prerequisites . $@ : target # +# RULES . recipe . $< : 1st prerequisite # +# . recipe . $^ : all prerequisites # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +all: $(NAME) + +$(D_OBJS)/%.o: %.cpp | $(D_OBJS) + $(CC) $(CFLAGS) -c $< -o $@ + +$(D_OBJS): + mkdir $@ + +$(OBJS): $(HEADERS:%=$(D_HEADERS)/%) + +$(NAME): $(OBJS) + $(CC) $(OBJS) -o $@ $(LIBS) + +clean: + rm -f $(OBJS) + +fclean: clean + rm -f $(NAME) + $(RM_D_OBJS) + +re: fclean all + +.PHONY : all clean fclean re bonus run valgrind diff --git a/d01/ex06/karenFilter b/d01/ex06/karenFilter new file mode 100755 index 0000000000000000000000000000000000000000..00922f7069ee125d3ce029615671af353ae5da6e GIT binary patch literal 36528 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 +#include + +int main(int ac, char *av[]) +{ + Karen karen; + std::string level[4] = { "DEBUG", "INFO", "WARNING", "ERROR" }; + int i; + + if (ac != 2) + return (1); + + for (i = 0; i < 4; i++) + if (level[i].compare(av[1]) == 0) + break; + + switch (i) + { + case (0): + std::cout << "[ DEBUG ]" << '\n'; + karen.complain("DEBUG"); + std::cout << '\n'; + case (1): + std::cout << "[ INFO ]" << '\n'; + karen.complain("INFO"); + std::cout << '\n'; + case (2): + std::cout << "[ WARNING ]" << '\n'; + karen.complain("WARNING"); + std::cout << '\n'; + case (3): + std::cout << "[ ERROR ]" << '\n'; + karen.complain("ERROR"); + break ; + default: + std::cout << "[ Probably complaining about insignificant problems ]" << '\n'; + } + + return (0); +}