#include #include #include #include "file.h" #define TAILLE_MIN 30 #define TAILLE_INC 10 char *saisie(const char* invite) { char *temp = (char *) malloc(TAILLE_MIN); int c, i=0, taille = TAILLE_MIN; printf("\n%s", invite); while(((c=getchar())!=EOF)&&(c!='\n')) { if (i>=taille) { taille += TAILLE_INC; temp = (char *) realloc(temp, taille); } temp[i++] = c; } temp = (char *) realloc(temp, i+1); temp[i] = '\0'; return temp; } int main(void) { int choix = 0; char *s; file f = {NULL, NULL}; while (choix != '3') { printf("\nFaites votre choix :\n"); printf("\t1. nouveau client\n"); printf("\t2. client suivant\n"); printf("\t3. fermer boutique\n"); printf("? "); choix = getchar(); while(getchar() != '\n'); switch (choix) { case '1': s = saisie("Nom du client : "); file_push(f, s); break; case '2': if (file_empty(f)) { printf("\nAucun Client a l'horizon...\n"); } else { s = file_pop(f); printf("\nClient suivant : %s\n", s); free(s); } break; case '3': printf("\nOn ferme !\n\n"); break; default: printf("Ne tapez pas n'importe quoi !\n"); } } file_clear(f); return EXIT_SUCCESS; }