Ir ao conteúdo
  • Cadastre-se

flee

Membros Juniores
  • Total de itens

    2
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. flee

    C++ problema com vector em c++

    @r_Tray Muito obrigado pela resposta, eu notei que a parte que você tirou do código foi o "for" usando "iterator", como nesse caso: for(Turma *it : v_turma){ if(it->getNomeT() == novaTurma->getNomeT()){ cout << "Turma ja existente \n"<< endl; turmaexiste = true; } } essa parte no código deve ser usado para percorrer o vector e procurar se ja existe alguma turma ou aluno com esse nome, caso exista, o programa nao deve adicionar ao vector e exibir uma mensagem dizendo que o aluno ou turma ja esta cadastrado, entende? pode ser usado com outra sintaxe também, porém quando uso outra sintaxe da erro e nao compila. Já no caso do main, eu nao entendi muito bem... você acha que é melhor eu usar o switch para capturar a opção do usuario e criar o loop? obrigado novamente.
  2. Boa noite pessoal, sou novo aqui e recentemente comecei a estudar sobre POO, atualmente estou com um problema no código abaixo, no exercicio eu devo criar uma classe "Aluno" com seus atributos e métodos, outra classe chamado "turma" onde deve ser possivel acrescentar um aluno em um vector e outra classe "grade curricular", onde devo ter um vector para incluir uma turma. Porém, percebi que a funcionalidade de incluir um aluno na turma não está funcionando, acredito que seja algum erro de logica, mas nao consigo encontrar. Agradeço desde já pela atenção. Codigo: #include <iostream> #include <string> #include <vector> #include <iterator> #include <algorithm> using namespace std; class Aluno{ private: string nome; string matricula; int periodo; int idade; public: Aluno(string nome, string matricula, int periodo, int idade){ this->nome = nome; this->matricula = matricula; this->periodo = periodo; this->idade = idade; } Aluno(){ } ~Aluno(){ } void setnome(string nome){ nome = nome; } string getnome(){ return this->nome; } void setmatri(string matricula){ matricula = matricula; } string getmatri(){ return this->matricula; } void setperiodo(int periodo){ periodo = periodo; } int getperiodo(){ return this->periodo; } void setidade(int idade){ idade = idade; } int getidade(){ return this->idade; } }; class Turma{ private: string nomeT; string codigo; vector<Aluno*>v_aluno; public: Turma(){ } Turma(string nomeT, string codigo, vector<Aluno*> v_aluno){ this->nomeT = nomeT; this->codigo = codigo; this->v_aluno = v_aluno; } ~Turma(){} string getNomeT(){ return this->nomeT; } string getCodigo(){ return this->codigo; } vector <Aluno*> getV_aluno(){ return this->v_aluno; } void novoAluno(){ string nome, matricula; int periodo, idade; bool AlunoExiste = false; vector<Aluno*> v_aluno;// vetor do tipo da classe Aluno cout << "Digite o nome: "<< endl; getline(cin, nome); cout << "Digite a matricula: "<< endl; getline(cin, matricula); cout << "Digite o periodo: "<< endl; cin >> periodo; cout << "Digite a idade: "<< endl; cin >> idade; Aluno *novoalu= new Aluno(nome, matricula, periodo, idade); for (Aluno *it : v_aluno){ if(it->getnome() == novoalu->getnome()){ cout << "Aluno ja cadastrado" << endl; AlunoExiste = true; } } if (!AlunoExiste) { v_aluno.push_back(novoalu); cout <<"Aluno cadastrado com sucesso " <<endl; } } }; class GradeCurricular{ private: vector<Turma*> v_turma; public: GradeCurricular(vector<Turma*> v_turma){//construtor parametrizado this->v_turma = v_turma; } GradeCurricular(){}//construtor padrão ~GradeCurricular(){}// descontrutor void addTurma(){ string nomeT; string codigo; vector<Aluno*> v_aluno; vector<Turma*> v_turma; bool turmaexiste = false; cout << "Digite o nome da turma\n" << endl; getline(cin, nomeT); cout << "Digite o codigo da turma\n" << endl; getline(cin, codigo); Turma *novaTurma = new Turma(nomeT, codigo, v_aluno); for(Turma *it : v_turma){ if(it->getNomeT() == novaTurma->getNomeT()){ cout << "Turma ja existente \n"<< endl; turmaexiste = true; } } if(!turmaexiste){ v_turma.push_back(novaTurma); cout << "Turma criada com sucesso !\n"<< endl; } } void addAluno(){ string nomeT; string codigo; vector<Aluno*> v_aluno; vector<Turma*> v_turma; bool turmaExiste = true; cout << "Digite o nome da turma que deseja adicionar o aluno\n" << endl; getline(cin, nomeT); cout << "Digite o codigo da turma que deseja adicionar o aluno\n" << endl; getline(cin, codigo); Turma *novaT = new Turma(nomeT, codigo, v_aluno); for(Turma *it : v_turma){ cout << "entrou no for" << endl; if(it->getNomeT() == novaT->getNomeT()){ cout << "Turma encontrada\n"<< endl; turmaExiste = false; } } if(!turmaExiste){ cout << "teste" << endl; novaT->novoAluno(); } } }; int main(){ int op=5; GradeCurricular materia; //objeto da classe grade curricular while(op !=0){ cout << "Digite 1 para adicionar uma nova turma a grade curricular \n"<< endl; cout << "Digite 2 para adicionar um aluno a uma turma \n"<< endl; cin >> op; if(op == 1){ materia.addTurma(); } if(op == 2){ materia.addAluno(); } if(op == 0){ break; } } return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!