From ce42218b88108b204ae9c032309b47e7ff067ac1 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 14 Oct 2024 19:15:36 +0200 Subject: [PATCH] update: adding the add function --- cpp00/ex01/Makefile | 14 +++-- cpp00/ex01/main.cpp | 65 ++++++++++++++++++---- cpp00/ex01/phonebook | Bin 24776 -> 0 bytes cpp00/ex01/phonebook.cpp | 5 +- cpp00/ex01/{phonebook.h => phonebook.hpp} | 11 +++- 5 files changed, 76 insertions(+), 19 deletions(-) delete mode 100644 cpp00/ex01/phonebook rename cpp00/ex01/{phonebook.h => phonebook.hpp} (73%) diff --git a/cpp00/ex01/Makefile b/cpp00/ex01/Makefile index 5902629..9c2da95 100644 --- a/cpp00/ex01/Makefile +++ b/cpp00/ex01/Makefile @@ -6,11 +6,10 @@ # By: rparodi +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/09/20 19:46:50 by rparodi ### ########.fr # +# Updated: 2024/10/14 19:07:56 by rparodi ### ########.fr # # # # **************************************************************************** # - # Variables # Name @@ -21,10 +20,15 @@ CXX = c++ RM = rm -rf # Flags -CXXFLAGS = -Werror -Wextra -Wall -std=c++98 -g3 - +# Mandatory flags for 42 cpp +CXXFLAGS = -Werror -Wextra -Wall -std=c++98 +# Flags to debug and have the dependences (can be removed for correction) +CXXFLAGS += -MMD -g3 +# Flag to debug (TO REMOVE) +# CXXFLAGS += -D DEBUG=1 # Sources -SRC = ./main.cpp +SRC = ./phonebook.cpp \ + ./main.cpp # Objects OBJDIRNAME = ./build diff --git a/cpp00/ex01/main.cpp b/cpp00/ex01/main.cpp index 5139ea9..d8afc9e 100644 --- a/cpp00/ex01/main.cpp +++ b/cpp00/ex01/main.cpp @@ -6,15 +6,52 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/20 19:42:14 by rparodi #+# #+# */ -/* Updated: 2024/09/20 20:03:13 by rparodi ### ########.fr */ +/* Updated: 2024/10/14 19:06:54 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ -#include "./phonebook.h" +#include "phonebook.hpp" +#include +#include #include #include +#include -bool adding(int index); +bool adding(int index, contact array_contact[8]) +{ + std::string input; + + if (index > 8 || index < 0) + return (true); + + std::cout << "Thanks to give the number of the new contact" << std::endl; + std::getline(std::cin, input); + if (input.length() != 10) + return (true); + array_contact[index].number = input; + + std::cout << "Thanks to give the nickname of the new contact" << std::endl; + std::getline(std::cin, input); + array_contact[index].nickname = input; + + std::cout << "Thanks to give the first_name of the new contact" << std::endl; + std::getline(std::cin, input); + array_contact[index].first_name = input; + + std::cout << "Thanks to give the last_name of the new contact" << std::endl; + std::getline(std::cin, input); + array_contact[index].last_name = input; + + std::cout << "Thanks to give the dark secret of the new contact" << std::endl; + std::getline(std::cin, input); + array_contact[index].dark_secret = input; + + array_contact[index].id = index; + + if (DEBUG) + array_contact[index].print(); + return (false); +} int main(void) { @@ -22,11 +59,19 @@ int main(void) int i; std::string input; - std::getline(std::cout, input, ':'); - if (strcmp(input.data, "ADD:")) - adding(i); - if (strcmp(input[i].data, "SEARCH:")) - array_contact.print(); - if (strcmp(input.data, "EXIT:")) - return (0); + i = 0; + while (true) + { + std::cout << MENU_TEXT << std::endl; + std::getline(std::cin, input); + if (strcmp(input.c_str(), "ADD:") == 0) + if (adding(i, array_contact)) + std::cerr << "Error: during the adding process" << std::endl; + if (strcmp(input.c_str(), "SEARCH:") == 0) + /*if (searching(array_contact))*/; + if (strcmp(input.c_str(), "EXIT:") == 0) + return (0); + input.clear(); + i++; + } } diff --git a/cpp00/ex01/phonebook b/cpp00/ex01/phonebook deleted file mode 100644 index 7068b9988a306613bc762443d74e9d658cca9014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24776 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 diff --git a/cpp00/ex01/phonebook.cpp b/cpp00/ex01/phonebook.cpp index f615e94..a52f150 100644 --- a/cpp00/ex01/phonebook.cpp +++ b/cpp00/ex01/phonebook.cpp @@ -6,17 +6,18 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/20 19:50:03 by rparodi #+# #+# */ -/* Updated: 2024/09/20 19:50:51 by rparodi ### ########.fr */ +/* Updated: 2024/10/14 18:52:45 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ -#include "phonebook.h" +#include "phonebook.hpp" void contact::print(void) { std::cout << "First Name:" << first_name << std::endl; std::cout << "Last Name:" << last_name << std::endl; std::cout << "Nickname:" << nickname << std::endl; std::cout << "Number:" << number << std::endl; + std::cout << "Dark Secret:" << dark_secret << std::endl; std::cout << "ID:" << id << std::endl; } diff --git a/cpp00/ex01/phonebook.h b/cpp00/ex01/phonebook.hpp similarity index 73% rename from cpp00/ex01/phonebook.h rename to cpp00/ex01/phonebook.hpp index 4162319..c008e67 100644 --- a/cpp00/ex01/phonebook.h +++ b/cpp00/ex01/phonebook.hpp @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* phonebook.h :+: :+: :+: */ +/* phonebook.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/20 18:59:14 by rparodi #+# #+# */ -/* Updated: 2024/09/20 20:03:43 by rparodi ### ########.fr */ +/* Updated: 2024/10/14 19:05:17 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,12 @@ #include #include +#define MENU_TEXT "You're in the main menu:\nHere's the command:\n\t- ADD: To add a new contact\n\t- SEARCH: To search a contact\n\t- EXIT: to exit the program" + +#ifndef DEBUG +# define DEBUG 0 +#endif + class contact { public: int id; @@ -23,6 +29,7 @@ class contact { std::string first_name; std::string last_name; std::string nickname; + std::string dark_secret; void print(void); };