Faça um programa em C usando strutct que leia um vetor com dados de 5 livros: titulo (máximo 30 letras), autor (máximo 15 letras) e ano. Procure um livro por titulo, perguntando ao usuário qual titulo deseja buscar. Mostre os dados de todos os livros encontrados.
Soluções para a tarefa
Respondido por
3
SEGUE O CÓDIGO EM C:
#include <stdio.h>
struct livro
{
char titulo[30];
char autor[15];
int ano;
};
int main()
{
struct livro livros[5];
char busca[30];
int index[5] = {-1,-1,-1,-1,-1};
for(int i=0; i<5;i++)
{
printf(" Informe o Título do %dº livro: ", i+1);
scanf("%[^\n]s",&livros[i].titulo);
setbuf(stdin, NULL);
printf(" Informe o Autor do %dº livro: ", i+1);
scanf("%[^\n]s",&livros[i].autor);
setbuf(stdin, NULL);
printf(" Informe o Ano do %dº livro: ", i+1);
scanf("%d", &livros[i].ano);
setbuf(stdin, NULL);
}
printf("\nInforme o título do Livro que deseja pesquisar: ");
scanf("%[^\n]s",&busca);
setbuf(stdin, NULL);
int x = 0;
for(int i=0; i<5; i++)
{
if(strcmp(livros[i].titulo, busca) == 0)
{
index[x] = i;
x++;
}
}
printf("\n\n LIVROS ENCONTRADOS:\n");
for(int i=0; i<= x; i++)
{
if(index[0] != -1)
{
printf(" Título: %s\n", livros[index[i]].titulo);
printf(" Autor: %s\n", livros[index[i]].autor);
printf(" Ano: %d\n", livros[index[i]].ano);
}
else
{
printf("Nenhum livro foi encontrado.\n");
break;
}
}
return 0;
}
IMAGEM DE TESTE EM ANEXO.
Anexos:
Usuário anônimo:
poderia me ajudar com essa questão também em struct que é para exibir o nome dos cadastrados em ordem alfabética https://brainly.com.br/tarefa/16577494
Perguntas interessantes