Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/03/2014, 18:55
TriN
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Problemas al imprimir un arreglo de estructuras

Gracias vosk por tu pronta respuesta ya me di cuenta, que cuando terminaba el ciclo empeza desde 0 acum jeje, lo que hice fue declarar una variable global, y luego pasarle el valor de acum en el ciclo dejo el codigo igual, gracias por tu ayuda xD

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5.    typedef struct
  6.       {
  7.               char nombre[30];
  8.               char apellido[30];
  9.               int edad;
  10.               char deporte [30];
  11.               int codigo;
  12.               }datos;
  13.  
  14.               datos dat[10];
  15. int j=0;
  16. void menu(void);
  17. main()
  18. {
  19.  
  20.               menu();
  21. }
  22. void menu(void)
  23. {
  24.  
  25.      int r,a,b,noa,i,acum;
  26.      char re;
  27.      do
  28.      {
  29.      acum=0;
  30.      a=1;
  31.      b=3;
  32.    printf("%d Bienvenido a el programa TEST \n Escoja una opcion para continuar\n\n",j);
  33.    puts("1-Agregar atleta\n");
  34.    puts("2-Consultar atletas\n");
  35.    puts("3-Eliminar  atletas\n");
  36.    puts("4-Modificar de forma individual\n");
  37.    puts("5-Modificar de forma general\n");
  38.    scanf("%d",&r);
  39.  
  40.       switch(r)
  41.           {
  42.              case 1:
  43.              system("cls");
  44.              puts("Cuantos atletas desea agregar");
  45.              scanf("%d",&noa);
  46.              system("cls");
  47.  
  48.              printf("Nombre\t\t");
  49.              printf("Apellido\t");
  50.              printf("Edad\t\t");
  51.              printf("Deporte\t\t");
  52.              printf("Codigo \t\t");
  53.               for (i=0;i<noa;i++)
  54.                  {
  55.                gotoxy(a,b);scanf("%s",&dat[i].nombre);
  56.                a+=17;
  57.                gotoxy(a,b);scanf("%s",&dat[i].apellido);
  58.                a+=17;
  59.                gotoxy(a,b);scanf("%d",&dat[i].edad);
  60.                a+=15;
  61.                 gotoxy(a,b);scanf("%s",&dat[i].deporte);
  62.                 a+=16;
  63.                  gotoxy(a,b);scanf("%d",&dat[i].codigo);
  64.                  a=1;
  65.                  b+=2;
  66.                  acum=acum+1;
  67.                  j=acum;
  68.                  }
  69.                          break;
  70.              case 2:
  71.              system("cls");
  72.              printf("Nombre\t\t");
  73.              printf("Apellido\t");
  74.              printf("Edad\t\t");
  75.              printf("Deporte\t\t");
  76.              printf("Codigo \t\t");
  77.              printf("\n");
  78.  
  79.  
  80.              for (i=0;i<j;i++)
  81.              {
  82.  
  83.               printf("%s\t\t",dat[i].nombre);
  84.  
  85.               printf("%s\t",dat[i].apellido);
  86.  
  87.               printf("%d\t\t",dat[i].edad);
  88.  
  89.               printf("%s\t\t",dat[i].deporte);
  90.  
  91.               printf("%d\t\t",dat[i].codigo);
  92.  
  93.               printf("\n");
  94.                 }
  95.  
  96.                  getch();
  97.  
  98.                  break;
  99.  
  100.          }
  101.  
  102.                      system("cls");
  103.                  printf("Desea regresar al menu principal o salir del programar presione s para continuar ");
  104.                  scanf("%s",&re);
  105.                  }
  106.                  while(re=='s');
  107.  
  108.    getch();
  109.  
  110.  
  111.      }