From b60ba562d86119ee21588739baf05ceb3f8d9fb9 Mon Sep 17 00:00:00 2001 From: narnaud Date: Sun, 17 Jul 2022 22:19:37 +0200 Subject: [PATCH] fix:00 and cpp01ex00 --- CPP00/ex00/Makefile | 15 ++++++--- CPP00/ex00/main.cpp | 2 -- CPP00/ex00/megaphone | Bin 19212 -> 0 bytes CPP00/ex01/Contact.cpp | 36 +++++++++++---------- CPP00/ex01/Contact.hpp | 15 ++++----- CPP00/ex01/Makefile | 20 ++++++++++++ CPP00/ex01/PhoneBook.cpp | 64 ++++++++++++++++--------------------- CPP00/ex01/PhoneBook.hpp | 16 ++++------ CPP00/ex01/main.cpp | 6 ++-- CPP01/ex00/Zombie.cpp | 13 +++----- CPP01/ex00/Zombie.hpp | 1 + CPP01/ex00/main.cpp | 1 - CPP01/ex01/Makefile | 2 +- CPP01/ex01/Zombie.cpp | 3 +- CPP01/ex01/Zombie.hpp | 2 ++ CPP01/ex01/apocalypse | Bin 41892 -> 0 bytes CPP01/ex01/main.cpp | 5 ++- CPP01/ex01/zombieHorde.cpp | 2 +- CPP06/.main.cpp.swp | Bin 12288 -> 0 bytes CPP06/ex00/Converter.cpp | 54 +++++++++++++++---------------- CPP06/ex00/Converter.hpp | 5 +-- CPP06/ex00/Converter.o | Bin 22392 -> 0 bytes CPP06/ex00/convert | Bin 27532 -> 0 bytes CPP06/ex00/main.cpp | 2 -- CPP06/ex00/main.o | Bin 3792 -> 0 bytes 25 files changed, 136 insertions(+), 128 deletions(-) delete mode 100755 CPP00/ex00/megaphone create mode 100644 CPP00/ex01/Makefile delete mode 100755 CPP01/ex01/apocalypse delete mode 100644 CPP06/.main.cpp.swp delete mode 100644 CPP06/ex00/Converter.o delete mode 100755 CPP06/ex00/convert delete mode 100644 CPP06/ex00/main.o diff --git a/CPP00/ex00/Makefile b/CPP00/ex00/Makefile index c1de22d..458e89f 100644 --- a/CPP00/ex00/Makefile +++ b/CPP00/ex00/Makefile @@ -1,16 +1,21 @@ NAME = megaphone SRC = main.cpp +OBJ = main.o -CC = c++ -CFLAGS = -std=c++98 -Wall -Werror -Wextra +CXXFLAGS = -std=c++98 -Wall -Werror -Wextra RM = rm -rf -$(NAME): $(SRC) - $(CC) $(CFLAGS) $(SRC) -o $(NAME) +$(NAME): $(OBJ) + c++ $(OBJ) -o $(NAME) all: $(NAME) clean: + $(RM) $(OBJ) + +fclean: clean $(RM) $(NAME) -.PHONY: all re +re: fclean all + +.PHONY: all clean fclean re diff --git a/CPP00/ex00/main.cpp b/CPP00/ex00/main.cpp index 54d37c2..71b422c 100644 --- a/CPP00/ex00/main.cpp +++ b/CPP00/ex00/main.cpp @@ -11,7 +11,6 @@ /* ************************************************************************** */ # include -# include int main(int argc, char **argv) { @@ -30,5 +29,4 @@ int main(int argc, char **argv) } } std::cout << std::endl; - return (EXIT_SUCCESS); } diff --git a/CPP00/ex00/megaphone b/CPP00/ex00/megaphone deleted file mode 100755 index 2f79b4db98c8444e708b8d20c33c981692a0daeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19212 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 = id; + _id = id; std::cout << "Enter new contact first name:\n"; - std::cin >> this->datas[FIRST]; + while (_datas[FIRST] == "") + std::cin >> _datas[FIRST]; std::cout << "Enter new contact last name:\n"; - std::cin >> this->datas[LAST]; + while (_datas[LAST] == "") + std::cin >> _datas[LAST]; std::cout << "Enter new contact nickname:\n"; - std::cin >> this->datas[NICK]; + while (_datas[NICK] == "") + std::cin >> _datas[NICK]; std::cout << "Enter new contact number:\n"; - std::cin >> this->datas[NUMBER]; + while (_datas[NUMBER] == "") + std::cin >> _datas[NUMBER]; std::cout << "Enter new contact secret:\n"; - std::cin >> this->datas[SECRET]; - std::cout << std::endl; + while (_datas[SECRET] == "") + std::cin >> _datas[SECRET]; } void Contact::summary() { std::cout << "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"; std::cout << "|"; - std::cout << std::setw(2) << this->id; + std::cout << std::setw(2) << _id; std::cout << "|"; for (int i = 0; i <= SECRET; i++) { - if (this->datas[i].length() < 10) - std::cout << std::setw(10) << this->datas[i] << "|"; + if (_datas[i].length() < 10) + std::cout << std::setw(10) << _datas[i] << "|"; else - std::cout << this->datas[i].substr(0, 9) << "." << "|"; + std::cout << _datas[i].substr(0, 9) << "." << "|"; } std::cout << "\nvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n"; } void Contact::get() { - std::cout <<"First name : " << this->datas[FIRST] << std::endl; - std::cout <<"Last name : " << this->datas[LAST] << std::endl; - std::cout <<"Nick name : " << this->datas[NICK] << std::endl; - std::cout <<"Phone nb : " << this->datas[NUMBER] << std::endl; - std::cout <<"Dark secret : " << this->datas[SECRET] << std::endl; + std::cout <<"First name : " << _datas[FIRST] << std::endl; + std::cout <<"Last name : " << _datas[LAST] << std::endl; + std::cout <<"Nick name : " << _datas[NICK] << std::endl; + std::cout <<"Phone nb : " << _datas[NUMBER] << std::endl; + std::cout <<"Dark secret : " << _datas[SECRET] << std::endl; } diff --git a/CPP00/ex01/Contact.hpp b/CPP00/ex01/Contact.hpp index 5d7665c..35f1526 100644 --- a/CPP00/ex01/Contact.hpp +++ b/CPP00/ex01/Contact.hpp @@ -9,12 +9,10 @@ /* Updated: 2022/06/13 16:35:43 by narnaud ### ########.fr */ /* */ /* ************************************************************************** */ -#ifndef CONTACT_HPP -# define CONTACT_HPP - -# include -# include -# include +#pragma once +#include +#include +#include enum e_datas { @@ -33,7 +31,6 @@ class Contact void summary(); void get(); private: - int id; - std::string datas[5]; + int _id; + std::string _datas[5]; }; -#endif diff --git a/CPP00/ex01/Makefile b/CPP00/ex01/Makefile new file mode 100644 index 0000000..8fc3237 --- /dev/null +++ b/CPP00/ex01/Makefile @@ -0,0 +1,20 @@ +NAME = phonebook +SRCS = main.cpp PhoneBook.cpp Contact.cpp +OBJS = $(SRCS:.cpp=.o) + +CXXFLAGS = -std=c++98 -Werror -Wextra -Wall + +$(NAME): $(OBJS) + c++ $(OBJS) -o $(NAME) + +all: $(NAME) + +clean: + rm -rf $(OBJS) + +fclean: clean + rm -rf $(NAME) + +re: fclean all + +.PHONY: all clean fclean re diff --git a/CPP00/ex01/PhoneBook.cpp b/CPP00/ex01/PhoneBook.cpp index f2e798d..6871ab3 100644 --- a/CPP00/ex01/PhoneBook.cpp +++ b/CPP00/ex01/PhoneBook.cpp @@ -12,15 +12,13 @@ #include "PhoneBook.hpp" -PhoneBook::PhoneBook() -{ - this->id = 0; +PhoneBook::PhoneBook() { + _id = 0; } -void PhoneBook::add() -{ - int id = this->id % CONTACTS_AMOUNT; - if (this->id > 7) +void PhoneBook::add() { + int id = _id % CONTACTS_AMOUNT; + if (_id > CONTACTS_AMOUNT - 1) { std::cout << "You gonna remove the contact n." << id; std::cout << "\nTo continue, type 'y': "; @@ -28,45 +26,37 @@ void PhoneBook::add() std::cin >> confirm; if (confirm != "y") { - std::cout << "\nAbort.\n"; + std::cout << std::endl << "Abort." << std::endl; return ; } std::cout << std::endl; } - this->contacts[id].set(id); - this->id++; + _contacts[id].set(id); + _id++; } -void PhoneBook::search() -{ - int id = 0; - Contact ctct; - ctct = this->contacts[0]; - while (id++ < this->id % CONTACTS_AMOUNT) - { - ctct.summary(); - ctct = this->contacts[id]; - } +void PhoneBook::search() { + for (int id = 0; id < _id % CONTACTS_AMOUNT; id++) + _contacts[id].summary(); std::string sid; std::cout << "Which contact do you wanna see [id?]:"; std::cin >> sid; - id = std::stoi(sid); - ctct = this->contacts[id]; - ctct.get(); + _contacts[(int)std::strtod(sid.c_str(), 0)].get(); } -int PhoneBook::run() -{ - std::cout << "PhoneBook.\n" << "Commands available : ADD, SEARCH, EXIT.\n"; - std::cout << "What do you want?\n"; - std::cin >> this->cmd; - if (cmd == "EXIT") - return (EXIT_FAILURE); - if (cmd == "SEARCH") - this->search(); - else if (cmd == "ADD") - this->add(); - else - std::cout << "Unknown command.\n"; - return (EXIT_SUCCESS); +void PhoneBook::run() { + std::string cmd; + while (cmd != "EXIT" && cmd != "3") + { + std::cout << "=== PHONEBOOK ===" << std::endl; + std::cout << "Commands available : 1-ADD, 2-SEARCH, 3-EXIT.\n"; + std::cout << "What do you want? "; + std::cin >> cmd; + if (cmd == "ADD" || cmd == "1") + this->add(); + else if (cmd == "SEARCH" || cmd == "2") + this->search(); + else if (cmd != "EXIT" && cmd != "3") + std::cout << "Unknown command." << std::endl; + } } diff --git a/CPP00/ex01/PhoneBook.hpp b/CPP00/ex01/PhoneBook.hpp index 88ce766..85d3030 100644 --- a/CPP00/ex01/PhoneBook.hpp +++ b/CPP00/ex01/PhoneBook.hpp @@ -9,21 +9,19 @@ /* Updated: 2022/06/13 15:35:30 by narnaud ### ########.fr */ /* */ /* ************************************************************************** */ -#ifndef PHONEBOOK_HPP -# define PHONEBOOK_HPP -# include "Contact.hpp" -# define CONTACTS_AMOUNT 8 +#pragma once +#include "Contact.hpp" +#include +#define CONTACTS_AMOUNT 8 class PhoneBook { public: PhoneBook(); - int run(); + void run(); private: - Contact contacts[CONTACTS_AMOUNT]; - std::string cmd; - int id; + Contact _contacts[CONTACTS_AMOUNT]; + int _id; void add(); void search(); }; -#endif diff --git a/CPP00/ex01/main.cpp b/CPP00/ex01/main.cpp index f7a6382..762764a 100644 --- a/CPP00/ex01/main.cpp +++ b/CPP00/ex01/main.cpp @@ -14,9 +14,7 @@ int main(void) { - PhoneBook pb; + PhoneBook phone; - while (pb.run() == EXIT_SUCCESS) - ; - return (EXIT_SUCCESS); + phone.run(); } diff --git a/CPP01/ex00/Zombie.cpp b/CPP01/ex00/Zombie.cpp index fbe34f7..a29d168 100644 --- a/CPP01/ex00/Zombie.cpp +++ b/CPP01/ex00/Zombie.cpp @@ -12,17 +12,14 @@ #include "Zombie.hpp" -Zombie::Zombie(string name):_name(name) -{ +Zombie::Zombie(string name):_name(name) { cout << "*" << name << " died.*\n"; } -Zombie::~Zombie(void) -{ - cout << "*" << this->_name << " really died.*\n"; +Zombie::~Zombie(void) { + cout << "*Zombie " << _name << " really died.*\n"; } -void Zombie::announce(void) const -{ - cout << this->_name << ": BraiiiiiiinnnzzzZ...\n"; +void Zombie::announce(void) const { + cout << _name << ": BraiiiiiiinnnzzzZ...\n"; } diff --git a/CPP01/ex00/Zombie.hpp b/CPP01/ex00/Zombie.hpp index c57e189..e4e2b5e 100644 --- a/CPP01/ex00/Zombie.hpp +++ b/CPP01/ex00/Zombie.hpp @@ -17,6 +17,7 @@ # endif #include +#include using std::cin; using std::cout; using std::string; diff --git a/CPP01/ex00/main.cpp b/CPP01/ex00/main.cpp index 14ddbb6..1066874 100644 --- a/CPP01/ex00/main.cpp +++ b/CPP01/ex00/main.cpp @@ -20,5 +20,4 @@ int main(void) randomChump("Aurel"); if (DEBUG) system("leaks apocalypse"); - return (EXIT_SUCCESS); } diff --git a/CPP01/ex01/Makefile b/CPP01/ex01/Makefile index 27da46f..0c31381 100644 --- a/CPP01/ex01/Makefile +++ b/CPP01/ex01/Makefile @@ -1,7 +1,7 @@ NAME = apocalypse SRCS = main.cpp Zombie.cpp zombieHorde.cpp OBJS = $(SRCS:.cpp=.o) -CXXFLAGS = -g -std=c++98 -Werror -Wextra -Wall +CXXFLAGS = -std=c++98 -Werror -Wextra -Wall $(NAME): $(OBJS) c++ $(OBJS) -o $(NAME) diff --git a/CPP01/ex01/Zombie.cpp b/CPP01/ex01/Zombie.cpp index 7cc1cf8..d4716d2 100644 --- a/CPP01/ex01/Zombie.cpp +++ b/CPP01/ex01/Zombie.cpp @@ -21,7 +21,7 @@ Zombie::Zombie(string name):_name(name) Zombie::~Zombie(void) { - cout << "*" << _name << " really died.*\n"; + cout << "*Zombie " << _name << " really died.*\n"; } void Zombie::announce(void) const @@ -31,5 +31,6 @@ void Zombie::announce(void) const void Zombie::setName(string name) { + cout << "*" << name << " died.*\n"; _name = name; } diff --git a/CPP01/ex01/Zombie.hpp b/CPP01/ex01/Zombie.hpp index d115ed5..bb48858 100644 --- a/CPP01/ex01/Zombie.hpp +++ b/CPP01/ex01/Zombie.hpp @@ -18,6 +18,8 @@ # define ZB_AMOUNT 8 #include +#include +#include using std::cin; using std::cout; using std::string; diff --git a/CPP01/ex01/apocalypse b/CPP01/ex01/apocalypse deleted file mode 100755 index cc578a77f27137b4d6d88f06791f3f42cacff206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41892 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 diff --git a/CPP01/ex01/main.cpp b/CPP01/ex01/main.cpp index 43bcb50..c9af313 100644 --- a/CPP01/ex01/main.cpp +++ b/CPP01/ex01/main.cpp @@ -15,10 +15,9 @@ int main(void) { Zombie *zombs = zombieHorde(ZB_AMOUNT, "Zombie"); - int i = 0; - while (i < ZB_AMOUNT) - zombs[i++].announce(); + for (int i = 0; i < ZB_AMOUNT; i++) + zombs[i].announce(); delete [] zombs; if (DEBUG) system("leaks apocalypse"); diff --git a/CPP01/ex01/zombieHorde.cpp b/CPP01/ex01/zombieHorde.cpp index 18c7511..c2fd183 100644 --- a/CPP01/ex01/zombieHorde.cpp +++ b/CPP01/ex01/zombieHorde.cpp @@ -18,7 +18,7 @@ Zombie *zombieHorde(int N, string name) int n = 0; while (n < N) { - ret[n].setName(name + std::to_string(n)); + ret[n].setName(n); n++; } return (ret); diff --git a/CPP06/.main.cpp.swp b/CPP06/.main.cpp.swp deleted file mode 100644 index d52c657f06ebd514f43d269db7ca2ecfbb6cae56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2K}y3w6o#j+t%~kkjbmVZ5jSHchx)jnTLa9wdnu^`1P(632G?N#1{N}q zZJouYvO z7=Qs7fB_hQ0T_S*7=Qs7fB_g-K?5#*-Y=~)Hlj?v|Lgbvw@t=wDD#x>8;o@*cPT$; zzysw0sgj8?Zauon6A0l8r&MBOMHUu?@J z!PJjH)Enb6;Q3IFw{@cSch-*w9+hlU!8dK`bYfNtF{LI=F!h!vN6*wxXc>{#spuN0 rtHo!6rGum?e{|Aw4V(j%4V6+Osh0%Z`V%liXT21-v(_c); + } + else + { + cout << "Char: "; + _d = std::strtod(str.c_str(), 0); + _c = static_cast(_d); + if (_d < 0 || _d > 255) + cout << "Invalid" << endl; + else if (std::isprint(_c)) + cout << "Not Printable" << endl; + else + cout << _c << endl; + } + cout << "Double: " << _d << endl; + cout << "Integer: "; + _i = static_cast(_d); + if (_d < std::numeric_limits::min() || _d > std::numeric_limits::max()) + cout << "Off limits -> "; + cout << _i << endl; + _f = static_cast(_d); + cout << "Float: " << _f << "f"<< endl; } Converter::Converter (Converter const & src) { @@ -36,27 +60,3 @@ Converter::~Converter (void) { cout << "Converter default destructor called" << endl; } - - -void Converter::startConv(void) { - if (_input[0] == '\'' || _input[0] == '"') - { - _c = _input[1]; - _d = static_cast(_c); - } - else - { - _d = std::strtod(_input.c_str(), 0); - _c = static_cast(_d); - } - _i = static_cast(_d); - _f = static_cast(_d); -} - -void Converter::display(void) { - cout << "Input: " << _input << endl; - cout << "Char: " << _c << endl; - cout << "Double: " << _d << endl; - cout << "Float: " << _f << endl; - cout << "Integer: " << _i << endl; -} diff --git a/CPP06/ex00/Converter.hpp b/CPP06/ex00/Converter.hpp index 3898296..b13ad66 100644 --- a/CPP06/ex00/Converter.hpp +++ b/CPP06/ex00/Converter.hpp @@ -15,6 +15,9 @@ #include #include #include +#include +#include +#include using std::cout; using std::endl; using std::string; @@ -33,6 +36,4 @@ class Converter{ Converter(Converter const & src); virtual ~Converter(void); Converter & operator= (Converter const & src); - void startConv(void); - void display(void); }; diff --git a/CPP06/ex00/Converter.o b/CPP06/ex00/Converter.o deleted file mode 100644 index ea72cfe090451a45534382f8cd24605c4a274556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22392 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 Zct?9E7ERo1?(!A%Eo`YQZ1VfG{|BR}$nF3D diff --git a/CPP06/ex00/convert b/CPP06/ex00/convert deleted file mode 100755 index da02f2263453fa2642783f7a312b7811b4a9f0e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27532 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 F{{c9(U!(v4