Ir ao conteúdo
  • Cadastre-se
dellurks

C Exercício de estrutura de decisão

Recommended Posts

Bom o exercício propriamente dito é esse:

Desenvolva um programa em Linguagem C que receba do usuário a nota 2 provas de teoria e 2 notas de laboratório e calcule a média da seguinte forma:

Media = MediaFinal=MediaTeoria*0,6 + MediaLab*0,4

Se a média for maior ou igual a 7 o aluno foi aprovado, caso contrário o mesmo foi reprovado.

 

E gostaria de uma ajuda no código que já desenvolvi que é esse, porém ele esta dando media final igual a zero, fazendo com que o aluno seja considerado reprovado:

 

#include <stdio.h>
#include <stdlib.h>

float main()

{

    float PT1,PT2,MT,PL1,PL2,ML,media;

    printf("Digite a primeira nota de prova teorica:\n");

    scanf("%f",&PT1);

    printf("Digite a segunda nota de prova teorica:\n");

    scanf("%f",&PT2);
    
    MT=(PT1+PT2)/2;
    
    printf("Sua media teorica e:%f\n",MT);
    
    
    printf("Digite a primeira nota de prova Pratica:\n");

    scanf("%f",&PL1);

    printf("Digite a segunda nota de prova Pratica:\n");

    scanf("%f",&PL2);
    
    ML=(PL1+PL2)/2;
        
    printf("Sua media pratica e:%f\n",ML);
    
      
    media = MT*0,6+ML*0,4;
        
    printf("Sua media final e:\n%f",media);
    
    if(media>=7)
    {
        printf("Aluno aprovado\n%f",media);
        
    }
    else
    {
        printf("Aluno reprovado\n%f",media);
    }

 getch();
 
 return 0;
}

Se puderem me ajudar com urgência estarei completamente grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

forum.c

/*  Programa: forum.c
    Escrito por: Mauro Britivaldo
    Data da Criação: 15/03/2018

    Propósito: Colaborar com  membro @dellurks
    */


#include<stdio.h>  // Incluir as rotinas que fazem Entra e Saída .
#include<stdlib.h> // Incluir as rotinas que fazem uso de memória.

int main() {

    float PT1, PT2, MT, PL1, PL2, ML, media;

    printf ("Digite a primeira nota de prova teorica:\n");
    scanf ("%f", &PT1);

    printf ("Digite a segunda nota de prova teorica:\n");
    scanf ("%f", &PT2);

    MT = (PT1 + PT2) / 2;

    printf ("Sua media teorica e:%f\n", MT);


    printf ("Digite a primeira nota de prova Pratica:\n");
    scanf ("%f", &PL1);

    printf ("Digite a segunda nota de prova Pratica:\n");
    scanf ("%f", &PL2);

    ML = (PL1 + PL2) / 2.0;

    printf ("Sua media pratica e:%f\n", ML);


    media = MT * 0.6 + ML * 0.4;
    printf ("Sua media final e: %f\n", media);

    if (media >= 7) {
        printf ("Aluno aprovado com media: %f\n", media);
        }
    else {
        printf ("Aluno reprovado com media: %f\n", media);
        }

    getch();
    return 0;
    }

Observe que; Na linguagem números fracionados (flutuantes) literais não usamos a vírgula e sim o ponto, de acordo com a notação temos ABNT 1,0 equivalente ANSI 1.0 

 

A vírgula é um operador semi-ponto-vírgula, ou seja, faz quase a mesma coisa que ponto-vírgula porém operando dentro e fora de declarações como se dado instrução ainda tivesse continuidade até finalizar com ponto-vírgula. Foi isso que acontecer as multiplicações eram realizadas com 0.  

  • Obrigado 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×