Código
#include <stdio.h> #include <stdlib.h> #include <time.h> #define CIFRAS 3 int resultado[2]; char num[10]={'0','1','2','3','4','5','6','7','8','9'}; int aleatorio(); void leer_combinacion(int *v1,int *v2,int *v3); int compara (int v1,int v2,int v3, char cadena[]); ////Función main int main() { //Definiión de variables time_t t; int v1,v2,v3; int i,j,azar,intentos,repetida,jugar=1,ola; char cadena[CIFRAS]; char jugada[CIFRAS]; char volver_jugar; intentos=repetida=azar=0; srand((unsigned)time(&t)); //Bucle con la función aleatorio para generar la solución for(i=0;i<CIFRAS;i++) { cadena[i]=num[aleatorio()]; } printf("\nLa combinación aleatoria es: "); for(j=0;j<CIFRAS;j++) printf("%c ",cadena[j]); //Bucle para obtener las entradas del jugador y comprobar si son correctas. while (jugar==1) { intentos++; leer_combinacion(&v1,&v2,&v3); printf("\nTu jugada es: "); printf("\n%i %i %i ",v1,v2,v3); compara(v1,v2,v3,cadena); if(resultado[0]==CIFRAS) printf("\n\nENHORABUENA! HAS GANADO!(%d intentos)\n",intentos); else { printf("\n\nOTRA PARTIDA<S/N>?"); scanf("%c",&volver_jugar); fflush(stdin); if (volver_jugar=='S' || volver_jugar=='s') jugar=1; else jugar=0; } } system("pause"); return 0; } //// Función aleatorio int aleatorio() { return (rand()%10); } //// Función compara int compara(int v1,int v2,int v3, char cadena[]) { int i; int jugada; for (i=0;i<CIFRAS;i++) { if (i==0) jugada=atoi(&cadena[i])/100; else if (i==1) jugada=atoi(&cadena[i])/10; else jugada=atoi(&cadena[i]); if (jugada==v1) { if (i==0) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;} } if (jugada==v2) { if (i==1) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;} } if (jugada==v3) { if (i==2) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;} } if (jugada!=v1 && jugada!=v2 && jugada!=v3) printf("rojo"); } return 1; } //// Función leer_combinación void leer_combinacion(int *v1,int *v2,int *v3) { int j; printf("\n\nIntroduce un numero, del 0 al 9"); printf("\nNumero 1: "); scanf("%i",v1); printf("\nNumero 2: "); scanf("%i",v2); printf("\nNumero 3: "); scanf("%i",v3); fflush(stdin); }