#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int guess;
srand ( time(NULL) ); // инициализация функции rand значением функции time
int secret = rand() % 10 + 1; // сгенерировать секретное число
do {
cout << "otgadayte (ot 1 do 10): ";
cin >> guess;
if (secret < guess) cout << "sekretnoe chislo meshe\n";
else
if (secret > guess) cout << "sekretnoe chislo bolshe\n";
} while (secret != guess);
cout << "pozdravlyayu\n";
return 0;
}
Программа хорошо работает (secret != guess) почему знак != (не ровен) меняет свое предназначение ведь в программе по логике сгенерированое число нужно чтобы совпадало с вводным числом, чтобы отображалось ПОЗДРАВЛЯЮ.
Обьясните ПЖ.
Не ясно, почему вы считаете, что "знак != меняет свое предназначение".
У вас в программе оператор != содержится только в условии цикла do/while. Этот цикл занимается запросом от пользователя очередного числа и проверкой его на правильность. Условие, указанное в части while(...) цикла do/while является условием продолжения выполнения цикла. Именно продолжения, как и во всех остальных типах циклов в С и С++.
То есть фактически условие secret != guess в этом цикле означает: если число не угадано, то продолжать выполнять цикл, т.е. продолжать запрашивать новые числа от пользователя.
Никакой "смены предназначения" тут нет.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости