Ir ao conteúdo

Posts recomendados

Postado

Escreva um programa em C que leia o nome de um aluno, a nota da avaliação 01 e a nota da avaliação 02. Calcule e escreva o resultado da média aritmética das duas notas e informe se o aluno está em exame, aprovado ou reprovado. Para estar aprovado, a média precisa ser igual ou superior a 7. Para estar em exame, a nota precisa ser menor do que 7 e maior ou igual a 5. Caso a nota seja menor do que 5, o aluno estará reprovado.

 

#include <stdio.h>
int main ()
{
    float aluno, nota1, nota2, media, aprovado, reprovado, exame;
    printf ("\n Digite o nome do aluno: ");
    scanf ("%f", &aluno);
    printf ("\n Digite o valor da primeira nota: ");
    scanf ("%f", &nota1);
    printf ("\n Digite o valor da segunda nota: ");
    scanf ("%f", &nota2);
    media = nota1+nota2/2;
    if (media>=7)printf ("\nO aluno está aprovado.", media);
    if (media<7)printf ("\nO aluno está de exame.", media);
    if (media=5)printf ("\nO aluno está de exame.", media);
    else (media<5);printf("\nO aluno está reprovado.", media);
}

na hora de compilar ele apresenta o erro "Id returned 1 exit status".

  • Obrigado 1
Postado

O nome do aluno não é um número com ponto flutuante. E precisa rever a condições dos ifs no fim do programa, vai entrar em mais de 1 if imprimindo mais de uma mensagem, e sempre imprimirá que o aluno foi reprovado. E em C o operador de comparação de igualdade é == (o operador = é o operador de atribuição).

  • Curtir 2
Postado

@Isadora Maciel   o que o @isrnick  disse foi que o nome do aluno é uma string , mas você colocou uma variável  float para pegar o nome do aluno ,  e o cálculo está dando erro também pois para calcular a média precisa somar as duas notas e depois dividir por dois ,  mas do jeito que está o compilador vai dividir a nota2 por dois e depois somar o resultado com a nota1 ,  então seu código modificado poderia ser assim   :

#include <stdio.h>
int main (){
    float nota1,nota2,media;
    char aluno[30];/* nome do aluno é string */
    printf(" Digite o nome do aluno ----------: ");
    fflush(stdin);
    scanf("%s",aluno);/* nome é string */
    printf(" Digite o valor da primeira nota -: ");
    fflush(stdin);
    scanf("%f",&nota1);
    printf(" Digite o valor da segunda nota --: ");
    fflush(stdin);
    scanf("%f",&nota2);
    media = (nota1+nota2)/2;
    printf("\n O aluno %s com media %.2f est%c ",aluno,media,160);
    if     (media >= 7 )             printf("aprovado  .\n\n\n" );
    else if(media <  7 && media >=5 )printf("de exame  .\n\n\n" );
    else if(media <  5 )             printf("reprovado .\n\n\n" );
    return 0;
}

 

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