Как вычислить функцию rand()?
inline int getRandomNumber(int start, int end) {
	return start + rand() % (end - start);
}
допустим для getRandomNumber(10, 20); 
rand() генерит числом до RAND_MAX, 
% (end - start) "обрезает"(остаток от деления) до 10, т.е. 555 % 10 = 5
start + сдвигает на 10
Но лучше не использовать rand, а использовать современные решения https://stackoverflow.com/a/7560564/7458932
Если вы не в курсе, то у rand очень плохой псевдорандом и для серьёзных целей есть целый отдельный хедер с кучей других генераторов
и для double https://stackoverflow.com/a/9324796/7458932
double random(int a, int b)										
{
  return (double) a + (double)rand() / RAND_MAX * (b-a) ; 
}
Да в принципе, как у вас. Только в параметры функции добавились числа a и b. Длина диапазона вычисляется как разность конца и начала.
Пример использования:cout << random(50, 100); // число в диапазоне [50, 100]
P.S. при необходимости a,b можно сделать double