Ir ao conteúdo

Posts recomendados

Postado

O Departamento de Computação deseja saber se existem alunos cursando, simultaneamente, as disciplinas D1 e D2. Existe disponível uma listagem com os números de matrículas dos alunos das duas disciplinas. Após ler essas listagens verifique quem são os alunos.

 

O Problema é que não to conseguindo fazer a verificação dos alunos., alguem poderia me ajudar?

 

#include <iostream>
using namespace std;

int main()
{
    int D1[]={2,3,4,5, '\0'};
    int D2[]={6,7,8,9, '\0'};
    int i;
    int codaluno;

    cout << "Digite o codigo do aluno: " << endl;
    cin >> codaluno;

for(i=0; i < 5; i++){
        if(codaluno == D1[5] && codaluno == D2[5]){
            cout << "O Aluno esta Matriculado nas materias D1 e D2" << endl;
        }
         if(codaluno == D1[5]){
            cout << "O Aluno esta Matriculado na materia D1" << endl;
        }
          if(codaluno == D2[5]){
            cout << "O Aluno esta Matriculado na materia D2" << endl;
        }
}
    return 0;
}

 

Postado

Bom, o que precisa ser feito é o seguinte: você precisa de duas variáveis, uma para cada disciplina. O valor da respectiva variável será trocado para 1 caso o código do aluno seja encontrado no vetor da respectiva disciplina. Por exemplo:

int MatD1 = 0, MatD2 = 0;
for(i = 0; i < 5 && (MatD1 == 0 || MatD2 == 0); i++)
{
	if(codaluno == D1[i])
		MatD1 = 1;
	if(codaluno == D2[i])
		MatD2 = 1;
}

if(MatD1 && MatD2)
    cout << "O Aluno esta Matriculado nas materias D1 e D2" << endl;
else if(MatD1)
    cout << "O Aluno esta Matriculado na materia D1" << endl;
else
    cout << "O Aluno esta Matriculado na materia D2" << endl;

No final, basta usar condições para cada uma dos possíveis valores das variáveis.

 

Seu código está errado porque o índice dos vetores nas condições está 5, ou seja, está estático, que sempre terá o mesmo resultado em todas as iterações do loop.

  • Curtir 1
Postado
17 horas atrás, iHollyZinhO disse:

Bom, o que precisa ser feito é o seguinte: você precisa de duas variáveis, uma para cada disciplina. O valor da respectiva variável será trocado para 1 caso o código do aluno seja encontrado no vetor da respectiva disciplina. Por exemplo:


int MatD1 = 0, MatD2 = 0;
for(i = 0; i < 5 && (MatD1 == 0 || MatD2 == 0); i++)
{
	if(codaluno == D1[i])
		MatD1 = 1;
	if(codaluno == D2[i])
		MatD2 = 1;
}

if(MatD1 && MatD2)
    cout << "O Aluno esta Matriculado nas materias D1 e D2" << endl;
else if(MatD1)
    cout << "O Aluno esta Matriculado na materia D1" << endl;
else
    cout << "O Aluno esta Matriculado na materia D2" << endl;

No final, basta usar condições para cada uma dos possíveis valores das variáveis.

 

Seu código está errado porque o índice dos vetores nas condições está 5, ou seja, está estático, que sempre terá o mesmo resultado em todas as iterações do loop.

Agora consegui entender, valeu :thumbsup:

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!