Tengo una función que pide introducir un titulo y el autor de un libro, para ello he creado la siguiente estructura:
Código:
struct libros{
char titulo[20];
char autor[20];
}libros[10];
int i;
Entonces en la función quiero añadir nuevas entradas a el array etructura.
Código:
void intro(){
char a;
int mas=1;
printf("Deseas introducir algun libro ?(s/n): ");
scanf("%c",&a);
if(a=='s' || a=='S'){
while(mas!=0){
printf("\n");
printf("Introduzca el titulo: ");
gets(libros[i+1].titulo);
printf("Introduzca el autor: ");
gets(libros[i+1].autor);
printf("Desea introducir mas libros ?(1-si,2-no) ");
scanf("%d",&mas);
}
}
}
Uso i para definir la posicion en la qual voy a introducir los datos, ya que anteriormente he introducido datos procedentes de un fichero.
El problema es que hace como si el primer gets no estuviese, i en canvio el otro si que funciona, y la verdad es que no tengo ni idea de porque pasa esto...