Ir ao conteúdo

Posts recomendados

Postado

Ola, estou meio impacado no estudo com o uso de funções, estou lendo o livro "Deitel - How to Program C. 6ª edição"... e estou fazendo o seguinte programa para praticar:

#include <stdio.h>

float bl2 (float, float);
float main (){
    int i;
    float hrTB, vlHR;
    
    while ( (i = getchar ()) != EOF){
        switch (i){
            
            case 1:
                printf ("Informe as horas trabalhadas:");
                scanf ("%f", &hrTB);
                printf ("Informe o R$ por hora:");
                scanf ("%f", &vlHR);
                printf ("A Receber: %.2f", float bl2 (float hora, float valor));
                break;   
        }
    }
    
  return ;  
}   
    
float bl2 (float hora, float valor){
    float to;
    
    if (hora > 40)
        to = (hora + 0.5) * valor;
    
    else to = hora * valor;
    
    return to;
}

ao compilar é apresentando o erro nesse linha "printf ("A Receber: %.2f", float bl2 (float hora, float valor));" mas nao entendo o que pode ta acontecendo, ja tentei de tudo (pelo menos "tudo" na minha linha de conhecimento). É só isso... por enquanto xD agradeço desde já =)

Postado

@rjort_nine Aquela maneira de de usar a função só é usada para definir a função, a maneira correta de usar ela no meio do programa é:

bl2(hrTB, vlHR);

a outra maneira só está indicando que ela é uma função que recebe 2 parâmetros:

(float hora, float valor)

e também é uma função que quando terminar vai retornar um valor float:

float bl2(); // vai retornar um numero float no final da sua execução, permitindo fazer isso abaixo

//variavel
float numero;

numero = bl2();



Compile assim:

 

#include <stdio.h>

float bl2 (float, float);
float main (){
    int i;
    float hrTB, vlHR;

    while ( (i = getchar ()) != EOF){
        switch (i){

            case 1:
                printf ("Informe as horas trabalhadas:");
                scanf ("%f", &hrTB);
                printf ("Informe o R$ por hora:");
                scanf ("%f", &vlHR);
                printf ("A Receber: %.2f", bl2 (hrTB, vlHR));
                break;
        }
    }

  return ;
}

float bl2 (float hora, float valor){
    float to;

    if (hora > 40)
        to = (hora + 0.5) * valor;

    else to = hora * valor;

    return to;
}

 

Postado

@rjort_nine Da uma olhada nesse link, da aula 43~50 fala sobre funções.

https://programacaodescomplicada.wordpress.com/indice/linguagem-c/

 

Também é bom você ler algum livro, mas o importante é que você só vai aprender se praticar... Por isso pratique, fala funções.

 

faça uma função que retorne o quadrado de um número.

outra que retorna o cubo.

outra que retorna o numero só que sendo negativo.

uma função pra retornar os 3 números anteriores a um numero digitado

uma função pra retornar os 3 números posteriores a um numero digitado

 

e por ai vai...

 

Visitante
Este tópico está impedido de receber novas respostas.

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!