TP 13 exo1: Implement more asked features and test them
[TD_C.git] / TP_13 / exo1 / lib / io.c
index 2df513416d4358bf9965d32bf1e58e5f5d15352c..1217750eb86ffd271cf1507af174e9dbf5a7aeb7 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdio.h>
 
 #include "io.h"
+#include "array.h"
 
 int prompt_value(const char* msg, int* result) {
     puts(msg);
@@ -8,10 +9,27 @@ int prompt_value(const char* msg, int* result) {
     return (retVal == 1) ? 0 : 1;
 }
 
+int* prompt_array(int array[], unsigned* size) {
+    int errno = prompt_value("Taille du tableau?", (int*)size);
+    array = create_tab(array, *size);
+    for (unsigned i = 0; i < *size; i++) {
+       errno += prompt_value("Valeur?", &array[i]);
+    }
+    if (errno == 0) {
+        return array;
+    } else {
+        return NULL;
+    }
+}
+
 void display_array(int* array, int size) {
-    printf("--array begin--\n");
-    for (int i = 0; i < size; i++) {
-        printf("value in array at index[%d]=%d\n", i, array[i]);
+    if (array != NULL) {
+        printf("--array begin--\n");
+        for (int i = 0; i < size; i++) {
+            printf("value in array at index[%d]=%d\n", i, array[i]);
+        }
+        printf("--array end--\n");
+    } else {
+        printf("--array NULL--\n");
     }
-    printf("--array end--\n");
 }