Random C++ VS 2005 PROB!!!!
lavoiekeven
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Emeric84 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Emeric84 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
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
- Mb vs mo ✓ - Forum Matériel & Système
- Samsung a15 vs a16 - Accueil - Téléphones
- 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 :-)