Desenvolva um programa em C para gerenciar um sistema de matrículas. Neste programa, variáveis, vetores, matrizes e ponteiros NÃO poderão ser globais. No sistema deverão ser usadas as seguintes estruturas (structs) (obs.: sugestão de nomes e variáveis):
Disciplina
Aluno
nome
nome
cod_disciplina
cod_aluno
nome_professor
num_disciplinas
num_alunos
cod_disciplinas[6]
cod_alunos[10]
a) Será permitido cadastrar no máximo 8 disciplinas e 20 alunos.
Apresente um menu de opções que permita ao usuário escolher a opção desejada, podendo repeti-las até que ele deseje sair do programa. O menu de opções terá: 1) Cadastrar Aluno; 2) Cadastrar Disciplina; 3) Matricular Aluno; 4) Consultar Matrícula; 5) Relatório e 6) Sair . Verifique a possibilidade de opção inválida.
c) Na opção 1) Cadastrar Aluno: faça uma função que receba como parâmetro o vetor de structs Aluno e uma variável por referência que controla a quantidade de alunos. Cadastrar as informações do aluno (permitir cadastrar um aluno por vez), tomando cuidado para não cadastrar dois alunos com o mesmo código. A variável num_disciplinas controla quantas disciplinas o aluno está matriculado (aluno pode se matricular em no máximo 6 disciplinas).
d) Na opção 2) Cadastrar Disciplina: faça uma função que receba como parâmetro o vetor de structs Disciplina e uma variável por referência que controla a quantidade de disciplinas. Cadastrar as informações da disciplina(permitir cadastrar uma disciplina por vez), tomando cuidado para não cadastrar duas disciplinas com o mesmo código. A variável num_alunos controla quantos alunos estão matriculados na disciplina (uma disciplina pode ter no máximo 10 alunos).
5 de fevereiro de 2015
2
e) Na opção 3) Matricular Aluno: faça uma função que receba como parâmetro o vetor de structs Aluno, o vetor de structs Disciplina, a variável que controla a quantidade de alunos e a variável que controla a quantidade de disciplinas. Nesta função deverá permitir a matricula dos alunos, para isso o usuário deverá informar o código do aluno e o código da disciplina, e ambos deverão estar cadastrados. Caso não estejam, informar o usuário com uma mensagem. A matricula em uma disciplina somente poderá ser efetivada, ou seja, registrar o código do aluno no vetor cod_alunos e o código da disciplina no vetor cod_disciplinas, se houver vagas na disciplina e se o número de disciplinas que o aluno estiver matriculado for menor que 6.
f) Na opção 4) Consultar Matricula: faça uma função que receba como parâmetro o vetor de structs Aluno, o vetor de structs Disciplina, a variável que controla a quantidade de alunos e a variável que controla a quantidade de disciplinas. Nesta função o usuário deverá informar o código do aluno e o sistema deverá mostrar o nome do aluno, quantas e quais disciplinas (código e nome) ele está matriculado, além de mostrar os nomes dos professores que lecionam as disciplinas.
g) Na opção 5) Relatório: faça uma função que receba como parâmetro o vetor de structs Aluno, o vetor de structs Disciplina, a variável que controla a quantidade de alunos e a variável que controla a quantidade de disciplinas. Nesta função deverá ser impresso na tela um relatório geral do sistema, organizado da seguinte forma: imprimir para cada disciplina, todas as informações referentes a disciplina e quais alunos estão matriculados (nome_aluno, código_aluno).