Programação C/C++
Prof. Márcio Sarroglia Pinho


Exercícios sobre Composição

1. Crie uma classe Linha composta por um par de objetos da classe Ponto.

Descompacte a classe Ponto e coloque em seu projeto.
No programa principal, crie um vetor de objetos da classe Ponto. Preencha os dados dos pontos deste vetor.

Crie a classe Linha. Esta classe deve possuir duas referências a pontos que definem os extremos da linha.

No programa principal:


2. Crie um programa que gerencie a matrícula de alunos em disciplinas. Para tanto, crie as seguintes classes:

Aluno
- Nome: string
- Matriculas: vetor de inteiros
+ GETs e SETs
+ imprime()
+ listaDisciplinas()
+ listaProfessores()
+ adicionaTurma(int nroDaDisc)


Professor
- Nome: string
- Disciplinas: vetor de inteiros
+ GETs e SETs
+ imprime()
+ listaDisciplinas()
+ vinculaTurma(int nroDoProf)


TurmaDeDisciplina
- NomeDaDisciplina: string
- Alunos: vetor de inteiros
- Professores:
vetor de inteiros
+ GETs e SETs
+ listaAlunos()
+ adicionaAluno(int nroDoAluno)



Os objetos do programa devem ser mantidos por 3 classes que controlam a criação/remoção/pesquisa de objetos de cada uma das classes apresentadas acima.


 ListaDeProfessores
- Professores: vetor de Professor
+ adicionaProfessor (string nome)
+ removeProfessor(string nome)
+ removeProfessor(int i)
+ int pesquisaProfessor(string nome)


 ListaDeAlunos
- Alunos: vetor de Aluno
+ adicionaAluno (string nome)
+ removeAluno(string nome)
+ removeAluno(int i)
+ int pesquisa
Aluno(string nome)


 ListaDeTurmas
- Turmas: vetor de Turma
+ adicionaTurma (string nome)
+ removeTurma(string nome)
+ removeTurma(int i)
+ int pesquisa
Turma(string nome)


2.
Crie uma classe
TurmaDeAlunos capaz de representar os dados referentes a um grupo de alunos matriculados em uma disciplina.
A classe turma deve possuir, pelo menos, os seguintes atributos:
- lista com os nomes dos alunos matriculados: objeto da classe VetorDinamico, capaz de armazenar os dados de cada uma dos alunos matriculados.  Cada aluno deve ser representado por um objeto da classe Pessoa;
- os dados do professor: objeto da classe Pessoa, capaz de armazenar os dados do professor;
- recursos: objeto da classe Recursos que deve indicar que recursos são necessários para esta turma. Veja abaixo a descrição da classe recursos.


A classe Recurso deve representar a necessidade ou não de um certo recurso para o grupo de alunos. A classe deve possuir um atributo do tipo inteiro para cada recurso possivel e os respectivos sets e gets. Se um certo atributo contiver valor 0(zero) o recurso não é necessario, caso contrário o recurso é necessário.
class Recurso
{
      int computadores, projetor, arcondicionado;
 
};

-----------------

FIM