sinon pour les double essaie voir quelque chose comme ça si ça convient :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include <iostream>
#include <time.h>
using namespace std;
// Déclaration des variables
int i =0;
double Valeur ;
// Une fonction pour générer des nombres alétoires
double NombreAleatoire (double Valeur)
{
return Valeur*(rand()/(double)RAND_MAX);
}
int main ()
{
srand (time(0));
cout << "Donner un nombre :: ";
cin >> Valeur ;
while (i<5)
{
cout<<"Le nombre numero "<< i++ <<" est : " <<NombreAleatoire(Valeur)<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
} |
rand() génère un nombre entier entre 0 et RAND_MAX
rand()/(double)RAND_MAX génère donc un nombre entre 0 et 1
plus qu'à multiplier par Valeur pour avoir entre 0 et Valeur
EDIT :
juste pour préciser que rand() génère un nombre entre 0 et RAND_MAX, tu auras donc RAND_MAX valeurs possibles pour ta fonction.
donc tout dépend de la valeur de RAND_MAX il va peut-être falloir adapter tout ça selon le nombre de valeurs possible que tu souhaites pouvoir obtenir avec ta fonction.