本人写了一个书籍管理系统,用单向链表写的,但是在删除指定书籍(节点)时崩溃
,我试了很长时间,都没有解决,今天把代码放上,有懂得的大佬帮忙解决一下,不胜感激。
Book Delete(Book ptr, string No)
{
Book p = ptr;
int x = Number(p);
if (x == 0)
{
cout << "书架无书,删除失败" << endl;
}
if (x == 1)
{
Book temporary = ptr->next;
ptr->next = NULL;
delete temporary;
temporary = NULL;
cout << "删除书籍成功" << endl;
return ptr;
}
if (x > 1)
{
do
{
Book ptrpro = ptr;
ptr = ptr->next;
if (ptr->No == No)
{
Book temporary = ptr;
ptrpro->next = temporary->next;
delete temporary;
temporary = NULL;
cout << "删除书籍成功" << endl;
break;
}
} while (p != NULL);
return p;
}
}
Number函数为检测书架有多少本书的函数,书架的书大于1本时,老是崩溃