Mettre en évidence un nombre en langage c
stark173
Messages postés
105
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je souhaite réaliser un programme qui simule le tirage de nombres aléatoires d'une loterie. Pour cela, j'ai crée ma fonction random, et j'ai réalisé une grille de numéros allant de 1 à 90.
Ce que j'aimerai faire c'est, lorsque le numéro est tiré, le mettre en évidence dans la grille à l'aide d'un symbole quelconque. Pour le deuxième tirage cela serai pareille sauf qu'il faudrait mettre en évidence le tirage précédent et le tirage actuel, et ainsi desuite jusqu'à arriver à 90 tirages.
Mais je n'arrive pas à mettre en évidence les numéros tirés dan sma grille, merci de me venir en aide, voici mon code:
Ce que j'aimerai faire c'est, lorsque le numéro est tiré, le mettre en évidence dans la grille à l'aide d'un symbole quelconque. Pour le deuxième tirage cela serai pareille sauf qu'il faudrait mettre en évidence le tirage précédent et le tirage actuel, et ainsi desuite jusqu'à arriver à 90 tirages.
Mais je n'arrive pas à mettre en évidence les numéros tirés dan sma grille, merci de me venir en aide, voici mon code:
#include <stdlib.h> #include <conio.h> #include <time.h> #define MAX 90 int main() {printf("\n================================================================================\n\n"); printf("Bonjour et bienvenue dans le jeux du Loto\n\n"); printf("\n================================================================================\n\n"); int tab[MAX]={0},i,numero_tire,numero_deja_tire ; //Je crée un tableau que j'initialise à zero, ainsi que deux entiers : i et numerotire// int num[MAX]={0}; //J'initialise un deuxième tableau à zero, il permettra au numéro tiré de prendre la valeur 1// int grille[9][10]={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,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90},C,L; srand(time(NULL)); //Je crée la fonction random permettant de crée des nombre aléatoires// printf("Pour realiser un tirage appuyez sur une touche\n\n"); // Je demande à l'utilisateur d'appuyer sur n'importe quelle touche for(i=0;i<MAX;i++) {getch(); tab[i]=(rand() % (MAX - 1)) + 1;// Pour i allant de zero à MAX(90), la fonction random va générer quatre vingt dix nombres aléatoires// numero_tire=tab[i]; while(num[numero_tire]==1) //Si jamais on avait déjà entrée cette valeur, on recommence// { tab[i]=(rand() % (MAX - 1)) + 1; numero_tire=tab[i]; } printf("Le numero tire est : le numero °%d°\n\n",numero_tire); // J'affiche le numéro tire// printf("\n================================================================================\n\n"); num[numero_tire]=1; //on entre 1 dans le 2eme tableau si c'est un nombre qu'on utilise pour la 1ere fois, si non il y a un zéro// for(C = 0; C<9; C++) {printf("\n\n"); for(L = 0; L<10; L++) printf("%3d", grille[C][L]); } printf("\n================================================================================\n"); printf("\n\nPour realiser un tirage appuyez sur une touche\n\n"); // Je demande à l'utilisateur d'appuyer sur n'importe quelle touche printf("\n================================================================================\n\n");} }
A voir également:
- Mettre en évidence un nombre en langage c
- Langage ascii - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Langage binaire - Guide
- Mettre un 0 devant un nombre dans excel - Guide
1 réponse
Salut stark173,
Puisque tu utilises conio.h, si ton compilateur a une version de conio avec textcolor, tu pourrais utiliser cette fonction pour changer la couleur des caractères (les compilateurs de Borland permettaient de faire cela avec une fonction d'affichage également particulière).
Cependant, les fonctions définies dans conio.h ne sont pas des fonctions C standard.
Alors, tu peux faire autrement, avec les "moyens du bord".
Par exemple, en mettant des crochets autour des numéros que tu veux signaler.
voilà une façon de faire :
Si tu fais cela, tu peux te passer de conio.h et utiliser
D'ailleurs, printf a besoin de
Dal
Puisque tu utilises conio.h, si ton compilateur a une version de conio avec textcolor, tu pourrais utiliser cette fonction pour changer la couleur des caractères (les compilateurs de Borland permettaient de faire cela avec une fonction d'affichage également particulière).
Cependant, les fonctions définies dans conio.h ne sont pas des fonctions C standard.
Alors, tu peux faire autrement, avec les "moyens du bord".
Par exemple, en mettant des crochets autour des numéros que tu veux signaler.
voilà une façon de faire :
char st[10]; if (num[grille[C][L]]) sprintf(st, "[%d]", grille[C][L]); else sprintf(st, "%d", grille[C][L]); printf("%5s", st);
Si tu fais cela, tu peux te passer de conio.h et utiliser
getchar()(qui est standard et inclus avec stdio.h) et remplacer les commentaires "appuyer sur une touche" par "appuyer sur Enter".
D'ailleurs, printf a besoin de
#include <stdio.h>, donc tu devrais explicitement l'inclure de toutes façons.
Dal