链表删除和显示问题!

smdszgzh smdszgzh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include "Student.h"
#include <iostream>
#include <string>
using namespace std;
typedef struct ListNode
{
string sID;
string sName;
string bSex;
double Score[2];
ListNode* pNext;
}Node;

class StudentList
{
Node* pHead;
Node* pNew;
Node* pTail;
public:
StudentList(){pHead=NULL;};
Node* ReadStudent(StudentList &list);
void DeleteStudent();
void ShowStudent(StudentList &list);
Node* SelectStudent();
Node* SearchStudent();
};

void StudentList::ShowStudent(StudentList &list)
{
cout<<"ID "<<"Name "<<"Sex "<<"English "<<"Math"<<endl;
Node* p=pHead;
while(p!=NULL)
{
cout<<p->sID<<" "<<p->sName<<" "<<p->bSex<<" "
<<p->Score[0]<<" "<<p->Score[1]<<endl;
p=p->pNext;
}
}

void StudentList::DeleteStudent()
{
string ID;
cout<<"Please input the student's ID"<<endl;
cin>>ID;
Node* pPre;
Node* p=pHead;
while(p!=NULL)
{
pPre=p;
if(ID==p->sID)//因为学号唯一,所以查找到后直接删除,不用继续查找
{
pPre->pNext=p->pNext;
delete p;
cout<<"删除成功!"<<endl;
return;
}
p=p->pNext;
}
cout<<"不存在些学号的学生纪录"<<endl;
}



不用删除功能可以正常显示,当用了删除功能后就不能正常显示了,报错!
...全文
评论 2
收藏 已收藏
分享
返回顶部
smdszgzh
C++ 语言 65,214 成员 250,514 内容