From c1458fe91e3e0460f93e459a9d42946f5ac293f3 Mon Sep 17 00:00:00 2001 From: Anteunis Charles <charles.anteunis@gmail.com> Date: Mon, 16 Dec 2019 10:57:22 +0100 Subject: [PATCH] fix fgetchar, add Makefile --- Makefile | 21 +++++++++++++++++++++ a.out | Bin 8920 -> 0 bytes interpreteur.c | 33 +++++++++++++++++---------------- 3 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 Makefile delete mode 100755 a.out diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e87876d --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +CC=gcc -Wall -Wextra -ansi + +TARGET=prog2d + +OBJ=interpreteur.o list.o + +all: $(TARGET) + +$(TARGET): $(OBJ) + $(CC) main.c $^ -o $(TARGET) + +%.o: %.c %.h + $(CC) -c $< + +interpreteur.o: interpreteur.c interpreteur.h list.h + $(CC) -c $< + +clean: + rm $(OBJ) $(TARGET) + +re: clean all \ No newline at end of file diff --git a/a.out b/a.out deleted file mode 100755 index 3f19027cc3c8c4ae8005f632132486827d782a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8920 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 R6+}-O11uq7BwSDc0syP#Gr0f& diff --git a/interpreteur.c b/interpreteur.c index 99a76c9..e5bc6e9 100644 --- a/interpreteur.c +++ b/interpreteur.c @@ -1,5 +1,10 @@ #include "interpreteur.h" +#include <stdio.h> +#include <stdlib.h> +/** + * \brief tronque un entier entre 0 et 255 + */ int troncate(int n) { if (n<0) return 0; @@ -9,6 +14,9 @@ int troncate(int n) { return n; } +/** + * \brief interprete le fichier d'entrée en déplaçant le curseur + */ void interpreteur(char **matrix, int height, int width) { curseur cur; int i, j, a, b; @@ -20,25 +28,25 @@ void interpreteur(char **matrix, int height, int width) { char buf[256]; char *endptr; - /* initialise le module random */ + /* initialisation du module random */ srand((unsigned) time(&t)); cur.x = 0; cur.y = 0; + /* on commence en haut à gauche, direction à droite */ cur.current_char = matrix[0][0]; cur.current_dir = E; while (cur.current_char != '@') { - printf("=-=-=-=-=-=-=\n"); - printf("current char: %i = %c\n", cur.current_char, cur.current_char); + /*printf("=-=-=-=-=-=-=\n"); + printf("current char: %i = %c\n", cur.current_char, cur.current_char);*/ /* Action en fonction du caractère lu */ /* Si on est sur un pont, on ne lit pas l'instruction et on avance sur le pont */ if (bridge) { bridge--; - } /* Si on est en mode chaine de caractere on empile ce qu'on lit */ @@ -47,13 +55,11 @@ void interpreteur(char **matrix, int height, int width) { string_mode = 1 - string_mode; else push(cur.current_char, &pile); - } else { + /* switch pour les actions en fonction du caractère lu */ switch (cur.current_char) { - - case '+': a = pop(&pile); b = pop(&pile); @@ -240,7 +246,7 @@ void interpreteur(char **matrix, int height, int width) { case '~': printf("Veuillez entrer un caratere\n"); - tmp = fgetchar(); + tmp = getchar(); push(tmp, &pile); break; @@ -309,16 +315,11 @@ void interpreteur(char **matrix, int height, int width) { cur.current_char = matrix[cur.y][cur.x]; - print_list(pile); - //printf("string_mode: %i\n", string_mode); - //printf("bridge: %i\n", bridge); + /*print_list(pile); + printf("string_mode: %i\n", string_mode); + printf("bridge: %i\n", bridge);*/ } - printf("Contenu de la pile :\n"); - while (!is_empty(pile)) - { - printf("%i, ", pop(&pile)); - } printf("Fin de l'interpreteur\n"); } \ No newline at end of file -- GitLab