IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Nombre al�atoire (petit jeu)


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par d�faut Nombre al�atoire (petit jeu)
    Bonjour ! Voici mon code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    #include <stdio.h> 
    #include <stdlib.h>
    #include <time.h>
     
    #define NO 0
    #define YES 1
     
    void main(void)
    {
    	int guess_value = -1;
    	int number;
    	int nbr_of_guesses;
    	int done = NO;
     
    	printf("\n\nSelection d un nombre aleatoire\n");
     
    	/* le temps entre dans le calcul du nombre aleatoire */
    	srand((unsigned) time(NULL));
    	number = rand();
     
    	nbr_of_guesses = 0;
    	while(done == NO);
    	{
    		printf("\nDonnez un nombre entre 0 et %d> ", RAND_MAX);
    		scanf("%d", &guess_value); /* lecture du nombre */
     
    		nbr_of_guesses++;
     
    		if(number == guess_value)
    			{
    				done = YES;
    			}
    			else
    				if(number < guess_value)
    					{
    						printf("\nCe nombre est trop grand !");
    					}
    						else
    							{
    								printf("\nCe nombre est trop petit !");
    							}
    	}
     
    	printf("\n\nFelicitations! Vous avez trouve en %d essais!", nbr_of_guesses);
    	printf("\n\nLa reponse etait %d\n\n", number);
    }
    Lorsque que je lance mon programme, il affiche " Selection d un nombre aleatoire " mais apr�s il s'arrete .. Il attend..
    Je ne peut donc entrer aucun nombre, je suis obliG de fermer mon invite de commandes.

    Help !

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par d�faut
    Essaies avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    srand((unsigned int)time((time_t *)NULL));
    Sinon comme �a � vue d'oeil je ne vois pas d'erreur... :sad:

  3. #3
    Membre Expert
    Inscrit en
    D�cembre 2004
    Messages
    1 478
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 478
    Par d�faut
    Tu fais:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    printf("\nDonnez un nombre entre 0 et %d> ", RAND_MAX);
    Cette phrase ne s'affichera pas tant que le buffer n'est pas complet. Pour avoir un buffer complet, il faut terminer par \n ou, ce qui est plus adapte dans ton cas, un fflush(stdout).

    Donc, ton programme attend en fait ton entree sur le scanf(), qui n'est pas la fonction la plus appropriee (fgets() + strtol(), c'est mieux).

    Et, comme d'hab, c'est int main, et pas void main...

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par d�faut
    Faudrait que je me remette au mode console, pour me rappeller de ces subtilit�s

  5. #5
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut Re: Nombre al�atoire (petit jeu)
    Citation Envoy� par niCo.nb
    Bonjour ! Voici mon code <...> Lorsque que je lance mon programme, il affiche " Selection d un nombre aleatoire " mais apr�s il s'arrete .. Il attend..
    Ben oui, bouccle infinie : il y a un ';' apr�s le while()... Retire le...

    Et puis main() retourne int. Toujours.

  6. #6
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par KiLVaiDeN
    Essaies avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    srand((unsigned int)time((time_t *)NULL));
    Sinon comme �a � vue d'oeil je ne vois pas d'erreur... :sad:
    Gn� ? Qu'est-ce qui ne vas pas avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    srand((unsigned)time(NULL));

  7. #7
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par d�faut
    Rien
    Je ne voyais rien d'autre ( bien vu le coup du ; apr�s le while.. ) et je voulais quand m�me aider

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par d�faut
    Woa merci Emmanuel c'�tait exactement sa, j'avais pas vu le " ; " apr�s le while pourtant j'ai relu mon code au moins 20 fois !

    Et je sais pas pourquoi mais j'ai �clat� de rire avec ton " Gn� ? " !!!


    @ bientot merci de votre aide

Discussions similaires

  1. [CASIO FX-180P] Jeu de devinette d'un nombre al�atoire
    Par the_clansman dans le forum Autres langages
    R�ponses: 0
    Dernier message: 30/10/2009, 16h06
  2. Nombres al�atoires
    Par Mat 74 dans le forum Assembleur
    R�ponses: 20
    Dernier message: 29/08/2004, 13h31
  3. R�ponses: 2
    Dernier message: 26/01/2004, 14h20
  4. Nombre al�atoire en SQL
    Par sqlnet dans le forum Langage SQL
    R�ponses: 8
    Dernier message: 19/08/2003, 12h38
  5. G�n�rer un nombre al�atoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de donn�es
    R�ponses: 3
    Dernier message: 22/08/2002, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo