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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


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

Desconectado Desconectado

Mensajes: 3


Ver Perfil
archivos y registros
« en: 13 Diciembre 2016, 21:10 pm »

no se como terminar mi ejercicio(tengo que terminar uno ya hecho),hice el modulo para cargar datos, no estoy seguro de como hacer los demas, el ejercicio un archivo llamado "maratones.txt", por ejemplo un archivos de esta forma,
"pais años hora minuto"
pais años hora minuto
pais años hora minuto
pais años hora minuto
 de una pais y el modulo me de los dato de ese pais (el año hora minuto"                                                       

Código
  1. #include <stdio.h>
  2.  
  3. #define FALSO 0
  4. #define VERDADERO 1
  5. #define NUM_MARCAS 20
  6. #define SALIR 4
  7.  
  8. struct marca_s {
  9.        char pais[50];
  10.            int año;
  11.                int horas;
  12.                int minutos;
  13. };
  14.  
  15.  
  16. typedef struct marca_s marca_t;
  17.  
  18.  
  19. void CargaDatos(marca_t tiempos[]);
  20. int IndiceMejorTiempo(marca_t tiempos[], int año);
  21. void TiempoPromedio(marca_t tiempos[], int año, int *horas, int *mins);
  22. void EscribeEstadisticas(int año, int hprom, int mprom, int hmejor, int mmejor);
  23. void DespliegaMenu();
  24. int LeeOpcionValida(int min, int max);
  25.  
  26. marca_t tiempos[NUM_MARCAS];
  27.  
  28. void TiempoPromedio()
  29. {
  30.  int a;
  31.  
  32.  printf("dame el año que quieras conocer el promedio");
  33.  scanf("%d",&a);
  34.  printf("%d",tiempos.año
  35.  
  36.  
  37. int main(void)
  38. { int opcion;
  39.  
  40.  CargaDatos(tiempos);
  41.  
  42.  do{
  43.    //.....
  44.    DespliegaMenu();
  45.    opcion = LeeOpcionValida(1,4);
  46.    printf("Operacion elegida: %d\n", opcion);
  47.    }while (opcion != SALIR);
  48.  //.....
  49.  printf("Gracias por usar mi aplicación\n");
  50.  return 0;
  51.  
  52. }
  53.  
  54.  
  55. /* Función que carga los datos del archivo maratones.txt a la estructura de datos */
  56. void CargaDatos(marca_t tiempos[])
  57. {
  58.  int i=0;
  59.  FILE *ap1;
  60.   ap1 = fopen("maratones.txt", "r");
  61.   do{
  62.       fscanf(ap1,"%s %d %d %d\n",tiempos[i].pais,&tiempos[i].año,&tiempos[i].horas, &tiempos[i].minutos);
  63.       printf("Valores leidos: %s\t%d\t%d\t%d\n",tiempos[i].pais,tiempos[i].año,tiempos[i].horas,tiempos[i].minutos);
  64.       i++;
  65.   } while( !feof(ap1) );
  66.    fclose(ap1);
  67. }
  68.  
  69.  
  70. /* Función que despliega el menu de la aplicación */
  71. void DespliegaMenu()
  72. {
  73.  printf("************************************************\n");
  74.  printf("Bienvenido. Elige tu operacion: \n");
  75.  printf("[1]: Conocer tiempo promedio en un año \n");
  76.  printf("[2]: Conocer mejor tiempo en un año (y lugar)\n");
  77.  printf("[3]: Guardar estadisticas de un año\n");
  78.  printf("[4]: Salir\n");
  79.  printf("************************************************\n");
  80. }
  81.  
  82.  
  83.  
  84. /* Función que lee y regresa una opción válida */
  85. int LeeOpcionValida(int min, int max)
  86. { int op;
  87.  
  88.  do
  89.  {
  90.    printf("Opcion? [%d,%d]:",min,max);
  91.    scanf("%d",&op);
  92.  }while ((op > max) || (op < min));
  93.  return op;
  94. }
  95.  
  96.  
  97. /* Función que escribe las estadisticas del deportista en el archivo estadisticas.txt */
  98. void EscribeEstadisticas(int año, int hprom, int mprom, int hmejor, int mmejor)
  99. {
  100.  /*...*/
  101.  fprintf(/*...*/,"%d %d:%d %d:%d\n",año, hprom, mprom, hmejor, mmejor);
  102.  /*...*/
  103. }
  104.  
  105. /*
  106.  *
  107.  * Completar el siguiente programa para que:
  108.  *
  109.  * a) Cargue los tiempos de un maratonista que están registrados en el archivo "maratones.txt"
  110.  *    En cada renglón de este archivo se tienen los siguientes campos separados por un espacio: país, año, horas y minutos. Donde país es sólo una palabra.
  111.  * b) Obtenga el número de marca en la que el maratonista hizo el mejor tiempo en un año dado. Si el año no existe, regresa -1.
  112.  * c) Obtenga el tiempo promedio en un año dado.
  113.  * d) Para un año dado, agregue en el archivo estadisticas.txt un renglón con los datos: año horasprom:minutosprom horasmejor:minutosmejor
  114.  *    Donde horasprom y minutosprom  corresponden a las horas y minutos del tiempo promedio
  115.  *    horasmejor y minutosmejor corresponden a las horas y minutos del mejor tiempo en ese año.
  116.  *
  117.  
  118.  *
  119.  */
  120.  


« Última modificación: 13 Diciembre 2016, 21:20 pm por kjg » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: archivos y registros
« Respuesta #1 en: 13 Diciembre 2016, 21:12 pm »

los temas de C van en C, no en dudas generales... movido

no se entregan codigos listos, se resuelven dudas... explica en que está tu duda y que no sabes hacer...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Archivos, Registros en c/c++
Programación C/C++
programador10 3 6,016 Último mensaje 14 Junio 2011, 16:11 pm
por programador10
Pequeño inconveniente archivos/registros
Programación C/C++
reeyesg 3 1,799 Último mensaje 24 Enero 2014, 17:12 pm
por reeyesg
Pedido o ayuda ARCHIVOS/REGISTROS
Programación C/C++
reeyesg 1 1,574 Último mensaje 10 Febrero 2014, 18:40 pm
por ivancea96
ayuda con registros y archivos .txt en C++
Programación C/C++
chiripita 3 3,580 Último mensaje 4 Agosto 2014, 10:25 am
por eferion
Problema - Registros y archivos
Programación C/C++
jaxoR 6 2,845 Último mensaje 6 Noviembre 2014, 13:33 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines