Nombre mystère

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 788 fois - Téléchargée 38 fois

Contenu du snippet

Ceci est un petit où il faut trouvé le normbre généré aléatoirement par le PC.

On apprend la génétation aléatoire + do while + if

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
	int guess_value = -1;
	int number;
	int nbr_of_guesses;

	printf("\t\t\t- LE NOMBRE MYSTERE -\n\n");

	// Calcul du nombre aléatoire
	srand((unsigned) time(NULL));
	number = rand() % 101;

	nbr_of_guesses = 0;

	printf("Donnez un nombre entre 0 et 100 : ", number);
			scanf("%d",&guess_value);
			nbr_of_guesses++;
			do
			{
				if(guess_value > number)
				{
					printf("\n\nCe nombre est trop grand !\n");
				}
				if(guess_value < number)
				{
					printf("\n\nCe nombre est trop petit !\n");
				}
				printf("Donnez un nombre entre 0 et 100 : ", number);
				scanf("%d",&guess_value);
				nbr_of_guesses++;		
			} while (guess_value != number);

	printf("\n\nCONGRATULATION ! Vous avez trouve le nombre en %d essais !\n\n",nbr_of_guesses);
}

Conclusion :


Amusez-vous bien ! :))

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
29 avril 2006

Tu peux aussi faire un if .... else if comme ca le compilateur ne fera pas les deux tests mais juste un seul ^^ (ça ajoute pas grd chose mais juste dans l'esprit de l'optimisation ^^)
Messages postés
3
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
27 août 2005

Tu l'indroduis où ton "while" pour que ça marche? Parce que j'ai essayé de le mettre juste à la place du "do" mais le programme ne marche pas : Il se bloque juste avant...

Merci pour ta/votre réponse
Messages postés
47
Date d'inscription
samedi 11 octobre 2003
Statut
Membre
Dernière intervention
10 décembre 2006

J'ai fais egalement ce type de programme en apprenant le C : mon programme etait un peu plus complet :

Il y avait deja 3 niveaus de difficultes, des nombres allant de 0 a 100, 1000 et 10000.
De plus, il y avait 7 essais seulement mais rien n'empeche d'ajouter a la fin au bout de combien d'essais la personne a trouver le nombre cache.
Ce type de programme permet notament de comprendre la fonction random et une revision des instructions de controles telles que if, while...
Messages postés
1
Date d'inscription
mardi 18 juin 2002
Statut
Membre
Dernière intervention
18 juin 2002

Exact ! Il suffit de remplacer la boucle do...while par une boucle while :)
Ça ne fonctionne pas si tu as le nombre au premier coup

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.