主题:求指导,case1有错误吗?总说这有错误?
#include<iostream.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdio.h>
#include "myhead.h"
#include "LinkList.h"
int menu()
{
Status choice;
system("cls");
printf("\t\t\t********************************************\n");
printf("\t\t\t*0.退出 *\n");
printf("\t\t\t*1.初始化线性表 *\n");
printf("\t\t\t*2.销毁表 *\n");
printf("\t\t\t*3.重置为空 *\n");
printf("\t\t\t*4.判断是否为空 *\n");
printf("\t\t\t*5.显示表长 *\n");
printf("\t\t\t*6.求数据 *\n");
printf("\t\t\t*7.求位置 *\n");
printf("\t\t\t*8.求前驱 *\n");
printf("\t\t\t*9.求后继 *\n");
printf("\t\t\t*10.插入 *\n");
printf("\t\t\t*11.删除 *\n");
printf("\t\t\t*12.输出线性表 *\n");
printf("\t\t\t*13.从大到小排序 *\n");
printf("\t\t\t*14.删除偶数 *\n");
printf("\t\t\t*15.交换 *\n");
printf("\t\t\t********************************************\n");
printf("请输入所选功能的序号:");
scanf("%d",&choice);
return choice;
}
void main()
{
Status choice,i,result;
ElemType e,a,b,c;
LinkList0127 L;
ElemType pre_e,next_e;
do
{
choice = menu();
if (choice < 1 || choice > 15)
continue;
switch (choice)
{
case 0:choice=0;
break;
case 1:if(InitList_L0127(L)==OK)
{
printf("成功完成线性表初始化操作!\n");
}
else
printf("操作失败,内存溢出!\n");
break;
case 2:if (DestroyList_L0127(L)==OK)
printf("成功完成线性表的销毁\n");
else
printf("销毁失败\n");
break;
case 3:if (ClearList_L0127(L)==OK)
printf("线性表重置为空\n");
else
printf("重置失败\n");
break;
case 4:if (ListEmpty_L0127(L)==OK)
printf("线性表为空\n");
else
printf("线性表不为空\n");
break;
case 5:printf("线性表长度:%d",ListLength_L0127(L));
break;
case 6:printf("输入位置:");
scanf("%d",&i);
if (GetElem_L0127(L,i)==ERROR)
printf("此位置没有数据\n");
else
printf("此位置的数据:%d\n",GetElem_L0127(L,i));
break;
case 7:printf("输入数据:");
scanf("%d",&e);
if (LocateElem_L0127(L,e)!=0)
printf("第%d个数据\n",LocateElem_L0127(L,e));
else
printf("没有找到\n");
break;
case 8:printf("输入数据:");
scanf("%d",&e);
if (PriorElem_L0127(L,e,pre_e)==ERROR)
printf("无前驱\n");
else
printf("前驱:%d",PriorElem_L0127(L,e,pre_e));
break;
case 9:printf("输入数据:");
scanf("%d",&e);
if (NextElem_L0127(L,e,next_e)==ERROR)
printf("无后继\n");
else
printf("后继:%d",NextElem_L0127(L,e,next_e));
break;
case 10:printf("输入位置及数据:");
scanf("%d%d",&i,&e);
result=ListInsert_L0127(L,i,e);
if (result==ERROR)
printf("输入位置有误\n");
else
if (result==OVERFLOW)
printf("操作失败,内存溢出!\n");
else
printf("插入成功\n");
break;
case 11:printf("输入位置:");
scanf("%d",&i);
if (ListDelete_L0127(L,i,e)==ERROR)
printf("输入位置有误\n");
else
printf("删除的数据:%d",e);
break;
case 12:if (ListTraverse_L0127(L,DisplayData0127)==ERROR)
printf("操作失败\n");
break;
case 13:if(Sort_L0127(L)==OK)
printf("从大到小排序完成");
break;
case 14:if (Del_L0127(L)==OK)
printf("删除成功");
break;
case 15:printf("输入要交换两个数据位置bc,b<c:");
scanf("%d,%d",&b,&c);
result=Exchange_L0127(L,b,c);
if( result==ERROR)
{
printf("操作失败\n");
break;
}
else
{
if( result==OK)
printf("操作成功\n");
break;
}
}
getchar();
getchar();
}
while (choice!=0);
}