Olá, sou novo aqui no fórum e tenho uma duvida em relação a classes em C++, espero que alguém possa me ajudar. Desde já obrigado!
Estou desenvolvendo um trabalho pra faculdade em que preciso cadastrar alunos, disciplinas e notas e no final exibir alguns relatórios, tudo isso usando o conceito de classes e orientação a objetos. O programa esta 99% pronto só encontrei problemas para implementar o seguinte:
Tenho 6 classes implementadas (Não vou postar o codigo da Disciplina pois não vem ao caso):
#ifndef NOTAS_HPP_INCLUDED
#define NOTAS_HPP_INCLUDED
#include "Bibliotecas.hpp"
class Nota {
public:
Nota();
int codigoNota;
int codigoMatricula;
int codigoDisciplina;
double media1;
double media2;
double media3;
double media4;
double mediaFinal;
string nomeAluno;
string nomeDisciplina;
};
#endif // NOTAS_HPP_INCLUDED
Cadastro Notas
#ifndef CADASTRONOTAS_HPP_INCLUDED
#define CADASTRONOTAS_HPP_INCLUDED
#include "Notas.hpp"
//#include "CadastroAlunos.hpp"
#include "CadastroDisciplinas.hpp"
class CadastroAlunos;
class CadastroNotas {
public:
//CadastroAlunos cadAlunos;
CadastroDisciplinas cadDisciplinas;
Nota notas[100];
int indice;
CadastroNotas() {indice = 0;}
void cadastrarNotas(CadastroAlunos cadAlunos, CadastroDisciplinas cadDisciplinas);
void alterarNotas();
void excluirNotas();
void listarNotas();
void excluirNotas(int numMatricula);
int pesquisarMatricula(int pos);
int pesquisarDisciplina(int pos);
int comparaPosicao(int matricula, int disciplina);
string aprovado_reprovado(int pos);
};
#endif // CADASTRONOTAS_HPP_INCLUDED
Nelas eu declaro meus vetores, as variaveis que tenho dentro de cada vetor e os prototipos da funções.
O programa funcionam 100%, mas falta implementar uma função que ao excluir um aluno do vetor de alunos que esta na classe Cadastro Alunos também tenho que excluir todas as notas cadastradas para este mesmo aluno, mas as notas estão em um vetor dentro de outra classe, a classe Cadastro Notas. Consigo excluir o aluno e as notas separadamente pois em cada classe tenho uma função excluir, mas de dentro da classe Cadastro Aluno não consigo apagar as notas na classe Cadastro Notas.
Minha função para exclur as notas (Ela esta no Notas.cpp onde estão minhas funções referentes as notas):
void CadastroNotas::excluirNotas(int numMatricula) {
int pos = 0;
do {
pos = pesquisarMatricula(numMatricula);
if(pos >= 0){
for(int i = pos; i < indice; i++) {
notas[pos] = notas[pos + 1];
indice--;
}
}
} while(pos >= 0);
}
Chamo esta função no meu arquivo Alunos.cpp em que tenho minhas funçoes para classe Aluno e Cadastro Aluno, consigo obter as informações do vetor mas não consigo altera-las. Se eu chama-la dentro do Notas.cpp onde estão minhas funçoes referentes as notas ele apaga as notas corretamente.
Como devo proceder para que consiga chamar de dentro do meu Alunos.cpp esta função e ela apague os dados do vetor de notas que esta na classe Cadastro Notas?
Se não entenderem alguma coisa ou precisarem de mais informações e só dizer.
Pergunta
FabricioAC
Olá, sou novo aqui no fórum e tenho uma duvida em relação a classes em C++, espero que alguém possa me ajudar. Desde já obrigado!
Estou desenvolvendo um trabalho pra faculdade em que preciso cadastrar alunos, disciplinas e notas e no final exibir alguns relatórios, tudo isso usando o conceito de classes e orientação a objetos. O programa esta 99% pronto só encontrei problemas para implementar o seguinte:
Tenho 6 classes implementadas (Não vou postar o codigo da Disciplina pois não vem ao caso):
Alunos
Cadastro Alunos
Notas
Cadastro Notas
Nelas eu declaro meus vetores, as variaveis que tenho dentro de cada vetor e os prototipos da funções.
O programa funcionam 100%, mas falta implementar uma função que ao excluir um aluno do vetor de alunos que esta na classe Cadastro Alunos também tenho que excluir todas as notas cadastradas para este mesmo aluno, mas as notas estão em um vetor dentro de outra classe, a classe Cadastro Notas. Consigo excluir o aluno e as notas separadamente pois em cada classe tenho uma função excluir, mas de dentro da classe Cadastro Aluno não consigo apagar as notas na classe Cadastro Notas.
Minha função para exclur as notas (Ela esta no Notas.cpp onde estão minhas funções referentes as notas):
Chamo esta função no meu arquivo Alunos.cpp em que tenho minhas funçoes para classe Aluno e Cadastro Aluno, consigo obter as informações do vetor mas não consigo altera-las. Se eu chama-la dentro do Notas.cpp onde estão minhas funçoes referentes as notas ele apaga as notas corretamente.
Como devo proceder para que consiga chamar de dentro do meu Alunos.cpp esta função e ela apague os dados do vetor de notas que esta na classe Cadastro Notas?
Se não entenderem alguma coisa ou precisarem de mais informações e só dizer.
Obrigado novamente!
Editado por FabricioACLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.