سلام و خسته نباشید خدمت همه دوستان

یه مشکل داشتم تو این برنامه هر کاری میکنم نمیتونم شماره های ذخیره شده تو این لیست پیوندی رو اجرا کنم .

برنامه اطلاعات میگیره ولی نمی تونه خروجی بهم بده دوستان لطف کنن و راهنمایی کنن.!!

(تصویر ارور اجرای برنامه رو هم گذاشتم.)

تصویر 1
[برای نمایش لینک باید عضو شوید. ]
[برای نمایش لینک باید عضو شوید. ]
بعد از زدن ok
این صفحه باز میشه
تصویر 2
[برای نمایش لینک باید عضو شوید. ]
[برای نمایش لینک باید عضو شوید. ]




این کد برنامس !
نکته دیگه اینکه فقط این برنامه رو با borland C++ اجرای کنم...



#include <iostream.h>


void addname();
void display();

struct ID{
ID *lastP;
int id;
char first[20] ;
char last[20];
char number[20];
ID *nextP;
}Person;

ID *current=NULL;
ID *first=NULL;

void main()
{
int ex=1;
while(ex==1)
{
int choice;
cout << "\n1. Sabte Shomare Jadid\n"
"2. Nemayesh Shomare Ha\n"
"3. Khoroj\n"
"Choice: ";

cin >> choice;

switch (choice)
{
case 1: addname(); break;
case 2: display(); break;
case 3: ex=0; break;
default:
cout<<"\n|| Gozineh Vared Shode Eshtebah Ast.\n"<<endl;

}
}
}
void addname()
{
char ex;

while(1)
{
ID newName;
cout<<"Enter Name: ";
cin>>newName.first;
cout<<"Enter Family Name: ";
cin>>newName.last;
cout<<"Enter PhoneNumber: ";
cin>>newName.number;
newName.lastP=NULL;
newName.nextP=NULL;
if(current==NULL)
{
first=&newName;
}
else
{
current->nextP=&newName;
newName.lastP=current;
}
current=&newName;
cout<<"\n Baz Ham Shomare Jadidi Save Mikonid?"<<endl
<<"(y) YES (n) NO: ";
cin>>ex;
if(ex == 'n')
{
break;
}
}
}
void display()
{
ID *nextP=first;
while (true)
{
cout<<(*nextP).first<<" - "<<(*nextP).last<<(*nextP).number<<"\n";
if((*nextP).nextP==NULL)
{
break;
}
nextP=nextP->nextP;
}
}