Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1180 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  choisir un nombre entre 1 et 1000 en C++

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

choisir un nombre entre 1 et 1000 en C++

n°275849
lecoyote
Posté le 26-12-2002 à 10:41:15  profilanswer
 

je cherche a faire un prg de tel sorte que le pc choisis au hasard un nombre entre 1 et 1000,
comment faire???
(il ne sera pas necessaire que l'on sache ce nbr choisi)

mood
Publicité
Posté le 26-12-2002 à 10:41:15  profilanswer
 

n°275850
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 10:48:02  profilanswer
 

rand() % 1000;


Message édité par Harkonnen le 26-12-2002 à 10:50:51

---------------
J'ai un string dans l'array (Paris Hilton)
n°275851
TBone
Pouet.
Posté le 26-12-2002 à 10:51:56  profilanswer
 

oui, plus une multiplication et une prise de l'entier seulement. non?
 
edit: grillaid pour la correction :)
quoiqu'il ne précise pas si le nombre doit être entier ou autre  :ange:


Message édité par TBone le 26-12-2002 à 10:53:20

---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°275852
lecoyote
Posté le 26-12-2002 à 10:54:29  profilanswer
 

si ca doit etre un entier...

n°275853
lecoyote
Posté le 26-12-2002 à 10:56:38  profilanswer
 

"rand() % 1000;"
dans rand() on met une variable?
comme par ex: rand(int x) % 1000;
le nombre choisi au hasard par le pc sera mis ds x?

n°275854
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 10:58:32  profilanswer
 

TBone a écrit :

edit: grillaid pour la correction :)


:d
en fait, j'avais validé par erreur (saloperie de touche TAB !!)
 

TBone a écrit :


quoiqu'il ne précise pas si le nombre doit être entier ou autre  :ange:  


rand() retourne un int de toute façon. pour obtenir un flottant, ça risque d'être plus complexe (int, flottant, complexe... humour !! [:ddr555])


---------------
J'ai un string dans l'array (Paris Hilton)
n°275855
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:00:35  profilanswer
 

LeCoyote a écrit :

"rand() % 1000;"
dans rand() on met une variable?
comme par ex: rand(int x) % 1000;
le nombre choisi au hasard par le pc sera mis ds x?


non ,rand() ne prend pas d'argument et retourne un integer compris entre 0 et RAND_MAX (défini dans <stdlib.h> )
 
tu dois donc faire un modulo de la valeur retournée pour le faire cadrer avec la plage de valeurs que tu souhaites (entre 1 et 1000)


---------------
J'ai un string dans l'array (Paris Hilton)
n°275860
lecoyote
Posté le 26-12-2002 à 11:11:48  profilanswer
 

d'accord!
alors par ex, si je veux afficher la valeur pris:
 
#include <iostream>
using namespace std;
{
 rand() % 1000;;
 
 cout<<rand<<endl;
 
 return 0;
 
}
 
 
???

n°275867
chrisbk
-
Posté le 26-12-2002 à 11:29:58  profilanswer
 

he be.....
 

Code :
  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;
  4. void main()
  5. {
  6. int a = rand() % 1000;;
  7. cout<<a<<endl;
  8. return 0;
  9. }

n°275870
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:34:19  profilanswer
 

LeCoyote a écrit :

d'accord!
alors par ex, si je veux afficher la valeur pris:
 
#include <iostream>
using namespace std;
{
 rand() % 1000;;
 
 cout<<rand<<endl;
 
 return 0;
 
}
 
 
???


pas du tout !
 

Code :
  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;
  4. int main{int argc, char **argv)
  5. {
  6. int n = rand() % 1000;
  7. cout<<n<<endl;
  8. return 0;
  9. }


 
Ne me dis pas que tu ne sais pas ce qu'est une fonction et une valeur de retour ?
Autre chose : mon code est batard car il mélange du C et du C++. Moi, ce que je te conseille, c'est de ne pas commencer en C++, mais plutot en C, sinon tu vas t'embrouiller. Ainsi, la version 100 % C de mon code devient :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main (int argc, char **argv)
  4. {
  5.      int n = rand() % 1000;
  6.      printf("%d", n);
  7.      return 0;
  8. }


 
edit : semi grilled


Message édité par Harkonnen le 26-12-2002 à 11:35:47

---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 26-12-2002 à 11:34:19  profilanswer
 

n°275871
lecoyote
Posté le 26-12-2002 à 11:36:05  profilanswer
 

merci chrisbk;
parcontre g un pb en compilant:
error C2562: 'main' : 'void' function returning a value
 
que faire?

n°275873
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:38:11  profilanswer
 

LeCoyote a écrit :

merci chrisbk;
parcontre g un pb en compilant:
error C2562: 'main' : 'void' function returning a value
 
que faire?


faire comme je te dis dans ma réponse précédente. la version de chrisbk retourne 0 alors que son proto est "void main()"
 
