Ir ao conteúdo
  • Cadastre-se

Obter duas maiores notas de um grupo de alunos (c++)


Posts recomendados

Boa noite. Então, estou com um dúvida com meu exercício e gostaria da ajuda de vocês. Quero descobrir quais são as duas maiores notas armazenadas em uma struct. Essa é a única parte do exercício que estou tendo dificuldade até então. Tenho este código:void MAIORESNOTAS(Aluno A[], int cont){		int maior= 0, x;	char aluno[30];	int segunda_maior = 0;	char aluno1[30];		for(x=0;x<cont; x++){		if(A[x].nota>maior){			maior = A[x].nota;			strcpy(aluno, A[x].nome);		}	}	for(x=0;x<cont;x++){		if(A[x].nota<maior){			segunda_maior = A[x].nota;			strcpy(aluno1, A[x].nome);		}	}	cout<<"\nO aluno que teve a nota mais alta chama-se:"<<aluno<<endl;	cout<<"\nO aluno que teve a segunda maior nota chama-se:"<<aluno1<<endl;} 

Estou fazendo o exercício no Dev c++ e algumas vezes ele pega a segunda maior nota e outras vezes não. Grata a quem puder me ajudar.

Eu mesma fiz a pergunta e agora estou respondendo rs

void MAIORESNOTAS(Aluno A[], int cont){	int x;	int maior1 = 0;	int maior2 = 0;	char maiornome1[30];	char maiornome2[30];		for(x = 0; x <cont; x++){		if( A[x].nota > maior1 ){    		    if(maior1 > maior2){        	      maior2 = maior1;    	            }    	            maior1 = A[x].nota;    	            strcpy(maiornome1, A[x].nome);	         }	         if( A[x].nota > maior2 && A[x].nota != maior1 ){    	             maior2 = A[x].nota;    	             strcpy(maiornome2, A[x].nome);	        }	}	cout<<"A maior nota e: "<<maior1<<" , do aluno: "<<maiornome1<<endl;	cout<<"A segunda nota e: "<<maior2<<" , do aluno: "<<maiornome2<<endl;}

Consegui resolver com este código. Estou deixando aqui para ajudar se tiver alguém com a mesma duvida que eu.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...