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

#include <iostream>
#include <cstdlib>

int main(){
    int guess;
    int num;

    num=rand();

    do{
        std::cout<<"Enter your guess...\n";
        std::cin>>guess;
        if(guess==num){
            std::cout<<"molodec hahahha\n";
            std::cout<<num<<"this magic number HHAHA\n";
        }
        else{
            std::cout<<"nu shto plaki plaki????\n";
        }
            if(num>guess) std::cout<<"Tvoe chislo bol'she magicheskogo , NUZNO MEN'SHE\n";
            else std::cout<<"Tvoe chislo men'she magicheskogo , NUZNO BOL'SHE\n";
    }while(guess != num);  
}

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

Автор решения: Harry
if(num>guess) std::cout<<"Tvoe chislo bol'she magicheskogo , NUZNO MEN'SHE\n";

А если подумать? Твое число guess, оно в ветке, где истинно num > guess — и оно больше?!

Исправьте логику на верную, т.е. знак > на <...

И выход из цикла сразу при угадывании, а то после того как угадал, сначала напишет Tvoe chislo men'she magicheskogo , NUZNO BOL'SHE

https://ideone.com/MvlKrg

→ Ссылка