Commit | Line | Data |
---|---|---|
e4001676 | 1 | #include <stdlib.h> |
eddc018d JB |
2 | #include <stdio.h> |
3 | ||
884e9557 JB |
4 | #include "array.h" |
5 | #include "utils.h" | |
34f864c6 | 6 | #include "io.h" |
884e9557 | 7 | |
eddc018d | 8 | int main() { |
884e9557 | 9 | int* tab = NULL; |
cfdd46d2 | 10 | unsigned tab_size = 0; |
475ee86d JB |
11 | int errno = 0; |
12 | int choice = 0; | |
cfdd46d2 | 13 | |
475ee86d | 14 | printf("=== Saisie initiale ===\n\n"); |
cfdd46d2 | 15 | tab = prompt_array(tab, &tab_size); |
eddc018d | 16 | |
475ee86d JB |
17 | do { |
18 | display_choice_menu(); | |
19 | errno = prompt_value("Choix?", &choice); | |
b2129d81 | 20 | handle_prompt_error(errno, tab); |
59941dc1 JB |
21 | if (1 > choice || 8 < choice) { |
22 | printf("\nFaire un choix compris entre 1 et 8\n"); | |
475ee86d JB |
23 | continue; |
24 | } | |
25 | switch (choice) { | |
26 | case 1: | |
27 | tab = do_concat(tab, &tab_size); | |
28 | break; | |
29 | case 2: | |
30 | do_sort(tab, tab_size); | |
31 | break; | |
32 | case 3: | |
33 | display_array(tab, tab_size); | |
34 | break; | |
35 | case 4: | |
36 | do_count(tab, tab_size); | |
37 | break; | |
889d5862 JB |
38 | case 5: |
39 | printf("\nLe nombre d'entiers pairs dans le tableau est %d\n", count_tab_criteria(tab, tab_size, is_even)); | |
40 | break; | |
41 | case 6: | |
42 | printf("\nLe nombre d'entiers impairs dans le tableau est %d\n", count_tab_criteria(tab, tab_size, is_odd)); | |
43 | break; | |
59941dc1 JB |
44 | case 7: |
45 | do_resize(tab, &tab_size); | |
46 | break; | |
475ee86d JB |
47 | default: |
48 | /* do nothing, unused code path */ | |
49 | break; | |
50 | } | |
59941dc1 | 51 | } while (choice != 8); |
34f864c6 JB |
52 | |
53 | free_tab(tab); | |
e4001676 | 54 | exit(EXIT_SUCCESS); |
eddc018d | 55 | } |