Problème avec les classes.

Signaler
Messages postés
9
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
15 avril 2005
-
cs_LA_Tupac
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
-
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

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
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();
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007

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
Messages postés
2
Date d'inscription
lundi 26 septembre 2011
Statut
Membre
Dernière intervention
8 décembre 2012

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
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012

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++