Hi, I'm a beginner in C++ and just learned linked lists.I'm trying to write a code which creates a linked list according to the int numbers taken from the user and prints them all.i'm writing the code in Dev c++.However i have a problem in printing the list.By the way my do-while statement seems to have some problems as well.i searched the web but i couldn't make it working.I guess my problem is in the for loop.it never reaches the "else" in for loop.something might be wrong about NULL:/.Anyone help please.Here is my code.Thanks in advance:)

#include <iostream>
using namespace std;

struct Node{
       Node *next;
       int item;       

Node *head=new Node;
int size=1;
char answer;
Node *cur=head;
//creating a linked list
Node* createList(){
     int item;

             cout<<"Enter the item you want to add(-1 to quit) :";
             cout<<"item "<<cur->item<<" is added to the list"<<endl;
             cur->next=new Node;
                  Node *ptr=head;
                  Node* ptrNxt=ptr->next;
                  cout<<"List: {";   
                  //printing the entire list
                  for(int i=0;i<(size-1);i++){
                          else //PROGRAM NEVER REACHES HERE
     return head;    


int main()



First of all, next time please use a code tag.
Second, in such situations it is highly recommended to use a debugger.
Third, let's see what happens if the very first answer is -1: size becomes 2, head->item becomes -1, head->next is not NULL.

How many iterations will the printing loop go through? Of course it will never see the final node.

My recommendations:
1. You do not need the if/else inside the loop (hint: you print "{" outside of the loop; why would you want to print "}" from inside?)
2. Do not use size for list traversals. The list has an inherent end marker.

sorry about the code tag its the first time i write on this forum.

From your comments i undrestood that i have some algorithm problems..I will try to fix it.

Thanks for advises