Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #define SIZE 10
- void clrScr()
- {
- system("cls");
- }
- void showOptions()
- {
- printf("Aby dodac zlecenie wprowadz I\n");
- printf("Aby obsluzyc zlecenie wprowadz O\n");
- printf("Aby zakonczyc wprowadz X\n");
- }
- int checkSize(int taskQueue[])
- {
- int result, i;
- result = 0;
- for(i = 0; i < SIZE; i++)
- {
- if(taskQueue[i] != 0)
- {
- result++;
- }
- }
- return result;
- }
- int isEmpty(int taskQueue[])
- {
- int result, i;
- result = 1;
- for (i = 0; i < SIZE; i++)
- {
- if(taskQueue[i] != 0)
- {
- result = 0;
- break;
- }
- }
- return result;
- }
- int isFull(int taskQueue[])
- {
- int result, i;
- result = 1;
- for (i = 0; i < SIZE; i++)
- {
- if (taskQueue[i] == 0)
- {
- result = 0;
- break;
- }
- }
- return result;
- }
- void showQueue(int taskQueue[])
- {
- int i;
- for (i = 0; i < SIZE; i++)
- {
- if (taskQueue[i] == 0)
- {
- printf("__ ");
- }
- else
- {
- printf("%2d ", taskQueue[i]);
- }
- }
- printf("\n\n\n");
- }
- void push(int taskQueue[])
- {
- int i, j, queueSize;
- if (isFull(taskQueue))
- {
- printf("Kolejka pelna - nie moge dodac zlecenia!");
- Sleep(350);
- printf(".");
- Sleep(350);
- printf(".");
- Sleep(350);
- printf(".\n");
- Sleep(350);
- }
- else
- {
- if(isEmpty(taskQueue))
- {
- taskQueue[0] = 1;
- }
- else
- {
- i = 0;
- while(taskQueue[i] == 0)
- {
- i++;
- }
- queueSize = checkSize(taskQueue);
- for (j = i; j < i + queueSize; j++)
- {
- taskQueue[j - i] = taskQueue[j];
- }
- for(i = queueSize; i < SIZE; i++)
- {
- taskQueue[i] = 0;
- }
- i = 1;
- while (taskQueue[i] != 0)
- {
- i++;
- }
- taskQueue[i] = taskQueue[i - 1] + 1;
- }
- }
- showQueue(taskQueue);
- }
- void pop(int taskQueue[])
- {
- int i;
- if(isEmpty(taskQueue))
- {
- printf("Kolejka pusta - nie moge wyrejestrowac zadnego zlecenia!");
- Sleep(350);
- printf(".");
- Sleep(350);
- printf(".");
- Sleep(350);
- printf(".\n");
- Sleep(350);
- }
- else
- {
- i = 0;
- while(taskQueue[i] == 0)
- {
- i++;
- }
- taskQueue[i] = 0;
- }
- showQueue(taskQueue);
- }
- void loop(int taskQueue[])
- {
- char input;
- showOptions();
- while (1)
- {
- scanf("%c", &input);
- if(input == 'I')
- {
- clrScr();
- push(taskQueue);
- showOptions();
- }
- else if(input == 'O')
- {
- clrScr();
- pop(taskQueue);
- showOptions();
- }
- else if(input == 'X')
- {
- clrScr();
- break;
- }
- else
- {
- clrScr();
- showQueue(taskQueue);
- showOptions();
- }
- }
- printf("Koniec programu!\n");
- printf("Nacisnij dowolny klawisz aby kontynuowac...\n\n");
- getchar();
- }
- void zeroing(int taskQueue[])
- {
- int i;
- for(i = 0; i < SIZE; i++)
- {
- taskQueue[i] = 0;
- }
- }
- int main()
- {
- int taskQueue[SIZE];
- zeroing(taskQueue);
- loop(taskQueue);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement