Random C++ VS 2005 PROB!!!!

Fermé
lavoiekeven Messages postés 22 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 21 septembre 2009 - 24 avril 2008 à 16:59
Emeric84 Messages postés 30 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 20:38
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;
}
A voir également:

1 réponse

Emeric84 Messages postés 30 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 24 avril 2008 8
24 avril 2008 à 20:38
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 :-)
0