Problème avec les classes.

xelados Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 15 avril 2005 - 15 avril 2005 à 19:13
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 - 27 sept. 2011 à 17:42
J'ai commencer les classes et j'avoue que je les comprend plus ou moin je ne sais pas exactement c quoi mes erreurs .. mais j'en nais 16 ... Ce que j'ai tenté de faire est de faire une classe qui renvoie une chiffre aléatoire .... avec deux variable chiffre maximal et minimal mais qui sont entree au clavier dans main.cpp . ensuite je voulais que quand le chiffre maximal et minimal on été entrée, qu'ils sois passer dans ma classe hasard pour retourner un chiffre aléatoire et que ma classe se vide des chiffre max et min entrée pour la reutiliser a velonter c un facteur important pour ce que je veux faire ... mais j'ai vraiment l'impression d'avoir fait sa tout croche. Mon compilateur est MSVC++2003.net et voici mes trois fichier.
----------------------------------------------------------------------
fact_hasard.h
----------------------------------------------------------------------
class hasard
{
private:
int h_max,h_min;

srand(time(NULL));


public:
int aleatoire;

aleatoire = rand()%h_max+h_min;
};
------------------------------------------------------------------------
fact_hasard.cpp
------------------------------------------------------------------------
#include
#include<stdlib>
#include<time.h>
#include"fact_hasard.h"


using std::cout;
using std::cin;
using std::endl;

int main()
{
int &d_max;
int &d_min;
hasard *p_alea_max;
hasard *p_alea_min;

p_alea_max = new hasard;
p_alea_min = new hasard;

p_alea_max->h_max=d_max;
p_alea_min->h_min=d_min;

delete p_alea_max;
delete p_alea_min;

return aleatoire;
}
------------------------------------------------------------------------
main.cpp
------------------------------------------------------------------------
#include
#include"fact_hasard.h"


using std::cout;
using std::cin;
using std::endl;


int main()
{
int quitter;
int *ent_max;
int *ent_min;

ent_max = &d_max;
ent_min = &d_min;

cout<<"Entree la valeur maximal du d‚ : ";
cin>>ent_max;
cout<<endl;

cout<<"Entree la valeur minimal du d‚ : ";
cin>>ent_min;
cout<<endl;

cout<<"le d"<<ent_max<<" est tomber sur : "<>quitter;

return 0;
}
------------------------------------------------------------------------

voici mon code si vous pouvez m'aider avec une explication de mes erreur j'apprécirais enormément.

merci.

4 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
15 avril 2005 à 20:07
Tu devrais relire des tutoriaux sur l'orienté objet car il semble que
pour l'instant, tu ne comprennes pas vraiment ce que sont les classes.

Les fonctions que tu appelles "srand" n'ont pas de sens là ou tu
les mets. Tu confonds avec les fonctions donc renseigne toi.



Voici en tout cas une version plus correct de ta classe:



class hasard
{


private:
int
h_max,h_min;



public:

// constructeur:

hasard(int min, int max)

{

this->h_max = max;

this->h_min = min;


srand(time(NULL));


}

// destructeur

~ hasard(void) { }



int hasard_get(void)

{

return
rand()%h_max+h_min;

}


};



BOn j'espère que c'est correct car j'avoue ne pas connaitre le
fonctionnement de rand, mais en tout cas, la classe présenté ainsi est
correct.

Cependant , je trouve étrange de faire une classe pour ca.

On l'utilise de la facon suivante:



hasard h1 ( 2 , 10);

int nb = h1.hasard_get();
0
cs_psycho Messages postés 232 Date d'inscription samedi 11 mai 2002 Statut Membre Dernière intervention 27 octobre 2007
16 avril 2005 à 00:21
salut!





Tu dois avoir une erreur du tonnerre avec 2 points d'entrée dans ton programme...Il me semble que l'on ne peut pas avoir 2 fonctions main....

La classe de luhtor me semble correcte (avec l'utilisation de rand)


En tout cas, il te faut ingurgiter plus de documents sur le c++

Psycho
0
mokhcodes Messages postés 2 Date d'inscription lundi 26 septembre 2011 Statut Membre Dernière intervention 8 décembre 2012
27 sept. 2011 à 16:10
merci à l'effort mais la prochaine fois si vous pouvez simplifiez un peu à l'aide des commentaires plus précises la manière d'enregistrer de tel extension et comment on peut l'executer
0
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 1
27 sept. 2011 à 17:42
C'est déjà très clair. Du code source ne s’exécute pas (ce n'est pas du script). Il semble que tu ais plus besoin que notre ami xelados de cours de c++
0
Rejoignez-nous