aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--cpp00/ex00/Makefile17
-rw-r--r--cpp00/ex01/PhoneBook.cpp4
-rw-r--r--cpp01/ex02/main.cpp4
-rw-r--r--cpp01/ex03/ZombieHorde.cpp8
-rw-r--r--cpp01/ex03/main.cpp4
-rw-r--r--cpp01/ex07/main.cpp9
-rw-r--r--cpp03/ex00/FragTrap.cpp8
-rw-r--r--cpp03/ex00/main.cpp4
-rw-r--r--cpp03/ex01/FragTrap.cpp8
-rw-r--r--cpp03/ex01/ScavTrap.cpp8
-rw-r--r--cpp03/ex01/main.cpp4
-rw-r--r--cpp03/ex02/ClapTrap.cpp6
-rw-r--r--cpp03/ex02/main.cpp4
-rw-r--r--cpp03/ex03/ClapTrap.cpp4
-rw-r--r--cpp03/ex03/main.cpp4
-rw-r--r--cpp03/ex04/ClapTrap.cpp4
-rw-r--r--cpp03/ex04/main.cpp4
-rw-r--r--cpp05/ex02/ShrubberyCreationForm.cpp2
-rw-r--r--cpp05/ex02/ShrubberyCreationForm.hpp4
-rw-r--r--cpp05/ex02/main.cpp78
21 files changed, 156 insertions, 33 deletions
diff --git a/.gitignore b/.gitignore
index e7fbed8..5190700 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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;