Esempio n. 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;
}
Esempio n. 2
0
void sloopLoods(struct loods2 *storage)
{
	while(leveren(storage) != NULL);

	free(storage->stack);
	storage->stack = NULL;

	free(storage);
	storage = NULL;
}
Esempio n. 3
0
char * verplaatsen21(loods1_t * loods2, loods1_t * loods1)
{
    char * temp;
    if(isleeg(loods2))
    {
        printf("Loods2 is Empty");
        return NULL;
    }
    
    if(isvol(loods1))
    {
        printf("Loods1 is Full");
        return NULL;
    }
    temp = leveren(loods2);
    opslaan(loods1, temp);
    return temp;
}
Esempio n. 4
0
int main (int argc, char **argv)
{
	struct loods1 *storage;
	char *line, *token, *search, *leverenResult;
	line = malloc( 50 * sizeof(char) );

	storage = maakLoods();
	printf("\nWelkom bij ons theebedrijf. Geef opdrachten:\n\n");
	// Start console.
	while(1)
	{
		line = getOperation(line);
		search = " ";
		token = strtok(line, search);

		// If token is null no searchresults are found and the command is not
		// recognized.
		if(token == NULL)
		{
			printf("Commando niet herkent...\n");
			printf("Voor lijst met commando's typ help.\n");
		}

		// If token is help print a list of commands.
		else if(!strcmp(token, "help"))
		{
			printCommands();
		}

		// If token is leveren deliver the tea from the storage.
		else if(!strcmp(token, "leveren"))
		{
			leverenResult = leveren(storage);
			// After leveren result is retrieved check if it is not NULL print 
			// the result, else there is no more tea in stock.
			if(leverenResult != NULL)
			{
				printf("%s wordt geleverd.\n", leverenResult);
			}
			else
			{
				printf("Er is geen thee meer in voorraad.\n");
			}
			free(leverenResult);
		}

		// If token is opslaan store tea in the storage.
		else if(!strcmp(token, "opslaan"))
		{
			// Search for the end of line for what to store.
			search = "\n";
			token = strtok(NULL, search);
			// if nothing is found return to user to give something to store.
			if(token == NULL)
			{
				printf("Niks om op te slaan meegegeven.\n");
			}
			// else store the content.
			else
			{
				opslaan(storage, token);
				printf("%s wordt opgeslagen.\n", token);
			}	
		}

		// break the loop when the stop command is given.
		else if(!strcmp(token, "stop"))
		{
			break;
		}

		// Else the command is not recognized.
		else
		{
			printf("Commando niet herkent...\n");
			printf("Voor lijst met commando's typ help.\n");
		}
		free(line);
	}

	// after the loop free the memory.
	sloopLoods(storage);
	return 0;
}
Esempio n. 5
0
int main (int argc, char **argv)
{
	struct loods3 *storage1, *storage2;
	char *line, *token, *search, *leverenResult;

	storage1 = maakLoods();
	storage2 = maakLoods();
	printf("\nWelkom bij ons theebedrijf. Geef opdrachten:\n\n");
	while(1)
	{
		line = getOperation(line);
		search = " ";
		token = strtok(line, search);

		if(token == NULL)
		{
			printf("Commando niet herkent...\n");
			printf("Voor lijst met commando's typ help.\n");
		}

		else if(!strcmp(token, "help"))
		{
			printCommands();
		}

		else if(!strcmp(token, "leveren"))
		{
			if(leeg(storage2) && !leeg(storage1))
			{
				while(1)
				{
					leverenResult = leveren(storage1);
					if(leverenResult != NULL)
					{
						printf("%s wordt verplaatst van loods 1 naar loods 2.\n", leverenResult);
						opslaan(storage2, leverenResult);
					}
					else
					{
						break;
					}
				}	
			}
			leverenResult = leveren(storage2);
			if(leverenResult != NULL)
			{
				printf("%s wordt geleverd uit loods 2.\n", leverenResult);
			}
			else
			{
				printf("Er is geen thee meer in voorraad.\n");
			}		
		}

		else if(!strcmp(token, "opslaan"))
		{
			search = "\n";
			token = strtok(NULL, search);
			if(token == NULL)
			{
				printf("Niks om op te slaan meegegeven.\n");
			}
			else
			{
				opslaan(storage1, token);
				printf("%s wordt opgeslagen in loods 1.\n", token);
			}
		}

		else if(!strcmp(token, "stop"))
		{
			break;
		}

		else
		{
			printf("Commando niet herkent...\n");
			printf("Voor lijst met commando's typ help.\n");
		}
		free(line);
	}
	free(line);
	sloopLoods(storage1);
	sloopLoods(storage2);
	return 0;
}
Esempio n. 6
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;
}