Ir ao conteúdo

Posts recomendados

Postado

Bom dia clube,

É o seguinte, sempre que executo o for para ler quem sao os alunos e as notas o programa não lê nada após, pois eu quero colocar um if para saber quem são os aprovados. Qual o erro que estou cometendo ?

Questão_Os alunos de informática tiveram cinco provas (uma de cada matéria/disciplina): 1, 2, 3, 4 e 5. Considere aprovado o aluno com nota igual ou superior a 7.0. Criar um programa que leia o Nome dos alunos e as suas respectivas cinco notas. Inicialmente o programa deve perguntar quantos alunos existem na turma e deve também imprimir: Nome dos que foram aprovados em todas as matérias; 

Nome dos alunos aprovados nas matérias 1 e 4;

A porcentagem dos aprovados na matéria 3;

 

Meu programa:

int main(int argc, char *argv[]) {
    char aluno;
    int i, n, aprovadoNota3;
    double nota1, nota2, nota3, nota4, nota5, porcentagem;
    
    printf("\n Quantos alunos tem na turma:");
    scanf("%d", &n);
    
    for( i = 1; i <= n ; i++)
    {
        printf("\n Digite o nome do aluno %i: ", i);
        scanf("%s", &aluno);
        printf("\n Digite a nota da p1: ");
        scanf("%f", &nota1);
        printf("\n Digite a nota da p2: ");
        scanf("%f", &nota2);
        printf("\n Digite a nota da p3: ");
        scanf("%f", &nota3);
        printf("\n Digite a nota da p4: ");
        scanf("%f", &nota4);
        printf("\n Digite a nota da p5: ");
        scanf("%f", &nota5);
      
      if( nota1 >= 7 && nota2 >= 7 && nota3 >= 7 && nota4 >= 7 && nota5 >= 7)
      {
        printf("\n Aprovado: %s", aluno);
      }else if( nota1 >= 7 && nota4 >= 7 )
      {
          printf("\n Alunos aprovados na p1 e p4: %s", aluno);
      }else if( nota3 >= 7)
      {
          aprovadoNota3++;
      }
    }
    porcentagem = aprovadoNota3*100 / n;
    printf("\n Alunos aprovados na p3: %f", porcentagem);

    
    
    
    return 0;
}

 

Postado
4 minutos atrás, SamuelBrev disse:

sim

então sabe que char aluno; deve ser char aluno[aluno_tamanho];

adicionado 1 minuto depois

onde aluno_tamanho é uma constante numérico com tamanho do nome do aluno!

Postado

@AnsiC putz, muito obrigado tinha esquecido desse detalhe, agora deve funcionar.

adicionado 5 minutos depois

Outra coisa pra fechar, na hora do "printf("\n Aprovado: %s", aluno); " só está imprimindo o nome do ultimo aluno aprovado, como faço pra imprimir os outros alunos quaisquer aprovados ? Não consigo pensar um outra função pra ajudar.

Postado
3 horas atrás, SamuelBrev disse:

deve também imprimir: Nome dos que foram aprovados em todas as matérias; 

Nome dos alunos aprovados nas matérias 1 e 4;

Se é dessa condição que está falando, então tire o else antes dos ifs e depois teste.

  • Confuso 1
Postado

@AnsiC Tentei fazer o que me falasse pra fazer, mas n obtive resultado. 

Exemplo:

"printf("\n Aprovado: %s", aluno); " 

Neste printf eu quero que apareça mais de 1 nome, tem como ? Pois, só estas aparecendo apenas 1 aprovado, ou seja na minha leitura eu não tenho só 1 aprovado.

  • Confuso 1
Postado

@AnsiC Segue a imagem da execução, ali onde está a saída "Alunos aprovados: " e "Alunos aprovados na p1 e p4" está aparecendo o nome de 1 só aprovado, sendo que tem 2. Como fazer para que possa aparecer os outros nomes aprovados tambem.

imgaem.bmp

Postado

Uhmm! Entendi.

Colocando a rotina de verificação

 if( nota1 >= 7 && nota2 >= 7 && nota3 >= 7 && nota4 >= 7 && nota5 >= 7)
      {
        printf("\n Aprovado: %s", aluno);
      }else if( nota1 >= 7 && nota4 >= 7 )
      {
          printf("\n Alunos aprovados na p1 e p4: %s", aluno);
      }else if( nota3 >= 7)
      {
          aprovadoNota3++;
      }

dentro do loop, mais precisamente depois da última nota lida, verá imediatamente se o aluno em questão foi ou não foi aprovado ... Isso resolve ?

  • Curtir 1

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!