Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro com o uso do operador %


N a T a N

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0
int i=((hora-3)%1);
O compilador está acusando problema nessa linha de código...

O erro é

invalid operands to binary %
Alguém sabe dizer o porque o compilador acusa tal erro?

NO dev aqui funcionou beleza

int hora = 10;
int i=((hora-3)%1);
printf("%d", i);

Link para o comentário
Compartilhar em outros sites

  • 0

Poisé cara, normalmente funciona aqui também, mas nesse caso deu erro, e foi dentro de uma função...

float calcularTaxa(float hora){

float rest;

float k;

if(hora <= 3)

return 2;

else if(hora > 3 && hora <= 6){

k=(int)((hora-3)/1);

rest=(hora-3)-k;

if(rest==0)

return (2+k);

else

return (2+1+k);

}

else{

k=(int)((hora-6)/1);

rest=(hora-6)-k;

if(rest==0)

return (5+0.5*k);

else

return (5+0.5+0.5*k);

}

}

Essa função no caso, como o % não funcionou, tive que usar outros recursos.

Link para o comentário
Compartilhar em outros sites

  • 0

O operador % só funciona para tipos inteiros. Como hora está declarado como float, ele não pode ser usado.

Pelo que entendi, o objetivo é obter o resto da divisão por 1 (isto é, a parte decimal). Nesse caso, basta pegar o valor da variável e, desse valor, subtrair sua parte inteira.

float hora_menos_3=hora-3;
float i=hora_menos_3-(int)hora_menos_3;

Obs.:

Como a variável i deve trabalhar com a parte decimal de um número, deve ser declarada como float e não como int.

Link para o comentário
Compartilhar em outros sites

  • 0

O operador % só funciona para tipos inteiros. Como hora está declarado como float, ele não pode ser usado.

Pelo que entendi, o objetivo é obter o resto da divisão por 1 (isto é, a parte decimal). Nesse caso, basta pegar o valor da variável e, desse valor, subtrair sua parte inteira.

float hora_menos_3=hora-3;
float i=hora_menos_3-(int)hora_menos_3;

Obs.:

Como a variável i deve trabalhar com a parte decimal de um número, deve ser declarada como float e não como int.

Hmm, bastante interessante o seu jeito também... Obg.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...