here's the problem
when i push a number say...
2 4 5 6
the display result is 6->6->6->6->
when i choose pop options the result is
The popped element is 6
and i press 2 again to pop out
The popped element is 6 (again)

Is the output really 6->6->6->6->, or is it ->6->->6->->6->->6-> ? Make sure you state EXACTLY the output from the program (for example, you've changed "poped" to "popped", so clearly either you haven't given the output from the program or you've changed the code since posting it).

cout << "->" <<data << "->",temp->data;

Interesting use of the comma operator. Maybe have another look at this line?