diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | cpp00/ex00/Makefile | 17 | ||||
| -rw-r--r-- | cpp00/ex01/PhoneBook.cpp | 4 | ||||
| -rw-r--r-- | cpp01/ex02/main.cpp | 4 | ||||
| -rw-r--r-- | cpp01/ex03/ZombieHorde.cpp | 8 | ||||
| -rw-r--r-- | cpp01/ex03/main.cpp | 4 | ||||
| -rw-r--r-- | cpp01/ex07/main.cpp | 9 | ||||
| -rw-r--r-- | cpp03/ex00/FragTrap.cpp | 8 | ||||
| -rw-r--r-- | cpp03/ex00/main.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex01/FragTrap.cpp | 8 | ||||
| -rw-r--r-- | cpp03/ex01/ScavTrap.cpp | 8 | ||||
| -rw-r--r-- | cpp03/ex01/main.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex02/ClapTrap.cpp | 6 | ||||
| -rw-r--r-- | cpp03/ex02/main.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex03/ClapTrap.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex03/main.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex04/ClapTrap.cpp | 4 | ||||
| -rw-r--r-- | cpp03/ex04/main.cpp | 4 | ||||
| -rw-r--r-- | cpp05/ex02/ShrubberyCreationForm.cpp | 2 | ||||
| -rw-r--r-- | cpp05/ex02/ShrubberyCreationForm.hpp | 4 | ||||
| -rw-r--r-- | cpp05/ex02/main.cpp | 78 |
21 files changed, 156 insertions, 33 deletions
@@ -10,3 +10,4 @@ iter array identify_real_type scalar_conversion +*_shrubbery diff --git a/cpp00/ex00/Makefile b/cpp00/ex00/Makefile index 2bfc080..668507b 100644 --- a/cpp00/ex00/Makefile +++ b/cpp00/ex00/Makefile @@ -6,32 +6,27 @@ # By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/11/09 09:16:44 by cacharle #+# #+# # -# Updated: 2020/11/09 09:16:45 by cacharle ### ########.fr # +# Updated: 2020/11/17 16:41:44 by charles ### ########.fr # # # # ############################################################################ # RM = rm -f -CC = clang++ -CCFLAGS = -Wall -Wextra -Werror +CXX = clang++ +CXXFLAGS = -Wall -Wextra -Werror NAME = megaphone SRC = megaphone.cpp -OBJ = $(SRC:.cpp=.o) all: $(NAME) -$(NAME): $(OBJ) - $(CC) $(CCFLAGS) -o $@ $^ - -%.o: %.c - $(CC) $(CCFLAGS) -o $@ $< +$(NAME): $(SRC) + $(CXX) $(CXXFLAGS) -o $@ $^ clean: - $(RM) $(OBJ) + $(RM) $(NAME) fclean: clean - $(RM) $(NAME) re: fclean all diff --git a/cpp00/ex01/PhoneBook.cpp b/cpp00/ex01/PhoneBook.cpp index 7ce3df0..2219cee 100644 --- a/cpp00/ex01/PhoneBook.cpp +++ b/cpp00/ex01/PhoneBook.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 07:23:13 by charles #+# #+# */ -/* Updated: 2020/11/09 12:33:21 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:42:33 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,7 +17,9 @@ PhoneBook::PhoneBook() : m_size(0) {} void PhoneBook::add(Contact contact) { if (m_size >= CONTACTS_SIZE) + { return; + } m_contacts[m_size] = contact; m_size++; } diff --git a/cpp01/ex02/main.cpp b/cpp01/ex02/main.cpp index e8fb2c9..1e6db77 100644 --- a/cpp01/ex02/main.cpp +++ b/cpp01/ex02/main.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 09:47:21 by charles #+# #+# */ -/* Updated: 2020/11/09 10:33:18 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:43:26 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,7 +30,9 @@ int main() devRandom.close(); } else + { seed = time(NULL); + } srand(seed); zevent.setZombieType("NotRandom"); z = zevent.newZombie("jean"); diff --git a/cpp01/ex03/ZombieHorde.cpp b/cpp01/ex03/ZombieHorde.cpp index c0eb974..bec92ca 100644 --- a/cpp01/ex03/ZombieHorde.cpp +++ b/cpp01/ex03/ZombieHorde.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 09:52:11 by charles #+# #+# */ -/* Updated: 2020/11/09 12:58:23 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:44:26 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -50,14 +50,20 @@ ZombieHorde::ZombieHorde(int n) ZombieHorde::~ZombieHorde() { if (m_horde == NULL) + { return; + } delete [] m_horde; } void ZombieHorde::announce() { if (m_horde == NULL) + { return; + } for (size_t i = 0; i < m_size; i++) + { m_horde[i].announce(); + } } diff --git a/cpp01/ex03/main.cpp b/cpp01/ex03/main.cpp index 12a0045..4dd95b6 100644 --- a/cpp01/ex03/main.cpp +++ b/cpp01/ex03/main.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 09:56:14 by charles #+# #+# */ -/* Updated: 2020/11/09 12:54:36 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:44:08 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,7 +26,9 @@ int main() devRandom.close(); } else + { seed = time(NULL); + } srand(seed); std::cout << "=== Stack horde ===" << std::endl; diff --git a/cpp01/ex07/main.cpp b/cpp01/ex07/main.cpp index 3965d3d..de9a455 100644 --- a/cpp01/ex07/main.cpp +++ b/cpp01/ex07/main.cpp @@ -6,13 +6,14 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/02 17:08:28 by cacharle #+# #+# */ -/* Updated: 2020/11/10 09:25:28 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:37:34 by charles ### ########.fr */ /* */ /* ************************************************************************** */ -# include <iostream> -# include <fstream> -# include <string> +#include <iostream> +#include <fstream> +#include <string> +#include <cstring> int main(int argc, char **argv) { diff --git a/cpp03/ex00/FragTrap.cpp b/cpp03/ex00/FragTrap.cpp index 38bce83..e86915c 100644 --- a/cpp03/ex00/FragTrap.cpp +++ b/cpp03/ex00/FragTrap.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:20:45 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:43:53 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:46:57 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,11 +69,17 @@ void FragTrap::meleeAttack(std::string const& target) const void FragTrap::takeDamage(unsigned int amount) { if (amount < m_armorDamageReduction) + { amount = 0; + } else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) + { amount = m_hitPoints; + } m_hitPoints -= amount; std::cout << "FR4G-TP " << m_name << " takes " << amount diff --git a/cpp03/ex00/main.cpp b/cpp03/ex00/main.cpp index dd3f8bd..84a93aa 100644 --- a/cpp03/ex00/main.cpp +++ b/cpp03/ex00/main.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:41:27 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:42:38 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:46:11 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,7 +25,9 @@ int main(void) devRandom.close(); } else + { seed = time(NULL); + } srand(seed); { diff --git a/cpp03/ex01/FragTrap.cpp b/cpp03/ex01/FragTrap.cpp index bbe398a..56466a8 100644 --- a/cpp03/ex01/FragTrap.cpp +++ b/cpp03/ex01/FragTrap.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:20:45 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:44:08 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:47:41 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,11 +69,17 @@ void FragTrap::meleeAttack(std::string const& target) const void FragTrap::takeDamage(unsigned int amount) { if (amount < m_armorDamageReduction) + { amount = 0; + } else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) + { amount = m_hitPoints; + } m_hitPoints -= amount; std::cout << "FR4G-TP " << m_name << " takes " << amount diff --git a/cpp03/ex01/ScavTrap.cpp b/cpp03/ex01/ScavTrap.cpp index 47facac..c77291c 100644 --- a/cpp03/ex01/ScavTrap.cpp +++ b/cpp03/ex01/ScavTrap.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 14:15:03 by charles #+# #+# */ -/* Updated: 2020/11/12 10:49:48 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:47:57 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,11 +69,17 @@ void ScavTrap::meleeAttack(std::string const& target) const void ScavTrap::takeDamage(unsigned int amount) { if (amount < m_armorDamageReduction) + { amount = 0; + } else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) + { amount = m_hitPoints; + } m_hitPoints -= amount; std::cout << "SC4V-TP " << m_name << " takes " << amount diff --git a/cpp03/ex01/main.cpp b/cpp03/ex01/main.cpp index 864041c..c8fb9f0 100644 --- a/cpp03/ex01/main.cpp +++ b/cpp03/ex01/main.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:41:27 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:42:13 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:46:24 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,7 +26,9 @@ int main(void) devRandom.close(); } else + { seed = time(NULL); + } srand(seed); { diff --git a/cpp03/ex02/ClapTrap.cpp b/cpp03/ex02/ClapTrap.cpp index 550cef4..870cbdd 100644 --- a/cpp03/ex02/ClapTrap.cpp +++ b/cpp03/ex02/ClapTrap.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 15:28:43 by charles #+# #+# */ -/* Updated: 2020/11/12 10:08:15 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:48:43 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,9 +69,13 @@ void ClapTrap::meleeAttack(std::string const& target) const void ClapTrap::takeDamage(unsigned int amount) { if (amount < m_armorDamageReduction) + { amount = 0; + } else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) amount = m_hitPoints; m_hitPoints -= amount; diff --git a/cpp03/ex02/main.cpp b/cpp03/ex02/main.cpp index b8a03b6..92fd23b 100644 --- a/cpp03/ex02/main.cpp +++ b/cpp03/ex02/main.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:41:27 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:41:46 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:46:31 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,7 +26,9 @@ int main(void) devRandom.close(); } else + { seed = time(NULL); + } srand(seed); { diff --git a/cpp03/ex03/ClapTrap.cpp b/cpp03/ex03/ClapTrap.cpp index 550cef4..9adb925 100644 --- a/cpp03/ex03/ClapTrap.cpp +++ b/cpp03/ex03/ClapTrap.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 15:28:43 by charles #+# #+# */ -/* Updated: 2020/11/12 10:08:15 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:49:01 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -71,7 +71,9 @@ void ClapTrap::takeDamage(unsigned int amount) if (amount < m_armorDamageReduction) amount = 0; else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) amount = m_hitPoints; m_hitPoints -= amount; diff --git a/cpp03/ex03/main.cpp b/cpp03/ex03/main.cpp index 76141ed..c6a5588 100644 --- a/cpp03/ex03/main.cpp +++ b/cpp03/ex03/main.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:41:27 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:40:11 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:49:18 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,7 +27,9 @@ int main(void) devRandom.close(); } else + { seed = time(NULL); + } srand(seed); { diff --git a/cpp03/ex04/ClapTrap.cpp b/cpp03/ex04/ClapTrap.cpp index 550cef4..1dceb70 100644 --- a/cpp03/ex04/ClapTrap.cpp +++ b/cpp03/ex04/ClapTrap.cpp @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/13 15:28:43 by charles #+# #+# */ -/* Updated: 2020/11/12 10:08:15 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:49:36 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -71,7 +71,9 @@ void ClapTrap::takeDamage(unsigned int amount) if (amount < m_armorDamageReduction) amount = 0; else + { amount -= m_armorDamageReduction; + } if (amount > m_hitPoints) amount = m_hitPoints; m_hitPoints -= amount; diff --git a/cpp03/ex04/main.cpp b/cpp03/ex04/main.cpp index 0358760..c080dc2 100644 --- a/cpp03/ex04/main.cpp +++ b/cpp03/ex04/main.cpp @@ -6,7 +6,7 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/22 05:41:27 by cacharle #+# #+# */ -/* Updated: 2020/11/12 10:13:44 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:49:46 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,9 @@ int main(void) devRandom.close(); } else + { seed = time(NULL); + } srand(seed); { diff --git a/cpp05/ex02/ShrubberyCreationForm.cpp b/cpp05/ex02/ShrubberyCreationForm.cpp index aa9d5a4..70bc570 100644 --- a/cpp05/ex02/ShrubberyCreationForm.cpp +++ b/cpp05/ex02/ShrubberyCreationForm.cpp @@ -6,7 +6,7 @@ /* By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/10/19 13:45:45 by cacharle #+# #+# */ -/* Updated: 2020/11/17 13:23:52 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:36:09 by charles ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/cpp05/ex02/ShrubberyCreationForm.hpp b/cpp05/ex02/ShrubberyCreationForm.hpp index 8c3b7e6..4799d9d 100644 --- a/cpp05/ex02/ShrubberyCreationForm.hpp +++ b/cpp05/ex02/ShrubberyCreationForm.hpp @@ -6,7 +6,7 @@ /* By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/10/19 13:43:27 by cacharle #+# #+# */ -/* Updated: 2020/11/17 13:08:33 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:37:56 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,9 @@ # define SHRUBBERYCREATIONFORM_HPP # include <string> +# include <cstring> # include <fstream> +# include <iostream> # include "Form.hpp" class ShrubberyCreationForm : public Form diff --git a/cpp05/ex02/main.cpp b/cpp05/ex02/main.cpp index 9c14d05..ae272c9 100644 --- a/cpp05/ex02/main.cpp +++ b/cpp05/ex02/main.cpp @@ -6,11 +6,13 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/14 18:13:05 by charles #+# #+# */ -/* Updated: 2020/11/17 13:38:07 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 16:35:40 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #include <fstream> +#include <ctime> +#include <cstdlib> #include "Bureaucrat.hpp" int main() @@ -23,10 +25,84 @@ int main() devRandom.close(); } else + { seed = time(NULL); + } srand(seed); + { + std::cout << "=============== BUREAUCRAT ===============" << std::endl; + std::cout << "############### CREATION" << std::endl; + try { Bureaucrat bu("YO", 0); } + catch (std::exception& e) { std::cout << e.what() << std::endl; } + try { Bureaucrat bu("YO2", 151); } + catch (std::exception& e) { std::cout << e.what() << std::endl; } + + Bureaucrat yep("YEP", 1); + Bureaucrat yep2(yep); + Bureaucrat yep3("SHOULD NOT BE PRINTED", 42); + yep3 = yep; + std::cout << yep; + std::cout << yep2; + std::cout << yep3; + + std::cout << "############### DECREMENT" << std::endl; + Bureaucrat a("jean", 140); + while (true) + { + try + { + a.decrementGrade(); + std::cout << a; + } + catch (std::exception& e) + { + std::cout << e.what() << std::endl; + break; + } + } + + std::cout << "############### INCREMENT" << std::endl; + Bureaucrat b("didier", 10); + while (true) + { + try + { + b.incrementGrade(); + std::cout << b; + } + catch (std::exception& e) + { + std::cout << e.what() << std::endl; + break; + } + } + + // Bureaucrat c("baraucrat", 10); + // std::cout << "############### SIGN FORM" << std::endl; + // Form f4("foo", 150, 1); c.signForm(f4); + // Form f3("foo", 10, 1); c.signForm(f3); + // Form f2("foo", 9, 1); c.signForm(f2); + // Form f1("foo", 1, 1); c.signForm(f1); + } + + + { + std::cout << "================= SHRUBERRY CREATION =================" << std::endl; + + } + + std::cout << std::endl; + + { + std::cout << "================= PRESIDENTIAL PARDON =================" << std::endl; + } + + std::cout << std::endl; + { + std::cout << "================= ROBOTOMY REQUEST =================" << std::endl; + } return 0; |
