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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Points : 6
    Points
    6
    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 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    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:
    K

  3. #3
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    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 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Faudrait que je me remette au mode console, pour me rappeller de ces subtilités
    K

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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.
    Pas de Wi-Fi à la maison : CPL

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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));
    Pas de Wi-Fi à la maison : CPL

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    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
    K

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Points : 6
    Points
    6
    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. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    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