Ir ao conteúdo

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


Ir à solução Resolvido por Diego Mendes Rodrigues,

Posts recomendados

Postado

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

  • Solução
Postado

@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
Postado

@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

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!