IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Débutant Galère avec le random


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Par défaut Débutant Galère avec le random
    Bonjour
    Je suis étudiant en informatique et dans l'optique de travailler le c++ j'ai voulu coder un jeu de carte.
    Mon probleme est que j'ai beau suivre des tutoriels sur le rand() je n'arrrive pas à faire une fonction que fonctionne.

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    #include <time.h>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace std;
    #include "fonction_carte.h"
     
     
    int aléatoire(int a, int b)
    {
    	return rand() / RAND_MAX * (b - a) + a;
    }


    cette fonction me retourne toujours 0.

    Merci d'avance pour vos conseils.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    rand retourne un int, RAND_MAX est un int qui sera < au retour de rand (il me semble que RAND_MAX est inatteignable mais je n'en ai pas la certitude).
    Donc la division entière sera toujours 0.
    Du coup ta fonction elle retournera toujours a.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Par défaut
    J'ai essayer de remplacer la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return rand() /RAND_MAX * (b - a) + a;
    par la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return rand() / (b - a) + a;
    Dans ce cas la valeur retournée sortait de mon interval (a;b)

    puis par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return rand() % (b - a) + a;
    Et maintenant la fonction me retourne toujours 2.

    avec un intervale [0;3].

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    La fonction rand() est un reliquat du C à ne plus utiliser.
    C++11 a apporté bien mieux : std::uniform_int_distribution.

    Également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <time.h>
    #include <stdio.h>
    #include <stdlib.h>
    sont des entêtes C et pas C++ qui supprime le .h et ajoute un « c » devant.

    using namespace std; est également une très mauvaise pratique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débutant qui galère avec un formulaire
    Par Bounty Killer dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/05/2007, 08h16
  2. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28
  3. [Débutant] Lenteur avec TComPort
    Par PhDt76 dans le forum C++Builder
    Réponses: 22
    Dernier message: 27/09/2003, 21h43
  4. galère avec my2pg.pl
    Par fafet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/07/2003, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo