Code:
#include<stdio.h>

struct Node{
	int Data;
	struct Node *Link;
};
typedef struct Node *QueuePointer;

void append(QueuePointer *Head,QueuePointer *Tail, int Num)
{
	QueuePointer NewNode;
	NewNode=(QueuePointer)malloc(sizeof(struct Node));
	NewNode->Data=Num;
	NewNode->Link=NULL;
	if (Tail==NULL)
		*Head=NewNode;
	else
		(*Tail)->Link=NewNode;
		*Tail=NewNode;
}


void Serve(QueuePointer *Head, QueuePointer *Tail, int *item)

{
	QueuePointer Temp;
	Temp=(QueuePointer)malloc(sizeof(struct Node));
	if (Head == NULL)
		printf("Queue is empty.  Cannot delete");
	else
	{
		item->Head=Data;
		Temp=Head;
		Head=Head->Link;
		if (Head == NULL)
			Tail = NULL;
		free(Temp);
	}
}


void main()
{
	QueuePointer Tail,Head;
	int x,choice;
	int Num[5];
	Tail=NULL;
	clrscr();

	printf("Enter [1] to add and [2] to delete: ");
	scanf("%d",&choice);

	if (choice==1);
	{
	for(x=1; x<6; x++)

{
	printf("Enter Values to Append: ");
	scanf("%d",&Num[x]);
}

	for(x=0; x<5; x++)
{
	append(&Tail,&Head,Num[x]);
	printf("\n%d",Num[x]);
}
	if(choice==2)
{
	for(x=0; x<5; x++)
	{
	void(Serve);
	printf("Data Deleted");
	}
}

getch();
}
}
ok,please recorrect this,i cant managed to make this work...ive been working with this for 3 hours straight and cant manage to make it work,if its possible lesser complicated stuff,i cant really understand those terms that ya'll use...i learn through application,so if anyone can make this work...please help me :\ this is frustrating TY