Organizar Notas (troco).
Publicado por Diogo Correa 15/03/2007
[ Hits: 7.745 ]
Homepage: http://douttorx.blogspot.com
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.
//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
Parte 5 - Sessão de estudo sobre VETORES
CAIXA ELETRÔNICO em c++ para Linux
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (4)
Warcraft II Remastered no Linux? (3)









