Organizar Notas (troco).

Publicado por Diogo Correa 15/03/2007

[ Hits: 7.506 ]

Homepage: http://douttorx.blogspot.com

Download org_notas.cpp




Este script C++ é simples e usa divisão para estabelecer a menor quantidade  de notas de cada valor.

Por exemplo, 188 reais é organizado em: 1 nota de 100, 1 nota de 50, 1 nota de 20, 1 nota de 10, 1 nota de 5, 1 nota de 2 e 1 nota de 1 real. Para uma melhor organização, utilizei vetores para as variáveis.

  



Esconder código-fonte

//este programa le uma quantidade em reais e organiza
//o menor numero de notas possiveis de 100, 50, 20, 10, 5, 2 e 1
//e moedas de 50, 25, 10, 5 e 1

//biblioteca padrao de entrada e saida
#include<iostream>
//biblioteca padrao para uso dos comandos do terminal
#include<stdlib.h>
//usando namespace std para não precisar colocar resolucao de escopo
using namespace std;
//comeco do programa
int main()
{//inicio main
    //declaracao de variaveis
    int notas[7],aux,moedas[5],posnota=0,posmoeda=0,posnt=0,posmd=0,nt[7],md[5];
    float valor;
    //inicializacao das notas e moedas
    nt[0]=100;
    nt[1]=50;
    nt[2]=20;
    nt[3]=10;
    nt[4]=5;
    nt[5]=2;
    nt[6]=1;
    md[0]=50;
    md[1]=25;
    md[2]=10;
    md[3]=05;
    md[4]=01;
    //limpando a tela
    system("clear");
    //lendo um valor em reais
    cout<<endl<<"Digite ponto para separar real de centavos.";
    cout<<endl<<"\v\t Valor em reais R$ ";
    cin>>valor;
    
    //aux utilizada nas divisoes para encontrar numero de notas
    aux=int (valor);
        
    for(;posnota<=6;posnota++)
    {
    notas[posnota]=int(aux/nt[posnt]);
    aux=(aux % nt[posnt]);    
    posnt++;
    }
    
    //
    aux=int (valor);
    aux=int((valor-aux)*100);
    
    for(;posmoeda<=4;posmoeda++)
    {
    moedas[posmoeda]=int(aux/md[posmd]);
    aux=(aux % md[posmd]);
    posmd++;    
    }
    
    
    cout<<endl<<"\t\vR$ "<<valor<<" é dividido em:"<<endl<<endl;
    
    posnt=0;
    for(posnota=0;posnota<=6;posnota++) {
    if(notas[posnota]==0) cout<<"  Nenhuma nota de "<<nt[posnt]<<" real(ais)."<<endl;
    else cout<<"  "<<notas[posnota]<<" nota(s) de "<<nt[posnt]<<" real(ais)."<<endl;
    posnt++;
    }
    cout<<endl;
    
    posmd=0;
    for(posmoeda=0;posmoeda<=4;posmoeda++) {
    if(moedas[posmoeda]==0) cout<<"  Nenhuma moeda de "<<md[posmd]<<" centavo(s)."<<endl;
    else cout<<"  "<<moedas[posmoeda]<<" moeda(s) de 0."<<md[posmd]<<" centavo(s)."<<endl;
    posmd++;
    }
    cout<<endl;
    
}//fim main

Scripts recomendados

Como fazer raízes a partir de 2 e 3 no c.

Sistema Númerico

Mudar nome do processo

Inicio_vetor

Uptime para tempo humano


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts