choisir un nombre entre 1 et 1000 en C++ - C++ - Programmation
Marsh Posté le 26-12-2002 à 10:48:02
rand() % 1000;
Marsh Posté le 26-12-2002 à 10:51:56
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
Marsh Posté le 26-12-2002 à 10:56:38
"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?
Marsh Posté le 26-12-2002 à 10:58:32
TBone a écrit : edit: grillaid pour la correction |
en fait, j'avais validé par erreur (saloperie de touche TAB !!)
TBone a écrit : |
rand() retourne un int de toute façon. pour obtenir un flottant, ça risque d'être plus complexe (int, flottant, complexe... humour !! )
Marsh Posté le 26-12-2002 à 11:00:35
LeCoyote a écrit : "rand() % 1000;" |
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)
Marsh Posté le 26-12-2002 à 11:11:48
d'accord!
alors par ex, si je veux afficher la valeur pris:
#include <iostream>
using namespace std;
{
rand() % 1000;;
cout<<rand<<endl;
return 0;
}
???
Marsh Posté le 26-12-2002 à 11:29:58
he be.....
Code :
|
Marsh Posté le 26-12-2002 à 11:34:19
LeCoyote a écrit : d'accord! |
pas du tout !
Code :
|
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 :
|
edit : semi grilled
Marsh Posté le 26-12-2002 à 11:36:05
merci chrisbk;
parcontre g un pb en compilant:
error C2562: 'main' : 'void' function returning a value
que faire?
Marsh Posté le 26-12-2002 à 11:38:11
LeCoyote a écrit : merci chrisbk; |
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 !!
Marsh Posté le 26-12-2002 à 11:39:35
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!!
Marsh Posté le 26-12-2002 à 11:40:29
Harkonnen a écrit : |
désolé, vieille habitude
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"
Marsh Posté le 26-12-2002 à 11:42:10
chrisbk a écrit : |
très juste, on a oublié srand() !!
Marsh Posté le 26-12-2002 à 11:46:25
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
Marsh Posté le 26-12-2002 à 11:48:08
par contre le prg de harkonnen retourne tt le tps la meme valeur... c normal?
Marsh Posté le 26-12-2002 à 11:48:47
LeCoyote a écrit : par contre le prg de harkonnen retourne tt le tps la meme valeur... c normal? |
il a été prévoyant, il t'as repondu avant meme que tu postes ta question
Marsh Posté le 26-12-2002 à 11:52:58
Harkonnen a écrit : bon, je m'y colle ! |
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 :'(
Marsh Posté le 26-12-2002 à 11:54:07
tu le met au debut du main.
edit: pis le best, c pas de dirre "il met une erreur", c de poster ladite erreur
Marsh Posté le 26-12-2002 à 11:54:37
chrisbk > au boulot un peu
y'a pas de raison que ce soient tjs les mêmes qui bossent
edit: grilled again
Marsh Posté le 26-12-2002 à 11:55:08
Harkonnen a écrit : chrisbk > au boulot un peu |
rooh l'ot, hé, j'aide deja ceux qui ont des blemes sous emacs, alors hein ?
Marsh Posté le 26-12-2002 à 11:55:36
ReplyMarsh Posté le 26-12-2002 à 11:56:40
ReplyMarsh Posté le 26-12-2002 à 11:57:01
chrisbk a écrit : |
en leur demandant d'installer VC++
Marsh Posté le 26-12-2002 à 11:58:02
chrisbk a écrit : |
j'y arrive tit'a'p tis...
Marsh Posté le 26-12-2002 à 11:58:20
Harkonnen a écrit : |
il faut savoir prendre des mesures radicales et novatrices
Marsh Posté le 26-12-2002 à 12:00:23
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
Marsh Posté le 26-12-2002 à 12:02:50
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?
Marsh Posté le 26-12-2002 à 12:04:20
LeCoyote a écrit : oups! avant de partir, |
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 !
Marsh Posté le 26-12-2002 à 12:05:24
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
Marsh Posté le 26-12-2002 à 12:06:22
Harkonnen a écrit : |
ok merci.
Marsh Posté le 26-12-2002 à 12:07:36
Harkonnen a écrit : |
tagada, tu n'oublierais pas le "char **env" ?
Perso je suis plus laxiste la dessus, vu que je le met quasiment jamais
Marsh Posté le 26-12-2002 à 12:08:31
et le [/g]#include <stdlib.h>[/g] sert à quoi?
(parce que le prg marche trés bien sans... )
Marsh Posté le 26-12-2002 à 12:09:20
normalement il definit le rand(). Laisse le, ca fait pas de mal non plus
Marsh Posté le 26-12-2002 à 10:41:15
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)