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

Dúvida com sintaxe de Div e Mod em C


Áquila

Pergunta

Olá.Sou inciante em C e estou com uma dúvida muito grande em relação a sintaxe do div e mod no programa. A professora pediu um programa com a seguinte descrição:

Escreva um programa, em C, para ler um valor (em reais), calcular e exibir quantas cédulas de 100, 50, 20, 10, 5, 2 e 1, são necessárias.

Então escrevi este código:

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

int main (void) {
    int valor, resto, resto_2, resto_3, resto_4, resto_5, qtde, qtd2, qtd3, qtd4, qtd5, qtd6, qtd7; 
    
    printf(" Informe o valor:");
    scanf("%d", &valor);
    valor/100 = qtde;
    valor % 100 div 50 = qtd2;
    
    resto = valor % 100/50;
    resto div 20 = qtd3;
    
    resto_2 = resto % 20;
    resto_2 div 10 = qtd4;
    
    resto_3 = resto_2 % 10;
    resto_3 div 5 = qtd5;

    resto_4 = resto_3 / 5;
    resto_4 div 2 = qtd6;

    resto_5 = resto_4 / 2;    
    resto_5 div 1 = qtde7
    
    
   
   printf(" A quantidade de notas de 100: %d", qtde);
   printf(" A quantidade de notas de 50: %d", qtd2 );
   printf(" A quantidade de notas de 20: %d", qtd3);
   printf(" A quantidade de notas de 10: %d", qtd4 );
   printf(" A quantidade de notas de 5: %d", qtd5);
   printf(" A quantidade de notas de 2: %d", qtd6);
   printf(" A quantidade de notas de 1: %d", qtd7);
   
   getch();
}

e está apresentando os seguintes erros:

linha

In function `main':

10 invalid lvalue in assignment

11 syntax error before "div"

14 syntax error before "div"

14 syntax error before "div"

17 syntax error before "div"

20 syntax error before "div"

23 syntax error before "div"

26 syntax error before "div"

Então as minhas dúvidas são: Não estou conseguindo entender qual a função do <stdlib.h> e qual seria a nomenclatura certa para o div e para o mod em C. E será que este código está realmente certo? ( Estou fazendo sozinho sem a ajuda de ninguém então estou pedindo a ajuda de vocês).

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ae Áquila, beleza?

Cara, o div do pascal no C é o operador de divisão / , e o resto o operador %. O / não é exatamente um operador igual ao div, o que acontece é que o div do pascal só funcionava com números inteiros. No C o que acontece é que em cada expressão que é avaliada, todos os tipos envolvidos são convertidos ao tipo de maior faixa envolvido na expressão aritmética. Então, quando você faz 1 / 2, você está pegando a parte inteira da divisão, quando você faz 1.0f / 2, o 2 "é convertido para float" e depois é feita a divisão e retornado o resultado: 0.5:

#include <stdio.h>

int main(int argc, char** argv){
    float inteiro = 1 / 2;
    float quebrado = 1.0f / 2;
    printf("divisão incompleta: %f, divisão total: %f", inteiro, quebrado);
    return 0;
}

EDIT: Adicionei um exemplo. ;D

Você também pode especificar outros sufixos para constantes literais afim de "forçar" o compilador a tratar aquelas constantes como tal:

1231213U - sem sinal

3454L - inteiro long

34234e2 - double em notação científica

1e-2 - idem

e assim por diante.

Espero que tenha entendido.

Se tiver mais outra dúvida sinta-se a vontade pra perguntar.

Abraço.

Editado por Arrk
Link para o comentário
Compartilhar em outros sites

  • 0

Realmente não tinha notado as linhas 10 e 11 do código dele. Ainda bem que Mnemonic viu, hehehe. Só pra completar o que ele falou, Áquila, tenha cuidado, nas expressões de atribuição os chamados left-value devem ser variáveis ou locais de memória para armazenamento, isso é um erro que você não pode deixar acontecer novamente por ser muito básico.

Abraço.

Editado por Arrk
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...