Aquí teneis el código en lenguaje C, de un bingo. Es bastante sencillito y por supuesto muy mejorable pero también es completamente funcional. Tiene un pequeño menu donde se puede sacar bolas, consultar las bolas que han salido, comprobar una linea o bingo numero a numero y reiniciar el bingo.
Yo lo he hecho como reto personal ya que solo llevo programando un par de meses pero tambien porque el bingo de mi casa es automático y siempre anda averiado.
Espero que os sea util, sobre todo para gente que empieza como yo. Un saludo.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <string.h>
#define N 90
int main ()
{
int lista
= {0} ;
int ordena
= {0} ;
int bola;
int seleccion;
int i = 0;
int f = 0;
int j = 0;
int aux,k;
printf("nBienvenido al programa BINGOnnpulse cualquier tecla para continuar..." ) ;
srand(time(0));
getchar();
do
{
printf(" ______________MENU_________________n" ) ;
printf("| '1' para sacar bola |n" ) ;
printf("| '2' para mostrar numeros |n" ) ;
printf("| '3' para comprobar numeros 1 a 1 |n" ) ;
printf("| '4' para nuevo bingo |n" );
printf("| '0' para salir del programa |n" );
printf("|___________________________________|n" ) ;
printf("Selecion: " );
scanf("%d",&seleccion);
switch (seleccion)
{
case 1:
if (f >= 90) /*si ya han salido los 90 numeros lo dice, y muestra la lista*/
{
printf("nYa salieron los 90 numerosnn" ) ;
}
else /*si no han salido los 90 numeros entra aquí*/
{
bola = rand () % 91 + 1; /*genera un aleatorio*/
for (i=0;i<90;i++) /*con este for recorre el vector*/
{
if (lista == bola) /*si encuentra en el vector un numero igual que el aleatorio, reinicia el contador y genera otra aleatorio*/
{
i = 0;
bola = rand () % 91 + 1;
}
/*en caso de recorrer todo el vector sin encontrar ninguna coincidencia*/
/*usando el contador de posicion j, guarda el aleatorio en el vector y lo muestra por pantalla*/
}
lista
= bola;
printf("nnnumero: %dnn",bola );
i = 90;
f++;
}
break;
case 2: /*listado de los numeros que han salido*/
/* este copia un vector a otro */
for (i=0;i<90;i++)
{
ordena = lista ;
}
/*metodo de la burbuja*/
while(j < N)
{
for(k = 1; k < N; k++ )
{
if(ordena[k] < ordena[k-1] )
{
aux = ordena[k-1];
ordena[k-1] = ordena[k] ;
ordena[k] = aux;
}
}
j++;
}
/*lista los numeros ya ordenados*/
printf("nLos numero son:nn" );
for (i=0;i<90;i++)
{
printf(". %d ",ordena ) ;
}
printf("nn" );
break;
case 3: /*comprueba si esta en el vector el numero introducido*/
getchar();
printf("nIntroduzca el numero a comprobar: " ) ;
scanf("%d",&bola ) ;
for (i=0;i<90;i++ )
{
if (bola == lista )
{
printf("El numero %d SI ha salidonn",bola);
}
}
printf("nn" ) ;
break;
case 4:
for (i=0;i<90;i++ )
{
lista = 0;
}
for (i=0;i<90;i++ )
{
ordena = 0;
}
f = 0;
printf("lista borrada" );
break;
default:
printf("nError...introduce una opcion validan" ) ;
break;
}
}
while ( seleccion !=0);
printf("Gracias por usar el programann" ) ;
exit(0);
getchar();
getchar();
return 0;
}