edit: c'est bien ce que je disais ! si tu ne sais pas résoudre l'erreur de ton compilo, c'est que tu ne connais pas du tout le principe des fonctions et des valeurs de retour ! et ça c'est grave, car c'est vraiment la base !!


Message édité par Harkonnen le 26-12-2002 à 11:40:30

---------------
J'ai un string dans l'array (Paris Hilton)
n°275874
lecoyote
Posté le 26-12-2002 à 11:39:35  profilanswer
 

franchement Harkonnen tu est un bosse!!!!
par contre je n'ai pas compris, le prg mélange du C et du C++???
c un truc de barge!!

n°275875
chrisbk
-
Posté le 26-12-2002 à 11:40:29  profilanswer
 

Harkonnen a écrit :


faire comme je te dis dans ma réponse précédente. la version de chrisbk retourne 0 alors que son proto est "void main()"


 
désolé, vieille habitude :O
j'avais pas fais gaffe qu'il retournerait 0. Par contre tout les deux on a un piti peu merdé, je sens qu'il va bientot y avoir un post "il me renvoie tjs le meme nombre meme si je le lance 50fois de suite" :ange:

n°275878
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:42:10  profilanswer
 

chrisbk a écrit :


 
désolé, vieille habitude :O
j'avais pas fais gaffe qu'il retournerait 0. Par contre tout les deux on a un piti peu merdé, je sens qu'il va bientot y avoir un post "il me renvoie tjs le meme nombre meme si je le lance 50fois de suite" :ange:


très juste, on a oublié srand() !!


---------------
J'ai un string dans l'array (Paris Hilton)
n°275881
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:46:25  profilanswer
 

bon, je m'y colle !
 
coyote > tu dois initialiser la racine de ton nombre aléatoire avant de le calculer, sinon tu auras toujours la même valeur.
 
pour ceci, utilise la fonction srand au début de ton programme :
 
srand(time(0));
 
indique que la base de ton nombre aléatoire se base sur les ticks du système, tu auras ainsi très peu de chances de tomber 2 fois de suite sur la même valeur


---------------
J'ai un string dans l'array (Paris Hilton)
n°275883
lecoyote
Posté le 26-12-2002 à 11:48:08  profilanswer
 

par contre le prg de harkonnen retourne tt le tps la meme valeur... c normal?

n°275884
chrisbk
-
Posté le 26-12-2002 à 11:48:47  profilanswer
 

LeCoyote a écrit :

par contre le prg de harkonnen retourne tt le tps la meme valeur... c normal?


 
:lol: :D
 
il a été prévoyant, il t'as repondu avant meme que tu postes ta question :D

n°275885
lecoyote
Posté le 26-12-2002 à 11:48:53  profilanswer
 

lol, excuse pr ma réponse, j'ai répondu en meme tps... :)

n°275886
lecoyote
Posté le 26-12-2002 à 11:49:13  profilanswer
 

mdr

n°275890
lecoyote
Posté le 26-12-2002 à 11:52:58  profilanswer
 

Harkonnen a écrit :

bon, je m'y colle !
 
coyote > tu dois initialiser la racine de ton nombre aléatoire avant de le calculer, sinon tu auras toujours la même valeur.
 
pour ceci, utilise la fonction srand au début de ton programme :
 
srand(time(0));
 
indique que la base de ton nombre aléatoire se base sur les ticks du système, tu auras ainsi très peu de chances de tomber 2 fois de suite sur la même valeur


 
 
 
c cho!!! je n'ai jamais travailler avec les tics du system;
"srand(time(0));" tu le met ds les {}? et au début?
parcequ'il me met une erreur :'(

n°275891
chrisbk
-
Posté le 26-12-2002 à 11:54:07  profilanswer
 

tu le met au debut du main.
edit: pis le best, c pas de dirre "il met une erreur", c de poster ladite erreur ;)


Message édité par chrisbk le 26-12-2002 à 11:54:29
n°275892
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:54:37  profilanswer
 

chrisbk > au boulot un peu :d
y'a pas de raison que ce soient tjs les mêmes qui bossent [:ddr555]
 
edit: grilled again


Message édité par Harkonnen le 26-12-2002 à 11:55:15

---------------
J'ai un string dans l'array (Paris Hilton)
n°275893
chrisbk
-
Posté le 26-12-2002 à 11:55:08  profilanswer
 

Harkonnen a écrit :

chrisbk > au boulot un peu :d
y'a pas de raison que ce soient tjs les mêmes qui bossent [:ddr555]


 
rooh l'ot, hé, j'aide deja ceux qui ont des blemes sous emacs, alors hein ? :ange:

n°275894
lecoyote
Posté le 26-12-2002 à 11:55:36  profilanswer
 

chrisbk a écrit :


 
rooh l'ot, hé, j'aide deja ceux qui ont des blemes sous emacs, alors hein ? :ange:


lol

