From e76d67dec7e2f494646c5200d4ac5710fd7d752d Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 17 Mar 2022 12:01:13 +0100 Subject: [PATCH] d05 ex03 handle weird request as long as they contains form name --- d05/ex03/headers/Intern.hpp | 4 ++++ d05/ex03/interns | Bin 0 -> 62456 bytes d05/ex03/main.cpp | 20 ++++++++++++++----- d05/ex03/sekoia_shrubbery | 17 +++++++++++++++++ d05/ex03/srcs/Intern.cpp | 37 ++++++++++++++---------------------- 5 files changed, 50 insertions(+), 28 deletions(-) create mode 100755 d05/ex03/interns create mode 100644 d05/ex03/sekoia_shrubbery diff --git a/d05/ex03/headers/Intern.hpp b/d05/ex03/headers/Intern.hpp index 59b03d5..44d462b 100644 --- a/d05/ex03/headers/Intern.hpp +++ b/d05/ex03/headers/Intern.hpp @@ -4,6 +4,8 @@ # include "colors.h" # include # include +# include // trasnform +# include // tolower # include # include @@ -34,6 +36,8 @@ private: static AForm * makePresidential(std::string const &target); static AForm * makeRobotomy(std::string const &target); + bool isValidForm(std::string name, unsigned int i) const; + }; #endif diff --git a/d05/ex03/interns b/d05/ex03/interns new file mode 100755 index 0000000000000000000000000000000000000000..89553cc4217ecdaa991d160901d9be7b0861ef51 GIT binary patch literal 62456 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

;?JXbg7U%> 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 literal 0 HcmV?d00001 diff --git a/d05/ex03/main.cpp b/d05/ex03/main.cpp index e91fc1d..efea552 100644 --- a/d05/ex03/main.cpp +++ b/d05/ex03/main.cpp @@ -142,39 +142,49 @@ int main() { AForm * f2; AForm * f3; AForm * f4; + AForm * f5; - std::cout << B_BLUE "intern tries to create a Shrubbery form" RESET "\n"; + std::cout << B_BLUE "\nintern tries to create a Shrubbery form" RESET "\n"; f1 = i.makeForm("Shrubbery", "smoking"); if (f1) std::cout << *f1 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a Robotomy form" RESET "\n"; f2 = i.makeForm("Robotomy", "building"); if (f2) std::cout << *f2 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a Presidential form" RESET "\n"; f3 = i.makeForm("Presidential", "building"); if (f3) std::cout << *f3 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; std::cout << B_BLUE "\nintern tries to create a blueberry form" RESET "\n"; f4 = i.makeForm("blueberry", "giv_me_gold"); if (f4) std::cout << *f4 << '\n'; else - std::cout << "intern make an error and cannot create the form\n"; + std::cout << "intern makes an error and cannot create the form\n"; + std::cout << B_BLUE "\nintern tries to create a \"robotomy request\" form" RESET "\n"; + f5 = i.makeForm("robotomy request", "try_hard"); + if (f5) + std::cout << *f5 << '\n'; + else + std::cout << "intern makes an error and cannot create the form\n"; + + std::cout << '\n'; delete f1; delete f2; delete f3; delete f4; + delete f5; } std::cout << "\n"; diff --git a/d05/ex03/sekoia_shrubbery b/d05/ex03/sekoia_shrubbery new file mode 100644 index 0000000..5a1591f --- /dev/null +++ b/d05/ex03/sekoia_shrubbery @@ -0,0 +1,17 @@ + * * + * * * + * * * * * + * * * * * + * * * * * * * + * * * * * .# * * + * * * #. .# * * + * "#. #: #" * * * + * * * "#. ##" * + * "### + "## + ##. + .##: + :### + ;### + ,####. + /\/\/\/\/\/.######.\/\/\/\/\ diff --git a/d05/ex03/srcs/Intern.cpp b/d05/ex03/srcs/Intern.cpp index ee5ebd1..90d0202 100644 --- a/d05/ex03/srcs/Intern.cpp +++ b/d05/ex03/srcs/Intern.cpp @@ -7,9 +7,9 @@ *********************************************/ const t_formModel Intern::_chooseForm[] = { - {"Shrubbery", Intern::makeShrubbery}, - {"Presidential", Intern::makePresidential}, - {"Robotomy", Intern::makeRobotomy} + {"shrubbery", Intern::makeShrubbery}, + {"presidential", Intern::makePresidential}, + {"robotomy", Intern::makeRobotomy} }; /********************************************* @@ -44,18 +44,6 @@ Intern & Intern::operator=( Intern const & rhs __attribute__((unused))) { return *this; } -//std::ostream & operator<<(std::ostream & o, Intern const & rhs) -//{ -// o << rhs.getFoo(); -// return (o); -//} - -/********************************************* - * ACCESSORS - *********************************************/ - -//std::string Intern::getFoo() const {return _foo;} - /********************************************* * PRIVATE MEMBER FUNCTIONS *********************************************/ @@ -64,7 +52,7 @@ AForm * Intern::makeForm(std::string formName, std::string formTarget) const { unsigned int len = sizeof _chooseForm / sizeof _chooseForm[0]; for (unsigned int i = 0; i < len; i++) - if (!formName.compare(_chooseForm[i].name)) + if (isValidForm(formName, i)) { std::cout << "Intern creates " << formName << "\n"; return _chooseForm[i].create(formTarget); @@ -73,6 +61,16 @@ AForm * Intern::makeForm(std::string formName, std::string formTarget) const { return NULL; } +bool Intern::isValidForm(std::string name, unsigned int i) const { + // to lowercase : + // https://stackoverflow.com/questions/313970/how-to-convert-an-instance-of-stdstring-to-lower-case + std::transform(name.begin(), name.end(), name.begin(), ::tolower); + + if (name.find(_chooseForm[i].name) == std::string::npos) + return false; + return true; +} + /********************************************* * PUBLIC MEMBER FUNCTIONS *********************************************/ @@ -84,10 +82,3 @@ AForm * Intern::makePresidential(std::string const &target) { AForm * Intern::makeRobotomy(std::string const &target) { return new RobotomyRequestForm(target);} -/********************************************* - * NESTED CLASS - *********************************************/ - -//void Intern::Class::function() {} - -