elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con un código
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un código  (Leído 1,090 veces)
gamingjaex

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda con un código
« en: 21 Junio 2015, 18:10 pm »

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 :)

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  5.  
  6. //Bonoloto: menú con tres opciones -1- Realizar apuesta
  7. //   -2- Realizar sorteo
  8. //   -3- Salir
  9.  
  10. // 1- Nombre de usuario, 5 num. distintos(1-50), scanf y datos a fichero.
  11. // 2- 5 números aleatorios distintos. recuento y comparacion.
  12.  
  13.  
  14. //He intentado usar la mayor parte de las funciones, pero a la hora de comparalo, me quedo en blanco.
  15.  
  16. int num;
  17. int opc;
  18.  
  19. typedef struct {
  20. char nombre[20];
  21. int a1;
  22. int a2;            // Se que no deberiamos usar variables globales.
  23. int a3;
  24. int a4;
  25. int a5;
  26.  
  27. } APUESTA;
  28.  
  29.  
  30.  
  31. void realizar_apuesta();
  32. void realizar_sorteo();
  33. void generar_solucion();
  34.  
  35.  
  36. int main(int argc, char *argv[]) {
  37.  
  38.  
  39. do{
  40.  
  41. do{
  42. system("cls");
  43. printf("1 - Realizar apuesta\n");
  44. printf("2 - Realizar sorteo\n");
  45. printf("3 - Salir del programa\n");
  46. printf ("\n");           // Elegir opción, esto es lo fácil.
  47. fflush(stdin); scanf("%i", &opc);
  48.  
  49. }while(opc<1 || opc>3);
  50.  
  51. switch(opc){
  52. case 1:
  53. realizar_apuesta();
  54. break;
  55. case 2:
  56. realizar_sorteo();
  57. break;
  58.  
  59. }
  60.  
  61. getch();
  62. }while(opc != 3); //Se sale del programa.
  63.  
  64.  
  65. return 0;
  66. }
  67.  
  68.  
  69. void realizar_apuesta(){
  70.  
  71. int a1, a2, a3, a4, a5;
  72.  
  73. FILE *fichero;
  74. APUESTA registro;
  75.  
  76. fichero = fopen( "nombres.txt", "a" );
  77. if(fichero == NULL){
  78. printf("Error al abrir el fichero\n");
  79. exit(1);
  80. }
  81. do {
  82.  
  83. printf( "Nombre: " );
  84. fflush(stdin);  gets(registro.nombre);
  85.  
  86. if (strcmp(registro.nombre,"")) //Se piden los numeros pantalla.
  87. {
  88. printf( "PRIMER NUMERO: " );
  89. fflush(stdin); scanf("%i", &a1);
  90.  
  91. printf( "SEGUNDO NUMERO: " );
  92. fflush(stdin); scanf("%i", &a2);
  93.  
  94. printf( "TERCER NUMERO: " );
  95. fflush(stdin); scanf("%i", &a3);
  96.  
  97. printf( "CUARTO NUMERO: " );
  98. fflush(stdin); scanf("%i", &a4);
  99.  
  100. printf( "QUINTO NUMERO: " );
  101. fflush(stdin); scanf("%i", &a5);
  102.  
  103. fwrite( &registro, sizeof(registro), 1, fichero );          // Aqui almacena los datos.
  104. printf("\n");
  105. }
  106.  
  107. }while (strcmp(registro.nombre,"")!=0);
  108.  
  109. if( fclose( fichero ) != 0  ){                
  110. printf("Error al cerrar el fichero\n");
  111.  
  112.   }
  113. }
  114.  
  115. void realizar_sorteo(){
  116.  
  117. int i;
  118.    int numeros[i];
  119.  
  120. srand(time(NULL));
  121.    printf("\t\nSecuencia de numeros aleatorios entre 1 y 50\n\n");           // Aqui se realiza la elección de los números aleatorios
  122.  
  123. for(i=0; i<5; i++)
  124.    printf(" %numeros[i] ", rand()%51);
  125.  
  126. generarPuntuacion(numeros[0],numeros[1],numeros[2],numeros[3],numeros[4]);
  127. }
  128.      void generar_puntuacion(int a1,int a2,int a3,int a4,int a5){
  129.       FILE *fichero;
  130. APUESTA registro;
  131.  
  132. fichero = fopen( "nombres.txt", "a" );
  133. if(fichero == NULL){
  134. printf("Error al abrir el fichero\n");
  135. exit(1);
  136. }
  137.  
  138.       int aciertos = 0, i, j,numeros[5], sorteo[5];
  139.       char jugador[20];
  140. fread(jugador, 1, 20, fichero);
  141. sorteo[0]=a1;
  142. sorteo[1]=a2;
  143. sorteo[2]=a3;
  144. sorteo[4]=a4;
  145. sorteo[5]=a5;
  146.  
  147. for (i=0; i<5; i++){
  148. fread(numeros [i]);
  149. for(j=0; j<5; j++){
  150.     if(numeros[i] == sorteo[j]){
  151. aciertos++;
  152. printf("aciertos de "jugador": "aciertos");
  153.  
  154. }
  155.  
  156. }
  157.  
  158.  
  159.  }


« Última modificación: 21 Junio 2015, 18:29 pm por gamingjaex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con codigo en C (no me ejecuta un for y necesito ayuda) « 1 2 3 »
Programación C/C++
Søra 22 11,512 Último mensaje 22 Mayo 2010, 00:22 am
por Littlehorse
¿Cuál es la diferencia entre código objeto, código máquina y código binario?
Programación General
Aikanáro Anário 9 28,908 Último mensaje 23 Diciembre 2010, 15:19 pm
por pucheto
ayuda codigo
Programación C/C++
kunai 3 2,483 Último mensaje 1 Junio 2011, 12:56 pm
por Akai
ayuda!! necesito ayuda con este pequeño codigo en c++
Programación C/C++
giraffe 1 4,681 Último mensaje 27 Mayo 2015, 06:25 am
por engel lex
Ayuda con codigo
Programación C/C++
jogugago 2 2,547 Último mensaje 22 Marzo 2021, 23:58 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines