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:
- instancie objetos da classe Linha a partir dos pontos que estão armazenados no vetor;
- imprima os dados das Linhas;
- altere o dados armazenados no vetor de pontos;
-
imprima os dados das Linhas.
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 pesquisaAluno(string nome)
|
ListaDeTurmas
|
- Turmas: vetor de Turma
|
+ adicionaTurma (string nome)
+ removeTurma(string nome)
+ removeTurma(int i)
+ int pesquisaTurma(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