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

Exercicio Caixa Eletronico com Notas


gramosiri2

Pergunta

Exercicio Caixa eletrônico com Notas.

Ola, estou tentando fazer um ex. aqui de um caixa eletrônico, onde precisa ser feito o saque apenas com as determinadas notas: 2, 5, 10, 20, 50 e 100 reais. Consegui fazer assim, deu certo até o saque de valor 13, dai pra frente ele entrega os valores impares em notas de 2 e 5 rsrs

 

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

int main()
{
	
	int n100=0,n50=0,n20=0,n10=0,nota5=0,nota2=0;
    float valor=0;
    int valor2=0;
    int op;
    
	printf("-> Quanto deseja sacar? R$");
    scanf("%f",&valor);  
	valor2=(int) valor;  

		if(valor2%2==0){
		while(valor>=100){
        valor=valor-100;
        n100=n100+1;
    }
    while(valor>=50){
        valor=valor-50;
        n50=n50+1;
    }
    while(valor>=20){
        valor=valor-20;
        n20=n20+1;
    }
    while(valor>=10){
        valor=valor-10;
        n10=n10+1;
    }
    while(valor>=2){
        valor=valor-2;
        nota2=nota2+1;
    }
		}
		
		
	if(valor2%2==1){
	if(nota5<=1){
		while(valor>=5){
        valor=valor-5;
        nota5=nota5+1;
        if(nota5>=1){
        	while(valor>=2){
        valor=valor-2;
        nota2=nota2+1;
    }
			break;
		}
        }
        
    }
    while(valor>=2){
        valor=valor-2;
        nota2=nota2+1;
    }
	}
    
    
    printf("SAQUE:\n");
    printf("%d nota(s) de R$ 100.00\n",n100);
    printf("%d nota(s) de R$ 50.00\n",n50);
    printf("%d nota(s) de R$ 20.00\n",n20);
    printf("%d nota(s) de R$ 10.00\n",n10);
    printf("%d nota(s) de R$ 5.00\n",nota5);
    printf("%d nota(s) de R$ 2.00\n",nota2);    
    
    return 0;
}

 

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

1 resposta a esta questão

Posts Recomendados

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

int main()
{
	
	int n100=0,n50=0,n20=0,n10=0,nota5=0,nota2=0;
    float valor=0;
    int valor2=0;
    int op;
    
	printf("-> Quanto deseja sacar? R$");
    scanf("%f",&valor);  
	valor2=(int) valor;  

		if(valor2%2==0){
		while(valor>=100){
        valor=valor-100;
        n100=n100+1;
    }
    while(valor>=50){
        valor=valor-50;
        n50=n50+1;
    }
    while(valor>=20){
        valor=valor-20;
        n20=n20+1;
    }
    while(valor>=10){
        valor=valor-10;
        n10=n10+1;
    }
    while(valor>=2){
        valor=valor-2;
        nota2=nota2+1;
    }
		}
		
		
	if(valor2%2==1){
	if((nota5<=1) && (valor <= 13)){
		while(valor>=5){
        valor=valor-5;
        nota5=nota5+1;
        if(nota5>=1){
        	while(valor>=2){
        valor=valor-2;
        nota2=nota2+1;
    }
			break;
		}
        }
        
    }
   	while(valor>=10){
        valor=valor-10;
        n10=n10+1;
    }
    while(valor>=5){
        valor=valor-5;
        nota5=nota5+1;
    }
	}
    
    
    printf("SAQUE:\n");
    printf("%d nota(s) de R$ 100.00\n",n100);
    printf("%d nota(s) de R$ 50.00\n",n50);
    printf("%d nota(s) de R$ 20.00\n",n20);
    printf("%d nota(s) de R$ 10.00\n",n10);
    printf("%d nota(s) de R$ 5.00\n",nota5);
    printf("%d nota(s) de R$ 2.00\n",nota2);    
    
    return 0;
}

Posso sacar até 1.500 reais, no caso tenho que tratar nota por nota?? Agora está funcionando até a nota de 100, tenho que fazer vários ifs? Acho que deve ter uma logica mais simples

 

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...