int main()
{
int flag;
int val;
Queue q;
if ( !InitQueue(q) )
{
printf("内存不足!\n");
exit(OVERFLOW);
}
printf("欢迎使用本队列系统!\n");
do
{
printf("\n\n");
printf("\t*************************************\t\n");
printf("\t************1.入队列;****************\t\n");
printf("\t************2.出队列;****************\t\n");
printf("\t************3.插入队尾元素;**********\t\n");
printf("\t************4.删除队头元素;**********\t\n");
printf("\t************5.显示队列所有元素;******\t\n");
printf("\t************6.清屏;******************\t\n");
printf("\t************0.退出;******************\t\n");
printf("\t*************************************\t\n");
printf("请输入0~6:");
if (0 != scanf("%d", &flag)) //检测输入是否合法,防止接收到非法输入时的误操作
{
switch (flag)
{
case 1:
printf("请输入要入队列的元素的值(int):");
if ( 0 == scanf("%d", &val) ) //检测输入是否合法
{
printf("输入错误,请重新输入!\n");
break;
}
else if ( !PushQueue(q, val) )
printf("入队列失败,内存不足!\n");
break;
case 2:
if ( PopQueue(q, val) )
printf("出队列的元素是:%d\n", val);
else
printf("出队列失败,空队列!\n");
break;
case 3:
printf("请输入要插入尾队列的元素的值(int):\n");
if ( 0 == scanf("%d", &val) ) //检测输入是否合法
{
printf("输入错误,请重新输入!\n");
break;
}
else if ( InsertQueue(q,val) )
printf("插入后队列的元素是:\n");
printfQueue(q);
break;
case 4:
if(DeleteQueue(q,val))
printf("要删除的队头的元素是:%d\n", val);
else
printf("出队列失败,空队列!\n");
break;
case 5:
printf("队列的所有元素为:\n");
printfQueue(q);
break;
case 6:
system("cls");
break;
default:
if (0 != flag)
printf("错误,请重新输入!\n");
break;
}
}
else
{
printf("错误,请重新输入!\n");
}
}while(0 != flag);
return 0;