Buenas tardes amigos de la comunidad forosweb, tengo un pequeño problema me han mandando a crear un pequeño sistema para agregar personas eliminar, modificar,etc,etc pues bien estoy empezando a armarlo poco a poco xD pero me consegui con un error que lo he revisado y cambiado varias veces pero no consigo el error el programa scanea los datos sin problemas he probado imprimirlo en otra parte del programa e imprimir los datos del arreglo sin problema pero al pedir que me muestre todos los datos ingresados en la opcion 2 solo me muestra espacios vacios dejo mi codigo:
Código C:
Ver original#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct
{
char nombre[30];
char apellido[30];
int edad;
char deporte [30];
int codigo;
}datos;
datos dat[10];
void menu(void);
main()
{
menu();
}
void menu(void)
{
int r,a,b,noa,i,acum;
char re;
do
{
acum=0;
a=1;
b=3;
puts("Bienvenido a el programa TEST \n Escoja una opcion para continuar\n\n"); puts("1-Agregar atleta\n"); puts("2-Consultar atletas\n"); puts("3-Eliminar atletas\n"); puts("4-Modificar de forma individual\n"); puts("5-Modificar de forma general\n");
switch(r)
{
case 1:
puts("Cuantos atletas desea agregar");
for (i=0;i<noa;i++)
{
gotoxy
(a
,b
);scanf("%s",&dat
[i
].
nombre); a+=17;
gotoxy
(a
,b
);scanf("%s",&dat
[i
].
apellido); a+=17;
gotoxy
(a
,b
);scanf("%d",&dat
[i
].
edad); a+=15;
gotoxy
(a
,b
);scanf("%s",&dat
[i
].
deporte); a+=16;
gotoxy
(a
,b
);scanf("%d",&dat
[i
].
codigo); a=1;
b+=2;
acum=acum+1;
}
break;
case 2:
for (i=0;i<acum;i++)
{
printf("%s\t\t",dat
[i
].
nombre);
printf("%s\t",dat
[i
].
apellido);
printf("%s\t\t",dat
[i
].
deporte);
printf("%d\t\t",dat
[i
].
codigo);
}
break;
}
printf("Desea regresar al menu principal o salir del programar presione s para continuar"); }
while(re=='s');
}
En esta parte del codigo es que no me imprime los datos ingresados probe imprimiendo a parte algun miembro de la estructura y me imprime el dato sin problemas que podria ser? que me aconsejan gracias de antemano.