int main() {
int* tab = NULL;
- const unsigned tab_size = 11;
- tab = create_tab(tab, tab_size);
+ unsigned tab_size = 0;
+ int errno = 0;
+ int choice = 0;
- printf("%d\n", tab_size);
+ printf("=== Saisie initiale ===\n\n");
+ tab = prompt_array(tab, &tab_size);
- display_array(tab, tab_size);
-
- const unsigned tab_new_size = 20;
- tab = resize_tab(tab, tab_new_size);
-
- display_array(tab, tab_new_size);
+ do {
+ display_choice_menu();
+ errno = prompt_value("Choix?", &choice);
+ handle_prompt_error(errno);
+ if (1 > choice || 8 < choice) {
+ printf("\nFaire un choix compris entre 1 et 8\n");
+ continue;
+ }
+ switch (choice) {
+ case 1:
+ tab = do_concat(tab, &tab_size);
+ break;
+ case 2:
+ do_sort(tab, tab_size);
+ break;
+ case 3:
+ display_array(tab, tab_size);
+ break;
+ case 4:
+ do_count(tab, tab_size);
+ break;
+ case 5:
+ printf("\nLe nombre d'entiers pairs dans le tableau est %d\n", count_tab_criteria(tab, tab_size, is_even));
+ break;
+ case 6:
+ printf("\nLe nombre d'entiers impairs dans le tableau est %d\n", count_tab_criteria(tab, tab_size, is_odd));
+ break;
+ case 7:
+ do_resize(tab, &tab_size);
+ break;
+ default:
+ /* do nothing, unused code path */
+ break;
+ }
+ } while (choice != 8);
free_tab(tab);
exit(EXIT_SUCCESS);