    [Error] expected primary-expression before'struct'
50 14  C:\weblinky1.cpp    [Error] variable or field 'dequeue' declared void
50 20  C:\weblinky1.cpp    [Error] no match for 'operator*' (operand types are 'documents' and 'node')
51 14  C:\weblinky1.cpp    [Error] variable or field 'getRear' declared void
51 20  C:\weblinky1.cpp    [Error] no match for 'operator*' (operand types are 'documents' and 'node*')
52 15  C:/weblinky1.cpp    [Error] variable or field 'getFront' declared void
52 21  C:\weblinky1.cpp    [Error] no match for 'operator*' (operand types are 'documents' and 'node*')
C:\Users\marshalee\Desktop\DSLabTest1_1300054246\weblinky1.cpp In function 'int main()':
60 11  C:\weblinky1.cpp    [Error] no match for 'operator*' (operand types are 'documents' and 'node*')
114    49  C:\weblinky1.cpp    [Error] 'enqueue' was not declared in this scope
122    39  C:\weblinky1.cpp    [Error] 'dequeue' was not declared in this scope
126    27  C:\weblinky1.cpp    [Error] no match for 'operator==' (operand types are 'documents' and 'long long int')
138    42  C:\weblinky1.cpp    [Error] 'deletedocsize' was not declared in this scope
147    48  C:\weblinky1.cpp    [Error]'searchfoldername' was not declared in this scope
157    32  C:\weblinky1.cpp    [Error]'searchID' was not declared in this scope
165    33  C:\weblinky1.cpp    [Error] 'averagedocsize' was not declared in this scope
173    29  C:\weblinky1.cpp    [Error] could not convert 'isEmpty()' from 'void' to 'bool'
182    36  C:\weblinky1.cpp    [Error] 'getRear' was not declared in this scope
193    45  C:\weblinky1.cpp    [Error] 'getFront' was not declared in this scope
C:\weblinky1.cpp  At global scope:
221    19  C:\weblinky1.cpp    [Error] variable or field 'enqueue' declared void

bellow is my complete code
    enter code here/**
 * Queue implementation using linked list in C.
 */

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>

#define CAPACITY 100    // Queue max capacity


/* Queue structure definition */
   struct documents 
{
     int id;
    char docname[50];
    char foldername[50];
    float docsize;
    struct document * next;
    struct document * previous;

};    



//Delacre document variable
struct documents Queue;

//Create node for linked list
struct node
{
    struct documents Queue;
    struct node* previous;
    struct node* next;
};

// Creating an empty linked list
struct node * rear = NULL;
struct node * front = NULL;


/* Queue size */
unsigned int size = 0;


void enqueue(Queue ** rear, Queue ** front, struct documents Queue);
void dequeue(Queue ** front);
void getRear(Queue * rear);
void getFront(Queue * front);
void isEmpty();
void isFull();


int main()
{
    int ch, data;
    Queue *rear, *front;
     struct documents Queue;
    int id;
    float docsize;
    char* docname;
    char* foldername;

    rear  = NULL;
    front = NULL;

    /* Run indefinitely until user manually terminates */
    while (1)
    {
        /* Queue menu */
        printf("--------------------------------------------\n");
        printf("  QUEUE LINKED LIST IMPLEMENTATION PROGRAM  \n");
        printf("--------------------------------------------\n");
        printf("1. Enqueue\n");
        printf("2. Dequeue\n");
        printf("3. Delete by Size of Document\n");
        printf("4. Display Documents based on Folder Name\n");
        printf("5. Enter ID to Display Index where Documents was 
          found\n");
        printf("6. Display Document Size Average\n");
        printf("7. Size of the Queue\n");
        printf("8. Get Rear\n");
        printf("9. Get Front\n");
        printf("0. Exit\n");
        printf("--------------------------------------------\n");
        printf("Select an option: ");

        scanf("%d", &ch);


        /* Menu control switch */
        switch (ch)
        {
            case 1:

                 printf("\nEnter Document ID#: ");
                   scanf("%d", &Queue.id);
                    Queue.id = id;
                    printf("Enter Document size#: ");
                    scanf("%f", &Queue.docsize);
                     Queue.docsize = docsize;
                     printf("Enter Document name: ");
                      scanf("%s", &Queue.docname);
                       strcpy(Queue.docname, docname);
                       printf("Enter folder name: ");
                        scanf("%s", foldername);
                         strcpy(Queue.foldername, foldername);


                // Enqueue function returns 1 on success
                // otherwise 0
                if (enqueue(&rear, &front, Queue))
                    printf("Document added to queue.");
                else
                    printf("Queue is full.");

                break;

            case 2:
                Queue = dequeue(&front);

                // on success dequeue returns element removed

                if (Queue == NULL)
                    printf("Queue is empty.");
                else
                    printf("Queue => %d", Queue.front);

                break;

           //Delete by Size of Document
           case 3:

                 printf("Enter Document size: ");
                    scanf("%f", &docsize);
                    deletedocsize(docsize);

                break;

        //Display Documents based on Folder Name
        case 4:

                 printf("Enter Document Folder Name: ");
                     scanf("%s", foldername);
                    searchfoldername(foldername); 

                break;


        //Enter ID to Display Index where Documents was found
        case 5:

                 printf("Enter Document ID#: ");
                     scanf("%f", &id);
                    searchID(id); 

                break;


        //Display Document Size Average
        case 6:

                 averagedocsize(); 

                break;

            case 7: 

                // isEmpty() function returns 1 if queue is emtpy 
                // otherwise returns 0
                if (isEmpty())
                    printf("Queue is empty.");
                else 
                    printf("Queue size => %d", size);

                break;

            //get rear of document queue
            case 8: 
                data = getRear(rear);

                if (Queue == Queue.rear)
                    printf("Queue is empty.");
                else 
                    printf("Rear => %d", Queue.rear);

                break;

            case 9: 

                Queue = getFront(front);

                if (Queue == NULL)
                    printf("Queue is empty.");
                else 
                    printf("Front => %d", Queue.front);

                break;

            case 0:
                printf("Exiting from application.\n");
                exit(0);

            default:
                printf("Invalid choice, please input number between (0- 
       5).");
                break;
        }

        printf("\n\n");
    }
}



/**
 * Enqueues/Insert an element at the rear of a queue.
 * Function returns 1 on success otherwise returns 0.
 */
void enqueue(Queue *q)
{
     Queue * temp= NULL;

    // Check queue out of capacity error
    if (isFull())
    {
        return 0;
    }

    // Create a new node of queue type
    temp = (Queue *) malloc (sizeof(Queue));

    // Assign data to new node
    temp->docs= en;

    // Initially new node does not point anything
    temp->next = NULL;
    temp->previous = NULL;

    // Link new node with existing last node 
    if ( (*rear) )
    {
        (*rear)->next = temp;
    }


    // Make sure newly created node is at rear
    *rear = temp;

    // Link first node to front if its NULL
