Loto (en c)

Contenu du snippet

Je débute en C, j'ai realisé ce prog pour montrer rapidement le principe fonctionnement de la fonction randomize()..le code n'est pas du tout optimisé comprenez moi je débute et meme si ce code n'a pas grand interet ca peut surement servir a quelqu'un!

Source / Exemple :


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

int main()
{
	clrscr (); /* on efface l'ecran */

	printf("\t\t\t -- BS * Loto v2.0 --");
	printf("\nCe programme genere aleatoirement des numeros de loto.");
	printf("\nTape une touche pour generer la liste des numeros...");

	getch (); /* Attend l'appuie d'une touche */
	num ();

}

int num () /* debut de la fonction de generation de numeros */
{
	int n1, n2, n3, n4, n5, n6, nc; /* On declare les variables */
	int x; /* variable de sortie */

	do
	{

	 randomize (); /* on initialise les nombres aleatoire */

	 /* Il y a 49 chiffre au loto + 1 car on compte le 1er chiffre  */
	 n1 = random (49) + 1; /* 1er numéro */
	 n2 = random (49) + 1; /* 2eme numéro */
	 n3 = random (49) + 1; /* 3eme numéro */
	 n4 = random (49) + 1; /* 4eme numéro */
	 n5 = random (49) + 1; /* 5eme numéro */
	 n6 = random (49) + 1; /* 6eme numéro */
	 nc = random (49) + 1; /* numéro complémentaire */
	}
        /* tant que n1 = n2, n1 = n3....on regenere d'autres nméros car on a pas le droit au loto de cochez 2 fois le meme numéros */
	while ((n1 == n2) || (n1 == n3) || (n1 == n4) || (n1 == n5) || (n1 == n6) || (n1 == nc) || (n2 == n3) || (n2 == n4) || (n2 == n5) || (n2 == n6) || (n2 == nc) || (n3 == n4) || (n3 == n5) || (n3 == n6) || (n3 == nc) || (n4 == n5)
	|| (n4 == n6)|| (n4 == nc) || (n5 == n6) || (n5 == nc) || (n6 == nc));

	 printf("\n\nNumeros : [%d] [%d] [%d] [%d] [%d] [%d] | [%d]", n1, n2, n3, n4, n5, n6, nc); /* On affiches les numéros générés */
	 printf("\n\nSi les numeros ne te plaise pas, tape 1 pour en generer d'autres, sinon tape 0");
	 printf("\npour quitter.\n");

	  scanf("%d", &x); /* On lit le caractere dans le tampon */

	  if (x == 0) /* SI 0 ==> fermeture */
	  {
		puts("\t\t\t\t=[Tu peux fermer le programme]=");
		exit(1);
	  }

	  if (x == 1) /* Si 1 c reparti ! */
	  {

		num(); /* On regenere */
	  }

}

Conclusion :


un dernier truc, si quelqu'un a une astuce pour simplifier le code apres le "while" qu'il me le fasse savoir!

A voir également

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.