i wanted to read the text file by words and then apply each word for the linked list
but when i apply the whole content will goes to the first node of linked list
any idea what do i have to modify in the code
updated
i wander how can i iterate the word over the linked list i know i need another loop inside the while but i do not how do to it
it is build with C++
the file is working it showing by words but what i do not understand is how to take the words to be linked to each other
code:
 #include <bits/stdc++.h>
 #include <iostream>
 #include<string>
 using namespace std; 
  
class LinkedList{
    // Struct inside the class LinkedList
    // This is one node which is not needed by the caller. It is just
    // for internal work.
    struct Node {
        string x;
        Node *next;
    };
// public member
public:
    // constructor
    LinkedList(){
        head = NULL; // set head to NULL
    }
    // destructor
    ~LinkedList(){
        Node *next = head;
        
        while(next) {              // iterate over all elements
            Node *deleteMe = next;
            next = next->next;     // save pointer to the next element
            delete deleteMe;       // delete the current entry
        }
    }
    
    // This prepends a new value at the beginning of the list
    void addValue(string val){
        Node *n = new Node();   // create new Node
        n->x = val;             // set value
        n->next = head;         // make the node point to the next node.
                                //  If the list is empty, this is NULL, so the end of the list --> OK
        head = n;               // last but not least, make the head point at the new node.
    }
    // returns the first element in the list and deletes the Node.
    // caution, no error-checking here!
    string popValue(){
        Node *n = head;
        string ret = n->x;
        head = head->next;
        delete n;
        return ret;
    }
// private member
private:
    Node *head; // this is the private member variable. It is just a pointer to the first Node
};
int main() { //linkedlist
    LinkedList list;
    //string usama="usama";
    //list.addValue(usama);
    //list.addValue("h");
    //list.addValue("u");
    //cout << list.popValue() << endl;
    //cout << list.popValue() << endl;
    //cout << list.popValue() << endl;
    // because there is no error checking in popValue(), the following
    // is undefined behavior. Probably the program will crash, because
    // there are no more values in the list.
    // cout << list.popValue() << endl;
    
    //file
     // filestream variable file 
    fstream file; 
    string word, t, q, filename; 
  
    // filename of the file 
    filename = "file.txt"; 
  
    // opening file 
    file.open(filename.c_str()); 
  
    // extracting words from the file 
    while (file >> word) 
    { 
        list.addValue(word);
        cout<<list.popValue()<<endl;
        // displaying content 
        //cout << word << endl; 
    } 
    return 0;
}
i know maybe something wrong with the while loop but i am stuck at it
 
    