Exemple #1
0
int main(void){
    loodsensysteem * loods3 = maak_loodsensysteem();
    int stop =0;
    printf("Welkom bij ons verbouwde theebedrijf. Geef opdrachten:\n");
    while (stop != 1){
        char invoer[50], * opdracht, * etiket;
        printf(">");
        fgets(invoer, sizeof invoer -1, stdin);
        opdracht = strtok(invoer, " ");
        if (strcmp(opdracht, "opslaan1") == 0){
            etiket = strtok(NULL, "\n");
            printf("%s wordt opgeslagen in loods 1.\n", etiket);
            opslaan((*loods3).l1, etiket);
        }
        else if (strcmp(opdracht, "opslaan2") == 0){
            etiket = strtok(NULL, "\n");
            printf("%s wordt opgeslagen in loods 2.\n", etiket);
            opslaan((*loods3).l2, etiket);
        }
        else if (strcmp(opdracht, "leveren1\n") == 0){
            if (leeg((*loods3).l1) != 1)
                printf("%s wordt geleverd uit loods 1.\n", leveren((*loods3).l1));
            else
                printf("Er is geen thee in voorraad in loods 1.\n");
        }
        else if (strcmp(opdracht, "leveren2\n") == 0){
            if (leeg((*loods3).l2) != 1)
                printf("%s wordt geleverd uit loods 2.\n", leveren((*loods3).l2));
            else
                printf("Er is geen thee in voorraad in loods 2.\n");
        }

        else if (strcmp(opdracht, "verplaatsen12\n") == 0){
            etiket = leveren((*loods3).l1);
            printf("%s wordt verplaatst van loods 1 naar loods 2.\n", etiket);
            opslaan((*loods3).l2, etiket);
        }
        else if (strcmp(opdracht, "stop\n") == 0){
            printf("Tot ziens.\n");
            sloop_loods(loods3);
            stop = 1;
        }
        else
            printf("Opdracht niet begrepen, probeer het opnieuw...\n");
    }
    return 0;
}
int main(void)
{
    system("clear");
    printf("Welcome to C-Industries Tea Company\n\nShell: (type 'help' for help)\n");
    
    int exit = 0,
        i,j;
    loods1_t * loods1;
    loods1_t * loods2;
    
    loods1 = maak_loods();
    loods2 = maak_loods();
    
    do{
        char buffer[BUFFERSIZE];
        char input[BUFFERSIZE];
        printf("> ");
        if(fgets(buffer, sizeof(buffer), stdin) != NULL)
        {
            if (strncmp (buffer,"exit",3) == 0)
            {
                printf("Now exiting\n");
                sloop_loods(loods1, loods2);
                exit = 1;
            }
            else if (strncmp (buffer,"leveren",6) == 0)
            {
                char * data = leveren(loods1);
                if(data == NULL)
                {
                    printf("The Queue is empty\n");
                }
                else
                {
                    printf("%s", data);
                }
            }
            else if (strncmp (buffer,"opslaan",7) == 0)
            {
                /* Clear char input */
                for(i = 0; i < BUFFERSIZE; i++)
                {
                    input[i] = ' ';
                }
                /* Copy buffer to input */
                for(j = 0; buffer[j] != '\0'; j++)
                {
                    input[j] = buffer[j+8];
                }
                /* Save to Loods */
                if(verplaatsen12(loods1, loods2) != NULL)
                {
                    verplaatsen12(loods1, loods2);
                }
                
                opslaan(loods1, input);
                
                if(verplaatsen21(loods2, loods1) != NULL)
                {
                    verplaatsen21(loods2, loods1);
                }
            }
            else if (strncmp (buffer,"help",3) == 0)
            {
                printf("Commandos:\n\tlist\t\t\tgeeft de status van de stack weer\n\topslaan <string>\tSaves the entered string\n\tleveren\t\t\tPrint the top item of the Stack\n\texit\t\t\tExit the Program\n");
            }
            else if (strncmp (buffer,"list",3) == 0)
            {
                printf("> Listing the Queue: (loods1)\n");
                printf("\tloods1 -> size: %d\n\tloods1 -> front: %d\n", loods1 -> size, loods1 -> front);
                printf("> Listing the Queue: (loods2)\n");
                printf("\tloods2 -> size: %d\n\tloods2 -> front: %d\n", loods2 -> size, loods2 -> front);
            }
            else
            {
                printf("Command not recognized\n");
            }
        }
    } while(exit != 1);
    return 0;
}