Решил сделать отдельную тему, т.к. в
предыдущей развернулся не маленький спор. Не буду мешать.
Так вот, у меня такая проблема: не каким боком не хочет генерировать число. В книге такой пример:
#include <iostream>
#include <stdlib.h>
// Программа-игра "Угадай число"
using namespace std;
int main()
{ cout << "Задумано число от 1 до 1000." << endl;
cout << "Попробуйте угадать!" << endl;
cout << "Вам дается не более 10 попыток" << endl;
const int n = 10; // Максимальное число попыток
randomize(); // Инициализация датчика случайных чисел
unsigned int number = random(1000) + 1; // Случайное число
unsigned getnum; // Получаемое число от пользователя
int i = 0;
while (i < n);
{ cout << "Какое число задумано?" << endl;
cin >> getnum;
++i; // Считаем количество попыток
if (number < getnum) cout << "Задуманное число меньше!\n";
if (number > getnum) cout << "Задуманное число больше!\n";
if (number == getnum)
{ cout << "Вы угадали!!!\n";
cout << "Сделано " << i << " попыток.\n";
return 0; // Завершение с успехом
}
}
cout << "Вы исчерпали все попытки! Жаль."<< number << endl;
return -1; // Завершение с неудачей
}
Компилятор говорит:
~$ g++ -o '/home/test/random_igra' '/home/test/random_igra.cpp'
/home/test/random_igra.cpp: В функции «int main()»:
/home/test/random_igra.cpp:8:12: ошибка: нет декларации «randomize» в этой области видимости
/home/test/random_igra.cpp:9:35: ошибка: too many arguments to function «long int random()»
/usr/include/stdlib.h:327:17: замечание: declared here
Перечитал много разных статей и тем на форумах,
(и не всегда понятно где написан правильный код, который используют в данное время)
но так и не нашел решения. с функцией rand() программа успешно компилируется, но когда доходит до ввода предполагаемого числа, программа его не проверяет и не выводит сообщений.
~$ /home/test/random_igraЗадумано число от 1 до 1000.
Попробуйте угадать!
Вам дается не более 10 попыток
500
Вот я ввожу число 500 и дальше ничего не происходит.
Что с этим делать?