2007-03-26

Estruturas em C (2)

(Manipulação duma base de dados de livros) Suponha que para cada livro existe informação sobre os seguintes campos:
Título
80 caracteres
Autor1
20 caracteres (Nome Próprio)
Autor2
20 caracteres (Apelido)
Ano de Edição
inteiro sem sinal
Tema
40 caracteres
  1. Defina uma estrutura em C para guardar a informação anterior e defina uma variável indexada que contenha 100 elementos dessa estrutura.
  2. Escreva funções que permitam:
    1. Introduzir um novo livro (pelo terminal);
    2. Leitura dos dados de um ficheiro, supondo que no ficheiro cada campo é guardado numa linha; para optimizar as pesquisas pode guardar a informação ordenada (lexicograficamente) pelo campo Autor2;
    3. Retirar a informação de um livro da base de dados;
    4. Guardar a informação da base de dados num ficheiro;
    5. Procurar um livro por: Título ou Autor2;
    6. Produzir os seguintes relatórios:
      1. listagem de todos os livros
      2. listagem de todos os livros de um autor;
      3. listagem de todos os livros de um tema;
      4. listagem de todos os livros editados num mesmo ano;
      Para cada um dos relatórios, deve ser pedido ao utilizador para seleccionar quais os campos que pretende que sejam listados.
  3. Escreva um interface que após lida a base de dados, usando a função definida em , permita ao utilizador selecionar uma das tarefas:
    1. Introduzir novo livro
    2. Procurar por autor
    3. Procurar por titulo
    4. Retirar um livro;
    5. Relatórios
    6. Terminar
    Se for selecionada a tarefa 5. o utilizador ainda deverá escolher qual dos relatórios e qual a informação a imprimir.