From b8bf7e45dde7458d837560cfc382e48e7cf288a9 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 7 Mar 2022 14:18:07 +0100 Subject: [PATCH] d06 ex01 mise en place tableau de pointeurs sur fonctions --- d06/ex00/Makefile | 75 ++++++++++++++++ d06/ex00/color.h | 25 ++++++ d06/ex00/convert | Bin 0 -> 30552 bytes d06/ex00/main.cpp | 219 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 319 insertions(+) create mode 100644 d06/ex00/Makefile create mode 100644 d06/ex00/color.h create mode 100755 d06/ex00/convert create mode 100644 d06/ex00/main.cpp diff --git a/d06/ex00/Makefile b/d06/ex00/Makefile new file mode 100644 index 0000000..cafdd50 --- /dev/null +++ b/d06/ex00/Makefile @@ -0,0 +1,75 @@ +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . name = value \ . += append to a variable # +# VARIABLES . value . != set result of command # +# . name is case sensitive . ?= set if not already set # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +NAME = convert + +#TYPE = c +TYPE = cpp + +ifeq "$(TYPE)" "c" + CC = c + EXT = c +else ifeq "$(TYPE)" "cpp" + CC = c++ + EXT = cpp +endif + +CFLAGS = -Wall -Wextra -Werror $(INCLUDES) +ifeq "$(TYPE)" "cpp" + CFLAGS += -std=c++98 +endif + +VPATH = $(D_SRCS) + +LIBS = + +INCLUDES = -I$(D_HEADERS) + +D_SRCS = . +SRCS = main.cpp + +D_HEADERS = . +HEADERS = + +D_OBJS = builds +OBJS = $(SRCS:%.$(EXT)=$(D_OBJS)/%.o) + +ifeq "$(D_OBJS)" "." + RM_OBJS = rm -f $(OBJS) +else + RM_OBJS = rm -rf $(D_OBJS) +endif + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # +# . target: prerequisites . $@ : target # +# RULES . recipe . $< : 1st prerequisite # +# . recipe . $^ : all prerequisites # +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + +all: $(NAME) + +$(D_OBJS)/%.o: %.$(EXT) | $(D_OBJS) + $(CC) $(CFLAGS) -c $< -o $@ + +$(D_OBJS): + mkdir $@ + +$(OBJS): $(HEADERS:%=$(D_HEADERS)/%) + +$(NAME): $(OBJS) + $(CC) $(OBJS) -o $@ $(LIBS) + +clean: + $(RM_OBJS) + +fclean: clean + rm -f $(NAME) + +re: fclean all + +.PHONY : all clean fclean re + diff --git a/d06/ex00/color.h b/d06/ex00/color.h new file mode 100644 index 0000000..f40596b --- /dev/null +++ b/d06/ex00/color.h @@ -0,0 +1,25 @@ +#ifndef COLOR_H +# define COLOR_H + +# define GRAY "\e[0;30m" +# define RED "\e[0;31m" +# define GREEN "\e[0;32m" +# define YELLOW "\e[0;33m" +# define BLUE "\e[0;34m" +# define PURPLE "\e[0;35m" +# define CYAN "\e[0;36m" +# define WHITE "\e[0;37m" + +# define B_GRAY "\e[1;30m" +# define B_RED "\e[1;31m" +# define B_GREEN "\e[1;32m" +# define B_YELLOW "\e[1;33m" +# define B_BLUE "\e[1;34m" +# define B_PURPLE "\e[1;35m" +# define B_CYAN "\e[1;36m" +# define B_WHITE "\e[1;37m" + +# define RESET "\e[0m" + +#endif + diff --git a/d06/ex00/convert b/d06/ex00/convert new file mode 100755 index 0000000000000000000000000000000000000000..2f596fe42a1bcea16e15ce616dceb7b6cf3d1e4b GIT binary patch literal 30552 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 QD1Nv62efM+%0lA*AFfFU!~g&Q literal 0 HcmV?d00001 diff --git a/d06/ex00/main.cpp b/d06/ex00/main.cpp new file mode 100644 index 0000000..64ce087 --- /dev/null +++ b/d06/ex00/main.cpp @@ -0,0 +1,219 @@ +#include +#include +#include "color.h" + +#include // isdigit() + +// 2^24 = 16777216; +// 2^31 = 2147483648 +// first char printable "!" -> 21 (space -> 20) + +#define MAX_INT "2147483647" +#define MIN_INT "-2147483648" +#define MAX_INT_1 "2147483648" +#define MIN_INT_1 "-2147483649" +#define MAX_FLOAT_INT_PRECISION "16777216" + +//Char toChar(str) { +// +//} + +//bool isChar() {} + +bool checkChar(std::string str) { +// char c; +// +std::cout << "in char\n"; + if (str.length() != 1 || isdigit(str[0])) + return false; +// +// c = toChar(str); +// std::cout << "char"RESET" equal to : "B_CYAN << c << RESET << "\n"; +// fromChar(c); + return true; +} + +bool checkInt(std::string str) { +std::cout << "in int\n"; + if (str.length() == 1 || !isdigit(str[0])) + return false; + return true; +} + +bool checkFloat(std::string str) { +std::cout << "in int\n"; + if (str.length() == 1 || !isdigit(str[0])) + return false; + return true; +} + + +bool (*checkFunc[])(std::string str) = +{ + checkChar, + checkInt, + checkFloat +}; + +void convert(std::string str) { + + int size = sizeof(checkFunc) / sizeof(checkFunc[0]); + +// std::cout << str << " is a "B_YELLOW ; + + for (int it = 0; it < size; it++) + if ((*checkFunc[it])(str)) + break; + +// else if (isInt(str)) +// { +// i = toInt(str); +// std::cout << "int"RESET" equal to : "B_CYAN << i << RESET << "\n"; +// fromInt(i); +// } +// else if (isFloat(str)) +// { +// f = toFloat(str); +// std::cout << "float"RESET" equal to : "B_CYAN << f << RESET << "\n"; +// fromFloat(f); +// } +// else if (isDouble(str)) +// { +// d = toDouble(str); +// std::cout << "double"RESET" equal to : "B_CYAN << d << RESET << "\n"; +// fromDouble(d); +// } +// else +// std::cout << B_RED"not valid type"RESET"\n"; +} + +int main(int ac, char **av) { + + if (ac > 1) + { + convert(av[1]); + return 0; + } + + // char + convert("!"); + convert("\""); + convert("#"); + convert("$"); + convert("%"); + convert("&"); + convert("'"); + convert("("); + convert(")"); + convert("*"); + convert("+"); + convert(","); + convert("-"); + convert("."); + convert("/"); + convert(":"); + convert(";"); + convert("<"); + convert("="); + convert(">"); + convert("?"); + convert("@"); + convert("A"); + convert("B"); + convert("C"); + convert("D"); + convert("E"); + convert("F"); + convert("G"); + convert("H"); + convert("I"); + convert("J"); + convert("K"); + convert("L"); + convert("M"); + convert("N"); + convert("O"); + convert("P"); + convert("Q"); + convert("R"); + convert("S"); + convert("T"); + convert("U"); + convert("V"); + convert("W"); + convert("X"); + convert("Y"); + convert("Z"); + convert("["); + convert("\\"); + convert("]"); + convert("^"); + convert("_"); + convert("`"); + convert("a"); + convert("b"); + convert("c"); + convert("d"); + convert("e"); + convert("f"); + convert("g"); + convert("h"); + convert("i"); + convert("j"); + convert("k"); + convert("l"); + convert("m"); + convert("n"); + convert("o"); + convert("p"); + convert("q"); + convert("r"); + convert("s"); + convert("t"); + convert("u"); + convert("v"); + convert("w"); + convert("x"); + convert("y"); + convert("z"); + convert("{"); + convert("|"); + convert("}"); + convert("~"); + // int + convert("0"); + convert("-42"); + convert("42"); + convert(MAX_INT); + convert(MIN_INT); + convert(MAX_INT_1); + convert(MIN_INT_1); + convert(MAX_FLOAT_INT_PRECISION); + // float + convert("0.0f"); + convert("-4.2f"); + convert("4.2f"); + convert("-inff"); + convert("+inff"); + convert("nanf"); + convert(MAX_INT".0f"); + convert(MIN_INT".0f"); + convert(MAX_INT_1".0f"); + convert(MIN_INT_1".0f"); + convert(MAX_FLOAT_INT_PRECISION".0f"); + //double + convert("0.0"); + convert("-4.2"); + convert("4.2"); + convert("-inf"); + convert("+inf"); + convert("nan"); + convert(MAX_INT".0"); + convert(MIN_INT".0"); + convert(MAX_INT_1".0"); + convert(MIN_INT_1".0"); + convert(MAX_FLOAT_INT_PRECISION".0"); + + return 0; +} +