Używanie freopen () do drukowania do pliku i ekranu

Próbuję użyć freopen () do drukowania do pliku tekstowego i ekranu, ale osiągam tylko drukowanie do pliku.

Zastanawiałem się, czy można łatwo zapisać dane wyjściowe programów do pliku i wydrukować je na ekranie? Ponieważ miałem to w inny sposób, ale skończyło się na tym, że musiałem wydrukować każde oświadczenie dwukrotnie. Jeden jest dla pliku, drugi tylko dla wyjścia.

Uwaga: Jestem nowym użytkownikiem C ++ i próbuję nauczyć się go na zajęciach w następnym semestrze, więc potrzebna jest bezpośrednia odpowiedź, ponieważ już patrzę online i nie mogę znaleźć żadnych prostych odpowiedzi na to rozwiązanie.

Oto, co mam do tej pory:

#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<fstream>

using namespace std; 

void menu(){
    cout << "\t********************************************************\n"
         << "\t* Welcome to slot machine.                             *\n"
         << "\t* Would you like to play? (1 to play, 2 not to play)   *\n"
         << "\t********************************************************\n\n";
    return;
}

void update(int arr[], int &token) {
    if (arr[0]==arr[1] && arr[1]==arr[2]) {
        token+=4;
        cout << "You win\n\n";
    } else if (arr[0]==arr[1] || arr[1]==arr[2] || arr[0]==arr[2]) {
        token+=1;
        cout << "You got two out of three\n\n";
    } else {
        token-=1;
        cout << "You lose\n\n";
    }
}

int main() {
    freopen("file.txt", "w", stdout);
    int x, arr[3], token=4;
    srand(time(0));
    menu();
    cin >> x;
    while(token!=0) {
        cout << "You have " << token << " tokens\n\n"
             << "Pull? (1 to pull, 2 not to pull)\n\n";
        cin>>x;
        if(x==1) {
            for(int i=0; i<3; i++) {
                arr[i]=1+rand()%10;
            }
            cout << "\t\t";
            for(int j=0; j<3; j++) {
                cout << arr[j] << " ";
            }
            cout << "\n\n";
            update(arr,token);
        }
        else{  
            cout << "OK\n";
        }
    }
    cin.get();
    return 0;
}

questionAnswers(2)

yourAnswerToTheQuestion