Ir para conteúdo

[Ajuda] Programa que mostre a maior e menor nota


balla.us

Posts Recomendados

Olá, criei um programa que lê o n° do aluno,3 notas dele e faz a média, diz se foi aprovado, reprovado ou está de final. Porém não consigo estruturar 3 tópicos, preciso mostrar os números de alunos que foram aprovados, em exame e reprovados; O código do aluno que tirou a menor nota; O código do aluno que tirou a maior nota. Segue o meu código:

#include <stdio.h>
main ()
{
float n1, n2, n3;
int p1, p2, p3,N_Aluno=1,i, maior;
  while (N_Aluno>0) {
printf("Qual o número do aluno? ");
scanf("%i", &N_Aluno);
printf("Digite a primeira nota: ");
scanf("%f", &n1);
printf("Digite a segunda nota: ");
scanf("%f", &n2);
printf("Digite a terceira nota: ");
scanf("%f", &n3);
float  media = (n1+n2+n3)/2;
printf("\n A media do aluno é: %.2f",media);
   if(media >= 7) printf("\n APROVADO \n"); else { if(media >= 0 && media <= 3) printf("\n REPROVADO \n"); else if(media > 3 && media < 7) printf("\n EXAME FINAL\n");  
}}
  }

Link para o comentário
Compartilhar em outros sites

Eu acho que eu entendi, mas seria legal vc colocar o enunciado da questão também porque fica mais claro de entender... enfim, em relação a primeira dúvida, você pode usar um contador pra saber quantas pessoas foram aprovadas, estão de exame e reprovadas... toda vez que a média for calculada adiciona +1 no contador da condição. Sobre o maior e menor, eu geralmente uso uma lógica de criar duas variáveis "maior" e "menor" do tipo int e comparar as notas colocando as saídas em "maior" e "menor". Se quiser, pode chamar lá no discord tbm que a gente discuti a solução juntos, meu nick lá é meritissimo1 :D

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Você pode ter mais 3 variaveis, por ex 

int aprovado = 0;
int reprovado = 0;
int final = 0;

Além das variaveis que vc já vem (acrescente essas) e pra cada N_Alunos você calcula as médias (como já está fazendo) e no final printa tudo (depois do while)

Ai fica assim depois do while:
 

    printf("Alunos aprovados %d", aprovado);
    printf("Alunos reprovados %d", reprovado);
    printf("Alunos na final  %d", final); 

Se preferir, pode trocar o while por for e verificar as medias são >= etc o valor esperado, e incrementa o aprovado dentro do if (que eu comentei) e faz isso pra cada uma das variáveis, deu pra entender?
Ficaria tipo isso (lembrando que isso está dentro de uma estrutura de repetição)

 

    if(media >= 6) {
        printf("Aluno aprovado - media %.2f", media);
        aprovado++;
    }

 

Espero ter ajudado. Boa sorte.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...