123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* use_q.c -- driver testing the Queue interface */
- /* compile with queue.c */
- #include <stdio.h>
- #include "queue.h" /* defines Queue, Item */
- int main(void)
- {
- Queue line;
- Item temp;
- char ch;
-
- InitializeQueue(&line);
- puts("Testing the Queue interface. Type a to add a value,");
- puts("type d to delete a value, and type q to quit.");
- while ((ch = getchar()) != 'q')
- {
- if (ch != 'a' && ch != 'd') /* ignore other input */
- continue;
- if ( ch == 'a')
- {
- printf("Integer to add: ");
- scanf("%d", &temp);
- if (!QueueIsFull(&line))
- {
- printf("Putting %d into queue\n", temp);
- EnQueue(temp,&line);
- }
- else
- puts("Queue is full!");
- }
- else
- {
- if (QueueIsEmpty(&line))
- puts("Nothing to delete!");
- else
- {
- DeQueue(&temp,&line);
- printf("Removing %d from queue\n", temp);
- }
- }
- printf("%d items in queue\n", QueueItemCount(&line));
- puts("Type a to add, d to delete, q to quit:");
- }
- EmptyTheQueue(&line);
- puts("Bye!");
-
- return 0;
- }
|