Boa noite, primeira vez postando aqui, pessoal estou com um problema(que já me deparei em outro programa em tinha que fazer pra faculdade) espero que consigam me ajudar a achar o erro...
O exercício pede para usar Struct para criar como se fosse um banco de dados de uma biblioteca do tipo Nome, Autor, Nº Paginas e Preço e depois imprimir eles...
Meu código:
#include <stdio.h>
#include <string.h>
#define NMAX 5
#define STRMAX 100
struct BIBLI {
char livro[NMAX];
char autor[NMAX];
int pag;
double valor;
};
int main(){
struct BIBLI l[NMAX];
int i;
for(i=0; i<NMAX; i++){
printf("Digite o nome do livro: \n ");
fgets(l[i].livro, STRMAX, stdin);
strtok(l[i].livro, "\n");
printf("Digite o autor do livro: \n ");
fgets(l[i].autor, STRMAX, stdin);
strtok(l[i].autor, "\n");
printf("Quantidade de paginas: \n" );
scanf("%i", &l[i].pag);
printf("Valor do livro: \n");
scanf("%lf", &l[i].valor);
}
for(i=0; i<NMAX; i++){
printf("Nome do livro: %s \n", strlen(l[i].livro));
printf("autor: %s \n", strlen(l[i].autor));
printf("%i Paginas", l[i].pag);
printf("Valor em reais: %lf", l[i].valor);
printf("-------- \n");
}
}
O erro que ocorre é o seguinte:
Digite o nome do livro:
aisdjaidsajdis
Digite o autor do livro:
iajsdiasjdi
Quantidade de paginas:
30
Valor do livro:
49,00
Digite o nome do livro:
Digite o autor do livro: // ELE PULA A ENTRADA DO PRÓXIMO LIVRO