Problème avec les classes.

Messages postés
9
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
15 avril 2005
- - Dernière réponse : 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.
Afficher la suite 

4 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
4
0
Merci
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();
Commenter la réponse de luhtor
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007
0
Merci
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
Commenter la réponse de cs_psycho
Messages postés
2
Date d'inscription
lundi 26 septembre 2011
Statut
Membre
Dernière intervention
8 décembre 2012
0
Merci
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
Commenter la réponse de mokhcodes
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
0
Merci
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++
Commenter la réponse de cs_LA_Tupac