Я задаю число,а компьютер должен угадать. Но когда компьютер угадает число, программа не выводить строку угадания

#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
    srand(static_cast<unsigned int>(time(0))); //Launching of generator of random numbers
    int tries = 0;
    int pick;
    cout<<"\tWelcome to Pick Number\n\n";
    cout<<"Enter a pick: ";
    cin>>pick;
    int secret;
    secret = rand() % 100 +1; //random number in a diapason between 1 and 100
    int secret1;
    int secret2;
    do{
        cout <<"\nComputer thinking about: " <<secret <<"\n";
        ++tries;
        if(pick<secret){
            cout<<"Computer's guesses are too high!\n";
            secret1 = secret;
            secret = 1+rand() % (secret1-1+1); //random number in a diapason between 1 and 100
        }
        else if(pick>secret){
            cout<<"Computer's guesses are too low!\n";
            secret2 = secret;
            secret = secret2 + rand() % (100-secret2+1); //random number in a diapason between 1 and 100
        }
        else if(pick == secret) {
            cout<<"\nThat's it! Computer got it in " <<tries <<" guesses!\n";
        }
    }while(pick != secret);
    return 0;
}

Ответы (1 шт):

Автор решения: Harry

Есть у меня подозрение, что на самом деле вы хотели вот это, но не смогли пояснить:

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

int main()
{
    srand(time(0));
    int tries = 0;
    int pick;
    cout << "\tWelcome to Pick Number\n\n";
    cout << "Enter a pick: ";
    cin >> pick;
    for(int secret = -1, secretHigh = 100, secretLow  = 0;secret != pick;)
    {
        secret = secretLow + rand() % (secretHigh-secretLow+1);
        cout << "\nComputer thinking about: " << secret << "\n";
        ++tries;
        if (pick < secret)
        {
            cout << "Computer's guesses are too high!\n";
            secretHigh = secret-1;
        }
        else if (pick > secret)
        {
            cout << "Computer's guesses are too low!\n";
            secretLow = secret+1;
        }
        else
        {
            cout << "\nThat's it! Computer got it in " << tries << " guesses!\n";
        }
    }
}
→ Ссылка