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

Resto da divisão de valores de ponto flutuante


drunys

Pergunta

Como pego o resto da divisão entre valores de ponto flutuante? Eis uma parte do código que quero usar esse comando:

#include <stdio.h>
#include <math.h>

int main(void) {

    float v=576.73;
    float n1, n2, n3, n4, n5, n6, m1, m2, m3, m4, m5, m6;

    //scanf("%f", &v);

    printf("NOTAS:");

    if(v >= 100){
        n1 = v/100.00;
        printf("%d nota(s) de R$ 100,00\n", n1);
    }else
        printf("0 nota(s) de R$ 100,00\n");

    if(v >= 50){
        v%=100.00; //aqui é onde está dando o seguinte erro: ivalid operands to binary % (have 'float' and 'double')
        n2= v/50;
        printf("%d nota(s) de R$ 50,00\n", n2);
    }else
        printf("0 nota(s) de R$ 50,00\n");
.......

Aqui o link do que estou querendo fazer: http://www.urionlinejudge.com.br/repository/UOJ_1021.html

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Trabalhar com tipo float pode dar dor de cabeça em certas situações. Isso é normal. :P

Precisamos definir certos limites quanto a quantidade de casas após a vírgula.

No seu caso, você vai limitar em 2 casas, portanto, daria pra fazer assim:

    double numero = 15.5;
    int inteiro = numero / 1; // Salva a parte inteira do float em uma variável do tipo inteiro
    //int inteiro = (int) numero; // Usando typecast também é possível salvar a parte inteira do float em uma variável do tipo inteiro
    double resultado = (numero - inteiro) * 100; // Pega a parte fracionada, multiplica por cem, convertendo-a para inteiro
 
    printf("Inteiro: %d\n", inteiro);
    printf("Fracao: %d\n", (int) resultado); // Typecast de float para inteiro
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...