Я пытаюсь написать программу, которая использует функцию для генерации 10 случайных чисел в пределах диапазона, предоставленного пользователем. Это, кажется, работает хорошо, за исключением того факта, что числа возвратили все 1:Генератор случайных чисел в пределах заданного диапазона
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int rand_int(int min, int max);
int main()
{
int min, max;
cout << "Hello user.\n\n"
<< "This program will generate a list of 10 random numbers within a
given range.\n"
<< "Please enter a number for the low end of the range: ";
cin >> min;
cout << "You entered " << min << ". \n"
<< "Now please enter a number for the high end of the range: ";
cin >> max;
while(min > max){
cout << "Error: Your low number is higher than your high number.\n"
<< "Please reenter your high number, or press ctrl + c
to end program.\n";
cin >> max;
cout << endl;
}
for(int i = 0; i < 10; i++){
int rand_int(int min, int max);
cout << rand_int << endl;
}
return 0;
}
int rand_int(int min, int max)
{
srand(time(0)); // Ensures rand will generate different numbers at different times
int range = max - min;
int num = rand() % (range + min);
return num;
}
Вы должны вернуться и прочитать о вызовах определения переменных и функций. Кроме того, не перегружайте каждый раз (особенно не с 'time (0)' в узком цикле). – jerry
Можете ли вы быть более конкретным? У меня есть книга прямо передо мной, и она не очень подробно описывает, где и как вы можете их назвать. – Bobby
Попробуйте выполнить код с помощью отладчика, и если у вас нет одного отпечатка, введите код, чтобы показать, что происходит. –