Ir ao conteúdo
  • Cadastre-se

C Ler e calcular a média de 4 notas de um aluno e informar seu sexo.


D-e-c-c-o
Ir à solução Resolvido por Diego Mendes Rodrigues,

Posts recomendados

Bom dia.

 

Estou com dificuldade em interpretar um código em um exercício onde o dever é reescrever o código de portugol para C. O exercício se trata de Ler e calcular a média de 4 notas de um aluno e informar seu sexo.

 

Código em C

#include <stdio.h>

int main(void) {
  float n1, n2, n3, n4, media;
  int sex, M, F;
  
  printf("Digite a primeira nota\n");
  scanf("%f", &n1);

  printf("Digite a segunda nota\n");
  scanf("%f", &n2);

  printf("Digite a terceira nota\n");
  scanf("%f", &n3);

  printf("Digite a quarta nota\n");
  scanf("%f", &n4);

  printf("Digite o seu sexo");
  scanf("%d", &sex);

  media = (n1 + n2 + n3 + n4) / 4;

  if (media >= 6) {
    if(sex == M){
      printf("Caro Aluno, você foi aprovado");
    } else {
      printf("Cara Aluna, você foi aprovada");
    } 
  } else if {
    if (sex == M){
      printf("Caro Aluno, você foi reprovado");
    } else {
      printf("Cara Aluna, você foi reprovada");
    }
  }

  return 0;
  
  }

 

 

Código em Portugol:

 

 

1691543847187.jpg

Link para o comentário
Compartilhar em outros sites

  • Solução

@D-e-c-c-o , bom dia.

 

Segue o código funcionando na Linguagem C.


 

#include <stdio.h>
#include <ctype.h>

int main()
{
    float n1, n2, n3, n4, media;
    char sexo, sex;

    printf("Digite a primeira nota: ");
    scanf("%f", &n1);

    printf("Digite a segunda nota: ");
    scanf("%f", &n2);

    printf("Digite a terceira nota: ");
    scanf("%f", &n3);

    printf("Digite a quarta nota: ");
    scanf("%f", &n4);

    printf("Digite o seu sexo [M/F]:");
    scanf(" %c", &sexo);
    sex = toupper(sexo);

    media = (n1 + n2 + n3 + n4) / 4;
    printf("Sua média é %.2f\n", media);

    if (media >= 6) {
        if (sex == 'M') {
            printf("Caro Aluno, você foi aprovado");
        } else {
            printf("Cara Aluna, você foi aprovada");
        }
    } else {
        if (sex == 'M') {
            printf("Caro Aluno, você foi reprovado");
        } else {
            printf("Cara Aluna, você foi reprovada");
        }
    }

    return 0;
}

 

Neste link você pode testar esse código:

https://onlinegdb.com/HMuY0wyEE

 

Espero ter ajudado!

Abraço,

Diego

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

@D-e-c-c-o Veja as mensagens do compilar, tem um erro nesta linha,

 

main.c:30:13: error: expected ‘(’ before ‘{’ token
   30 |   } else if {

 

O bloco else if espera a condição de teste, caso não tenha nenhuma deixe apenas else.

 

E o sexo deve ser caractere, por isso tanto o especificador do scanf quanto o teste condicional deve ser com char.

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

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!