Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida simples em C (if)


Aprendiz20

Pergunta

Por favor queria uma ajudinha para elaborar esse codigo

Faça um programa que receba duas notas de seis alunos, calcule e mostre

(comando for):

• A média aritmética das duas notas de cada aluno;

• A mensagem que está na tabela a seguir:

Abaixo de 3 - Reprovado

De 3 a 7 - Exame

Acima de 7 - Aprovado

• O total de alunos aprovados;

• O total de alunos de exame;

• Total de alunos reprovados;

• A média da classe.

Quem puder me ajudar ficarei grato...

#include <stdio.h>

main() {
       int i, apr, rep, ex;
       float n1, n2, soma;
       
       for(i=0; i<4; i++) {
                printf("Informe 2 notas do aluno %d: ", i+1);
                scanf("%f", &n1);
                scanf("%f", &n2);
                soma=n1+n2/2;
                if(soma < 3) {
                        printf("Reprovado\n");
                        rep+=1;
                } else
                if(soma > 3 && soma <=7) {
                       printf("Exame\n");
                       apr+=1;
                } 
                else
                {
                      printf("Aprovado\n");
                      ex+=1;
                }
       }
       getch();
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá.

Vou te mostrar a lógica de como você pode fazer esse exercício.

Ele não é difícil, mas você deve compreender como ele está estruturado.

Para aluno[1] até aluno[6] Faça
  Pega nota1 do aluno
  Pega nota2 do aluno
  
  Calcula média
  Guarda média na variável M
  
  Se a média for menor que 3, soma 1 na variável X (alunos reprovados)
  Senão se estiver entre 3 e 7, soma 1 na variável Y (alunos de exame)
  Senão soma 1 na variável Z (alunos aprovados)
Fim-para

Mostra X
Mostra Y
Mostra Z
Mostra M

Editado por OSJunior
Link para o comentário
Compartilhar em outros sites

  • 0

Tu tem dois erros ai.

1- As variáveis apr, rep e ex não foram zeradas. Isso vai causar um erro de lógica.

Quando tu fizer rep+=1; tu vai somar um ao lixo.

Faça :

int i;
int apr=0;
int rep = 0;
int ex= 0;

(Separar as declarações é uma boa prática de programação)

2- Erro está no FOR

A condição deve ser i<6.

Ai ele vai pegar os alunos 0-1-2-3-4-5, totalizando 6 alunos.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...