2007-03-15

Estruturas em C (1)

Gestão de Cursos ...


Crie uma base de dados em C, através de estruturas de forma a guardar os seguintes dados:
5
Programacao Imperativa
1
Calculo Infinitesimal I
1
Programacao Estruturada
1
Probabilidades e Estatistica
2
Modelos de Computacao
2

6
Joao Diogo Silva
2001018001
1
2
Mariana Pinto Matias
2001018003
4
1
4
2
3
Anabela Moreira
2004018014
3
1
3
2
Sonia Silva
1999018015
1
1
Manuel Pereira
2001019005
2
3
2
Carlos Santos
2004019007
3
1
2
3




No exemplo anterior Programacao Imperativa é a disciplina 1 e Programacao Estruturada
a disciplina 3. Note também que Programacao Imperativa será a primeira disciplina a ocorrer na estrutura
de dados Disc, enquanto Programacao Estruturada será a terceira.

Os quatro primeiros dígitos dos códigos dos alunos representam o ano, os três seguintes o código do curso e os três últimos identificam o
aluno. O primeiro número que está a seguir ao código do aluno indica o número de disciplinas em que está inscrito.
Os números seguintes identificam essas disciplinas.

Dada uma base de dados contendo informação sobre alunos e disciplinas de cursos duma faculdade, pretende-se consultá-la para:
  • obter o número de alunos inscritos a cada disciplina

    Output: o título da tabela é Numero de alunos inscritos. A seguir tem uma linha de intervalo e depois a informação pedida para cada disciplina, obedecendo ao formato nome_disciplina : total_inscritos

  • obter as disciplinas que têm mais alunos dum dado curso inscritos

    Output: o título é Disciplinas com mais alunos do curso codigo_curso , segue-se linha de intervalo, e depois os nomes das disciplinas.
    A linha final contem o número de disciplinas nas condições indicadas e o número de alunos inscritos em cada uma delas, seguindo o formato,
    Total = número_disciplinas Maximo = numero_de_alunos.

  • imprimir, por ordem alfabética, a lista de alunos dum dado curso que entraram num dado ano.

    Output: o título é Alunos do curso código_do_curso que entraram em ano. São indicados depois todos os alunos nas condições pretendidas, código_do_aluno nome_do_aluno, e finalmente, o número total desses alunos (Total = número_alunos). Existirá uma linha de intervalo a seguir ao título e antes da linha final.
    NB: O programa não deverá alterar a base de dados, nem copiar integralmente o seu conteúdo para outra estrutura de dados auxiliar.

  • para uma dada disciplina (identificada pelo seu nome), determinar os cursos que têm o maior número de alunos inscritos nessa disciplina ou um número que não difira desse mais do que k unidades, para k dado.
    NB: Para contar quantos alunos de cada curso estão inscritos à disciplina dada, o programa só deverá percorrer a estrutura Alunos uma única vez. Nessa passagem, deve identificar os cursos existentes.

Deverao ser criadas 2 estruturas que agreguem a informação que se pretende, uma chamada aluno e outra disciplina