Skip to content

Instantly share code, notes, and snippets.

@valdessondev
Created March 4, 2021 22:28
Show Gist options
  • Save valdessondev/c2d1f0ddc147e5d3c19ee90c495d0f44 to your computer and use it in GitHub Desktop.
Save valdessondev/c2d1f0ddc147e5d3c19ee90c495d0f44 to your computer and use it in GitHub Desktop.
Faça um programa para um saque eletrônico que quando o cliente informar o valor o sistema escreva esse valor por extenso e apresente a quantidade de notas que ele receberá no saque.
void main() {
// Entrada de dados
int saque = 99, n50 = 0, n100 = 0, n200 = 0, n10 = 0, n5 = 0, n2 = 0, n1 = 0, atual=0, qtd=0;
List<String> uni=["Zero", "Um", "Dois", "Tres", "Quatro", "Cinco", "Seis", "Sete", "Oito", "Nove"];
List<String> dez_vin=["", "Onze", "Doze", "Treze", "Quatorze", "Quinze", "Dezesseis", "Dezessete", "Dezoito", "Dezenove"];
List<String> dez=["", "Dez", "Vinte", "Trinta", "Quarenta", "Cinquenta", "Sessenta", "Setenta", "Oitenta", "Noventa"];
List<String> cen=["", "Cento", "Duzentos", "Trezentos", "Quatrocentos", "Quinhentos", "Seiscentos", "Setecentos", "Oitocentos", "Novecentos"];
List<String> o=[]; String extenso=' ';
// Processamento de dados
o=saque.toString().split('');
qtd=o.length;
for(int conta=qtd;conta<3;conta++){
o.insert(0, '0');
}
print(o);
qtd=o.length;
if(qtd<=3){
for(int i=0; i<qtd;i++){
atual=int.parse(o[i]);
if(i==2){
if(int.parse(o[i-1])!=0){
extenso=extenso+' e ';
}else{
}
extenso=extenso+uni[atual];
}else if(i==1){
if(atual<2){
if(int.parse(o[i-1])!=0){
extenso=' e '+extenso;
}else{
}
extenso=extenso+dez_vin[atual];
}else{
if(int.parse(o[i-1])!=0){
//extenso=' e '+extenso;
}else{
}
extenso=extenso+dez[atual];
}
} else {
extenso=cen[atual];
if(int.parse(o[i+1])!=0 && int.parse(o[i])!=0){
extenso=extenso+' e ';
}else{
}
}
}
print('Você deseja sacar $saque,00 reais ($extenso)\nPortanto irei lhe entregar :\n');
if (saque>=10 && saque<=1000){
while (saque>0) {
if (saque > 200) {
n200++;
saque -= 200;
} else if (saque > 100) {
n100++;
saque -= 100;
} else if (saque > 50) {
n50++;
saque -= 50;
} else if (saque > 10) {
n10++;
saque -= 10;
} else if (saque >= 5) {
n5++;
saque -= 5;
} else if (saque >= 2) {
n2++;
saque -= 2;
} else {
n1++;
saque -= 1;
}
}
print(
"$n200 nota(s)de 200 reais\n$n100 nota(s)de 100 reais\n$n50 nota(s) de 50 reais\n$n10 nota(s) de 10 reais\n$n5 nota(s) de 5 reais\n$n2 nota(s) de 2 reais\n$n1 nota(s) de 1 real\n");
}
else{
print ('Valor Inválido. Saques disponíveis entre 10 a 600 reais.');
}
} else {
print('não é possivel processar esse valor!');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment