para) a cadeia de caracteres do titulo de um TAD Livro recebido, assim como
livro_obtemAnoretorna o ano de um TAD Livro recebido).
Uma sexta função, denominada livro_verificaNoModernismoque recebe
um ponteiro para Livro e verifica se esse livro pertence ao segundo período do
modernismo brasileiro (1930 a 1945). Esta função retorna -1 se o ano da obra for
anterior a 1930, retorna 0 se for no período 1930 a 1945, e retorna 1 se o ano for
posterior a 1945.
Escreva o conteúdo do arquivo livro.h com a interface deste TAD Livro, incluindo a
definição da estrutura e também todas as funções disponíveis para o usuário. Em seguida,
escrevendo o módulo (arquivo livro.c ) que implementa todas as funções do TAD
Livro.
Em seguida, escreve o modulo principal de um programa (principal.c) que crie e
inicialize um vetor de ponteiros para Livro utilizando as funções disponibilizadas pelo TAD
e inserindo neste vetor os seguintes livros:
"
"
"
"
Novos Poemas","Vinicius de Morais","poesia",1938
Poemas Escritos na India","Cecilia Meireles","poesia",1962
Orfeu da Conceição","Vinicius de Morais","teatro",1954
Ariana, a Mulher","Vinicius de Morais","poesia",1936
No modulo principal do seu programa, implemente as seguintes funções:
Usando o TAD Livro, escreva a função ordenaLivrosque ordena o vetor de
ponteiros para Livros em ordem crescente por nome de autor, depois por gênero
e finalmente por ano de publicação. A função recebe um vetor de ponteiros para
Livro e o número de livros existentes no vetor.
Usando o TAD Livro, escreva a função de busca binária buscaLivroModerno
que recebe um vetor de ponteiros para Livro, o número de livros, um nome de
autor e um gênero, e retorna um ponteiro para o livro mais recente do autor, do
tipo indicado, no segundo período do modernismo brasileiro. Considere que o
vetor está ordenado conforme
o
critério utilizado pela sua função
ordenaLivros.
Por exemplo, para o vetor de ponteiros criado no programa principal, se a função
receber os argumentos autor="Vinicius de Morais" e gênero="poesia", ela deve
retornar um ponteiro para: "Novos Poemas","Vinicius de Morais","poesia",1938.
Caso nenhum livro atendendo à descrição seja encontrada, a função retorna NULL.
Em seguida, continue a implementação do modulo principal (principal.c) utilizando
as funções criadas para ordenar o vetor de ponteiros para Livro e em seguida buscar um
livro no vetor. O seu programa deve exibir na tela o vetor ordenado e também o livro
retornado pela busca.