n°275896
chrisbk
-
Posté le 26-12-2002 à 11:56:40  profilanswer
 


 
tu t'en sors ?  
ah vi, faudra pe faire un #include <time.h>

n°275897
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 11:57:01  profilanswer
 

chrisbk a écrit :


 
rooh l'ot, hé, j'aide deja ceux qui ont des blemes sous emacs, alors hein ? :ange:


en leur demandant d'installer VC++ [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
n°275899
lecoyote
Posté le 26-12-2002 à 11:58:02  profilanswer
 

chrisbk a écrit :


 
tu t'en sors ?  
ah vi, faudra pe faire un #include <time.h>  


j'y arrive tit'a'p tis...

n°275900
chrisbk
-
Posté le 26-12-2002 à 11:58:20  profilanswer
 

Harkonnen a écrit :


en leur demandant d'installer VC++ [:ddr555]


 
il faut savoir prendre des mesures radicales et novatrices [:ddr555]

n°275904
lecoyote
Posté le 26-12-2002 à 12:00:23  profilanswer
 

c bon, j'y suis arrivé!
c galère cette histoir de tics!
bon j'arrète de vs ennuyer et je vais me mettre à faire mon pgr,
je vs remerci encor et j'aurai peut-etre encor besoin d'aide ds les jour à venir!
aller @+
LeCoyote

n°275906
chrisbk
-
Posté le 26-12-2002 à 12:01:37  profilanswer
 

[:bou_le_loup]

n°275910
lecoyote
Posté le 26-12-2002 à 12:02:50  profilanswer
 

oups! avant de partir,
y a un truc qui me semble inutile ds le prg:
"       int main{int argc, char **argv)     "
ce qui y a à l'intèrieur du main de sert à rien?

n°275913
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-12-2002 à 12:04:20  profilanswer
 

LeCoyote a écrit :

oups! avant de partir,
y a un truc qui me semble inutile ds le prg:
"       int main{int argc, char **argv)     "
ce qui y a à l'intèrieur du main de sert à rien?


SI CA SERT !!!
 
c'est nécessaire pour récupérer les arguments de la ligne de commande ! et c'est la signature exacte de main ! même si tu t'en sers pas, tu le mets quand même ! :fou:


---------------
J'ai un string dans l'array (Paris Hilton)
n°275915
chrisbk
-
Posté le 26-12-2002 à 12:05:24  profilanswer
 

tu parles des parametres de "main"  ?
C'est les parametres par defaut. Normalement on s'en sert pout recuperer ce qu'il y a sur la ligne de commande. Par exemple, si ton programme s'appelle toto et que tu tape dans le dos/console :
 
toto machin truc
 
alors :
 
argc = 3
argv[0] = toto
argv[1] = machin
argv[2] = truc
 
Laisse les, ca fait jamais de mal
 

n°275916
lecoyote
Posté le 26-12-2002 à 12:06:22  profilanswer
 

Harkonnen a écrit :


SI CA SERT !!!
 
c'est nécessaire pour récupérer les arguments de la ligne de commande ! et c'est la signature exacte de main ! même si tu t'en sers pas, tu le mets quand même ! :fou:


ok merci.

n°275918
chrisbk
-
Posté le 26-12-2002 à 12:07:36  profilanswer
 

Harkonnen a écrit :


SI CA SERT !!!
 
c'est nécessaire pour récupérer les arguments de la ligne de commande ! et c'est la signature exacte de main ! même si tu t'en sers pas, tu le mets quand même ! :fou:


 
tagada, tu n'oublierais pas le "char **env" ? :D
Perso je suis plus laxiste la dessus, vu que je le met quasiment jamais :ange:

n°275919
lecoyote
Posté le 26-12-2002 à 12:08:31  profilanswer
 

et le  [/g]#include <stdlib.h>[/g] sert à quoi?
(parce que le prg marche trés bien sans... :) )

n°275921
chrisbk
-
Posté le 26-12-2002 à 12:09:20  profilanswer
 

normalement il definit le rand(). Laisse le, ca fait pas de mal non plus :D

n°275922
lecoyote
Posté le 26-12-2002 à 12:10:34  profilanswer
 

merci à vous deux!

n°275929
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-12-2002 à 12:39:24  profilanswer
 

:fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  :fou:  
 
 
et ma signature, c'est du bitume?


---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  choisir un nombre entre 1 et 1000 en C++

 

Sujets relatifs
[cybase] comment limiter le nombre de tuples affiché en même temps ?passer d'un nombre en hexa en caractère ASCII
Ecriture hexadécimale d'un nombre[C] Nombre Enorme
Delphi 4 + BD : Un moyen pour avoir des nombre vraiment long[DELPHI] comment connaitre le nombre d'élément dans une...
fonction qui dit si un nombre est decimalchoisir un SGBD !
fonctions C avec nombre infini d'argumentexcel : le filtre automatique neprends en compte que les 1000 eres lig
Plus de sujets relatifs à : choisir un nombre entre 1 et 1000 en C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR