C++ linked list 2

Description

C++ linked list 2

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string.h>
#define nullptr 0  // required for pre-'09 compilers

using namespace std;

class NameLinkedList{
  public:/*from  www . ja v a  2 s  .  c o  m*/
    string sName;
    NameLinkedList* pNext;
};

NameLinkedList* pHead = nullptr;

void add(NameLinkedList* pNDS){
    pNDS->pNext = nullptr;

    if (!pHead){
        pHead = pNDS;
        return;
    }
    NameLinkedList* pIter = pHead;
    while(pIter->pNext){
        pIter = pIter->pNext;
    }
    pIter->pNext = pNDS;
}
NameLinkedList* getData(){
    string name;
    cout << "Enter name:";
    cin  >> name;

    if (name == "exit"){
        return nullptr;
    }
    NameLinkedList* pNDS = new NameLinkedList;
    pNDS->sName = name;
    pNDS->pNext = nullptr; // zero link

    return pNDS;
}

int main(int nNumberofArgs, char* pszArgs[]){
    cout << "Read names of employees\n" << "Enter 'exit' for first name to exit" << endl;

    NameLinkedList* pNDS;

    while (pNDS = getData()){
        add(pNDS);
    }

    cout << "\nEntries:" << endl;
    for(NameLinkedList *pIter = pHead; pIter; pIter = pIter->pNext){
        cout << pIter->sName << endl;
    }
    return 0;
}



PreviousNext

Related