AOA
Dear fellows i have code in which i uses linked list.when i compile that program the compiled file run but not work.
I write this code in Dev c++.

#include <iostream.h>
#include <string.h>
#include <stdlib.h>

using namespace std;
class Node
{
public:
int value;
string Name;
Node * next;
Node(int a, string b)
{
this->value=a;
this->Name=b;
this->next=NULL;
}
};
Node *Head;


void addNod(int value, string name)
{
Node *p;
if(Head==NULL)
{
Head = new Node(value,name);
}
else
{
p=Head;
while(p->next!=NULL)
{
p=p->next;
}
p->next = new Node(value,name);
}
}
void SearchThis(string a)
{
while(Head->Name!=a)
{
Head=Head->next;
}
cout<<"found: "<< Head->value<<" "<<Head->Name<<endl;
}
void DeleteFunction(string InfoToDelet)
{
Node *Current, *NextCurrent;


if(Head->Name==InfoToDelete)
{
Current=Head;
Head=Head->next;
delete Current;
}
else
{
Current=Head;
while(Current!=NULL && Current->Name!=InforamtionToDelete)
{
NextCurrent = Current;
Current = Current->next;
}
if(Current)
{
NextCurrent->next = Current->next;
delete Current;
}
}
}
void PrintList()
{
Node *Print;
Print = Head;
while(Print!=0)
{

cout<<Print->value<<" "<<Print->Name<<endl;
Print=Print->next;
}

}
int main()
{
int choice;
cout<<"1- Enter student information"<<endl;
cout<<"2- Search student by ID"<<endl;
cout<<"3- Search student by Name"<<endl;
cout<<"4- Delete student information"<<endl;
cout<<"5- Print all students"<<endl;
cout<<"6- Quit"<<endl;
int ID;
string na;
while(choice!=6)
{
cout<<"\n\n \t\tEnter ur choice \n "<<endl;
cin>>choice;

if(choice==1)
{

cout<<"Enter ID ";
cin>>ID;
cout<<"Enter name ";
cin>> na;
addNod(ID,na);
}
else if(choice==2)
{
cout<<"Search Student by ID "<<endl;
cin>>ID;
SearchThis(ID);
}
else if(choice==3)
{
cout<<"Search student by name "<<endl;
cin>>na;
Search This(na)

}
else if(choice==4)
{
cout<<"Delete Student Information "<<endl;
cin>>DeleteFunction(Information);
DeleteThis(Information);
}
else if(choice==5){
cout<<"Print All Students "<<endl;
PrintList();
}
else
{
return 0;
}

}


system("pause");
}

Take another look at your SearchThis() function -- what does it do to your Head pointer? Probably not what you intended to have happen. Instead use a temporary pointer as you do in addNod(). Also, what happens if the string isn't in the list at all? It doesn't look like you handle that case.

Gotta run, I'll check back a bit later.

This article has been dead for over six months. Start a new discussion instead.