Random C++ VS 2005 PROB!!!!
lavoiekeven
Messages postés
24
Statut
Membre
-
Emeric84 Messages postés 30 Statut Membre -
Emeric84 Messages postés 30 Statut Membre -
Bonjour, voici mon random qui génère toujours le même chiffre je suis ouvert a toute suggestion j'ai essayer plusieurs version mais toujours le même problème Merci !
.H
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <iostream>
class DieuCylon
{
public:
int generation();
DieuCylon(void);
~DieuCylon(void);
};
.CPP
#include "DieuCylon.h"
DieuCylon::DieuCylon(void)
{
}
DieuCylon::~DieuCylon(void)
{
}
int DieuCylon::generation()
{
srand((unsigned int)time(NULL));
int nb = 1 + int( double( rand() ) / ( double( RAND_MAX) + 1 ) * 10.0 );
return nb;
}
.H
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <iostream>
class DieuCylon
{
public:
int generation();
DieuCylon(void);
~DieuCylon(void);
};
.CPP
#include "DieuCylon.h"
DieuCylon::DieuCylon(void)
{
}
DieuCylon::~DieuCylon(void)
{
}
int DieuCylon::generation()
{
srand((unsigned int)time(NULL));
int nb = 1 + int( double( rand() ) / ( double( RAND_MAX) + 1 ) * 10.0 );
return nb;
}
A voir également:
- Random C++ VS 2005 PROB!!!!
- Money 2005 - Télécharger - Comptabilité & Facturation
- Udp vs tcp - Guide
- Samsung a15 vs a16 - Accueil - Téléphones
- Naruto vs pain épisode netflix ✓ - Forum Cinéma / Télé
- X86 vs x64 ✓ - Forum Windows 7
1 réponse
C'est on ne peut plus simple... Votre programme fonctionne tout à fait bien au niveau de la génération aléatoire de nombre, c'est la ligne suivante qui ne convient pas :
int nb = 1 + int( double( rand() ) / ( double( RAND_MAX) + 1 ) * 10.0 );
En effet, vous vous méprenez sur l'usage du rand(), e.g. remplacez par :
int nb=(rand()%10)+1;
Vous constaterez que le programme génère un nombre entre 1 et 10... Bon courage :-)
int nb = 1 + int( double( rand() ) / ( double( RAND_MAX) + 1 ) * 10.0 );
En effet, vous vous méprenez sur l'usage du rand(), e.g. remplacez par :
int nb=(rand()%10)+1;
Vous constaterez que le programme génère un nombre entre 1 et 10... Bon courage :-)