Organizar Notas (troco).
Publicado por Diogo Correa 15/03/2007
[ Hits: 7.490 ]
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
Estrutura condicional ternária
Parte 4 - Sessão de estudo sobre VETORES
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta