Randomize

Signaler
-
Messages postés
2
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
6 juillet 2005
-
salut à tous, je débute en C++ et j'utilise VC++ pour compiler mes prog :
le prob :
avec ce petit programe (plus bas)il me sort 2 erreurs :
error C2065: 'randomize' : undeclared identifier
error C2065: 'random' : undeclared identifier

voici le prog !

#include
#include <conio.h>
#include <stdlib.h>

//programme principal
void main (void)
{
unsigned int machine, joueur;

{

cout <<"VOTRE CHOIX\n";
cout <<"1 ...Ciseaux\n";
cout <<"2 ...Pierre\n";
cout <<"3 ...Feuille\n";
cout <<"4 ...Puits\n";
cout <<"Selection de l'option : ";
cin >> joueur ;
}

{
randomize ( );
machine = random (4);
if (machine ==0) machine =4 ;
}

{
cout <<"votre choix :\n";

switch (joueur) {
case 1 :cout <<"Ciseaux\n";break;
case 2 :cout <<"Pierre\n"; break;
case 3 :cout <<"Feuille\n"; break;
case 4 :cout <<"Puits\n"; break;}
cout <<"choix de l'ordinateur :\n";

switch (machine) {
case 1 :cout <<"Ciseaux\n";break;
case 2 :cout <<"Pierre\n"; break;
case 3 :cout <<"Feuille\n"; break;
case 4 :cout <<"Puits\n"; break;}

}
}
je bloque déja là, aidez moi SVP !!

7 réponses

ton prog marche tres bien chez moi sous dos! Mais bon, moi pour la generation au hazard, je fais pas comme ça mais comme ça

#include
#include <conio.h>
#include <stdlib.h>

int main()
{

int a=(rand()%4)+1;//entre 1 et 4
int b=(rand()%4);//entre 0 et 4
cout<<a;
cout<<b;

return 0;

}
ton prog marche tres bien chez moi sous dos! Mais bon, moi pour la generation au hazard, je fais pas comme ça mais comme ça

#include
#include <conio.h>
#include <stdlib.h>

int main()
{

int a=(rand()%4)+1;//entre 1 et 4
int b=(rand()%4);//entre 0 et 4
cout<<a;
cout<<b;

return 0;

}
-------------------------------
Réponse au message :
-------------------------------

ton prog marche tres bien chez moi sous dos! Mais bon, moi pour la generation au hazard, je fais pas comme ça mais comme ça

#include
#include <conio.h>
#include <stdlib.h>

int main()
{

int a=(rand()%4)+1;//entre 1 et 4
int b=(rand()%4);//entre 0 et 4
cout<<a;
cout<<b;

return 0;

}
Merci pour ta réponse, j'en conclue donc que mon VC++ 6 serait mal installé ?
Voila le plus simple et compile assurement avec ms vc 6.0

//fonction randomize a 2 parametres :
//min = borne inferieur
//max = borne superieur
#include <stdlib.h>
#include <time.h>
int randomize(int min,int max)
{
unsigned int a = time (NULL);
int r = rand();
r=((r+a)%(max-min))+min;
return r;
}
Messages postés
2
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
6 juillet 2005

Bonjour j'ai une question a vous poser, j'ai tester la fonction randomize que vous avez posé mais celle ci ne fonctionne pas vraiment comme jle souhaite . Je m'explique lorsque l'on compile le code et que l'on met par exemple dans le main un nombre de 0 a 1000 en effet la fonction randomize marche a la première execution.et me donne un nombre de a 1000 au hazard mais si on reexecute juste apré le nombre apré n'est pas exactement un nombre au hazard entre 0 et 1000 pask il incremente juste le reultat obtenu avant d'environ dix (depend du temps d'intervalle entre les deux execution) , si je ne suis pas clair je vais illustrer d'un exemple.
Je Compile je prend l'executable. je clique deux fois dessus j'obtien par exemple 523
je quitte l'exe et je reexecute l'exe juste apré et la jobtien 533.
je refais la même manipulation et la j'obtien 541.
et ainsi de suite , existe-t-il en c une fonction en ccp qui permet de faire un vrai random?? merci pour vos reponses

------------------------------------------------------------------------------------
#include <stdlib.h>
#include <time.h>
#include
#include <conio.h>
int randomize(int min,int max)
{
unsigned int a = time (NULL);
int r = rand();
r=((r+a)%(max-min))+min;
return r; }
void main() {
cout << randomize(0,1000) <<endl;
getch();
}
Messages postés
2
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
6 juillet 2005

Dsl mon compilateur avait craqué,

int rand(int min,int max)
{
unsigned int a = time (NULL);
int r = rand();
r=((r+a)%(max-min))+min;
return r;
}

marche très bien bonne journée a tous