Jump to content

[Ajuda] Programa que mostre a maior e menor nota


balla.us

Recommended Posts

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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...