I want to output a score in a file high.txt that is highest among the previous score (It is actually a guessing game) but everytime i run this code it outputs 1 as the highest score (it should be no of time i guess for example if i guess the random no 5 times it would output 5 and the next time I compile and run it and if i guess it in 1 chance it should output 1).
 
#include<iostream>
#include<ctime>
#include<cstdlib>
#include<string>
#include<vector>
#include<array>
#include<fstream>
using namespace std;
void print_vec(vector<int>vector)
{
    for(int i=0;i<vector.size();i++)
    {
        cout<<vector[i]<<"\t";
    }cout<<"\n";
}
void play()
{
vector<int> guesses;
    int g_count=0;
    int random=rand()%251;
    cout<<random<<"\n";
    cout<<"Guess a no";
    while(true)
    {
        int guess;
        cin>>guess;
        g_count++;//g_count++
        guesses.push_back(guess);
        if(guess==random)
        {
            cout<<"You win hurray\n";
            break;
        }
        else if(guess<random)
        {
            cout<<"too low\n";
        }
        else
        {
            cout<<"too high\n";
        }
ifstream input ("high.txt");
input.is_open();
if(!input.is_open())
{
    cout<<"Unable to open file\n";
    return;
}
int scoring;
input>>scoring;
ofstream output("high.txt",ios::out);
if(!input.is_open())
{
    cout<<"Unable to open file\n";
    return;
}
if(g_count<scoring)
{
    output<<g_count;
}
else
{
    output<<scoring;
}
    }print_vec(guesses);
}
int main()
{
    srand(time(NULL));
    int choice;
    do
    {
        cout<<"\n 0. Quit"<<"\n 1. Play \n";
        cin>>choice;
    switch(choice)
    {
    case 0:
        cout<<"\n thanks for nothing";
        break;
    case 1:
        play();
    }
 }
 while(choice!=0);
}
 
                       
                    
0 Answer(s)