Ayuda con un código

Iniciado por gamingjaex, 21 Junio 2015, 18:10 PM

0 Miembros y 1 Visitante están viendo este tema.

gamingjaex

Hola buenas! Pues que estoy trabajando en un código en C que consiste en hacer una quiniela y no estoy muy seguro de como arreglar los errores que tengo. Cualquier ayuda me vale :)

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

//Bonoloto: menú con tres opciones -1- Realizar apuesta
//    -2- Realizar sorteo
//    -3- Salir

// 1- Nombre de usuario, 5 num. distintos(1-50), scanf y datos a fichero.
// 2- 5 números aleatorios distintos. recuento y comparacion.


//He intentado usar la mayor parte de las funciones, pero a la hora de comparalo, me quedo en blanco.

int num;
int opc;

typedef struct {
char nombre[20];
int a1;
int a2;            // Se que no deberiamos usar variables globales.
int a3;
int a4;
int a5;

} APUESTA;


     
void realizar_apuesta();
void realizar_sorteo();
void generar_solucion();


int main(int argc, char *argv[]) {


do{

do{
system("cls");
printf("1 - Realizar apuesta\n");
printf("2 - Realizar sorteo\n");
printf("3 - Salir del programa\n");
printf ("\n");           // Elegir opción, esto es lo fácil.
fflush(stdin); scanf("%i", &opc);

}while(opc<1 || opc>3);

switch(opc){
case 1:
realizar_apuesta();
break;
case 2:
realizar_sorteo();
break;

}

getch();
}while(opc != 3); //Se sale del programa.


return 0;
}


void realizar_apuesta(){

int a1, a2, a3, a4, a5;

FILE *fichero;
APUESTA registro;

fichero = fopen( "nombres.txt", "a" );
if(fichero == NULL){
printf("Error al abrir el fichero\n");
exit(1);
}
do {

printf( "Nombre: " );
fflush(stdin);  gets(registro.nombre);

if (strcmp(registro.nombre,"")) //Se piden los numeros pantalla.
{
printf( "PRIMER NUMERO: " );
fflush(stdin); scanf("%i", &a1);

printf( "SEGUNDO NUMERO: " );
fflush(stdin); scanf("%i", &a2);

printf( "TERCER NUMERO: " );
fflush(stdin); scanf("%i", &a3);

printf( "CUARTO NUMERO: " );
fflush(stdin); scanf("%i", &a4);

printf( "QUINTO NUMERO: " );
fflush(stdin); scanf("%i", &a5);

fwrite( &registro, sizeof(registro), 1, fichero );          // Aqui almacena los datos.
printf("\n");
}

}while (strcmp(registro.nombre,"")!=0);

if( fclose( fichero ) != 0  ){                 
printf("Error al cerrar el fichero\n");

   }
}

void realizar_sorteo(){

int i;
    int numeros[i];
   
srand(time(NULL));
    printf("\t\nSecuencia de numeros aleatorios entre 1 y 50\n\n");           // Aqui se realiza la elección de los números aleatorios
   
for(i=0; i<5; i++)
    printf(" %numeros[i] ", rand()%51);

generarPuntuacion(numeros[0],numeros[1],numeros[2],numeros[3],numeros[4]);
}
      void generar_puntuacion(int a1,int a2,int a3,int a4,int a5){
      FILE *fichero;
APUESTA registro;

fichero = fopen( "nombres.txt", "a" );
if(fichero == NULL){
printf("Error al abrir el fichero\n");
exit(1);
}

      int aciertos = 0, i, j,numeros[5], sorteo[5];
      char jugador[20];
fread(jugador, 1, 20, fichero);
sorteo[0]=a1;
sorteo[1]=a2;
sorteo[2]=a3;
sorteo[4]=a4;
sorteo[5]=a5;

for (i=0; i<5; i++){
fread(numeros [i]);
for(j=0; j<5; j++){
      if(numeros[i] == sorteo[j]){
aciertos++;
printf("aciertos de "jugador": "aciertos");
       
}

}
     
     
  }