Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davi Ferreira

Algoritmo de saque bancário

Recommended Posts

Exercicio: Algoítimo caixa eletronico, saque, notas de 50, 20 e 5 reais disponiveis, cada uma disponivel 1000 notas.

 

Inicio

   LEIA (QUANTIDADE DE NOTAS 50, 20, 5);
	   SE NAO (NOTAS) ENTAO;
		  LEIA NOTAS INDESPONIVEIS;
		  ESCREVA ('SEM NOTAS DE	 ");
   ESCREVA ('' QUAL O VALOR DO SEU SAQUE?'');		  
   LEIA (VALOR DO SAQUE	   );

 

Depois que le o valor do saque qual algoritimo usar para fazer a soma, subtração do dinheiro?

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum entendi direito..

você qr q o cara digite o dinheiro e o sistema vai mostrar qnts notas de kd vai soltar?

soh isso?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O cara vai digitar quanto ele vai sacar, ai o sistema vai ter q liberar a quantidade certa das notas.

EX: 175 reais= 3 notas de 50 + 1 nota de 20 + 1 nota de 5.

Voltando no "LEIA (QUANTIDADE DE NOTAS 50, 20, 5)'' e dar o resultado do valor de cada nota.

é como um caixa eletrónico normal so que so tenha a o´pção de saque.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha vo te postar um algoritmo q ta em C, soh q é quase igual com outras notas, você c te da uma luz:

 

#include <stdio.h>

int main(){
	 	int iValor, iNota50, iNota10, iNota5, iNota1, iCont;
	 	iValor = iCont = 0;
		
		while(scanf("%d",&iValor), iValor>0) {
		iNota50 = iNota10 = iNota5 = iNota1 = 0;
			if (iValor >= 50) {
					   iNota50 = iValor / 50;
					   iValor = iValor - 50*iNota50;
					   }
			if (iValor >= 10)  {
					   iNota10 = iValor / 10;
					   iValor = iValor - 10*iNota10;
					   } 
			if (iValor >= 5 ) {
					   iNota5 = iValor / 5;
					   iValor = iValor - 5*iNota5;
					   }
			if (iValor >= 1 ) {
					   iNota1 = iValor / 1;
					   iValor = iValor - iNota1;
					   }
			printf("\nTeste %d\n%d %d %d %d\n", ++iCont, iNota50, iNota10, iNota5, iNota1);
		}
		return 0;
}

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O cara vai digitar quanto ele vai sacar, ai o sistema vai ter q liberar a quantidade certa das notas.

EX: 175 reais= 3 notas de 50 + 1 nota de 20 + 1 nota de 5.

Voltando no "LEIA (QUANTIDADE DE NOTAS 50, 20, 5)'' e dar o resultado do valor de cada nota.

é como um caixa eletrónico normal so que so tenha a o´pção de saque.

Ta ai a tua resposta...

o que você fez com o número 175 para descobrir que é igual a 50*3 + 1*20 + 1*5 ????

 

Quando tiver pensando em um algoritmo, pegue nos pequenos detalhes, fça as coisas passo a passo.

 

Um algoritmo bem por cima, seria:

sacar := input("Quanto deseja sacar?")

qtde50, qtde20, qtde10, qtde5 := 0

Enquanto sacar for diferente de 0 faça:
	se sacar > 50:
		qtde50 := sacar / 50
		sacar := sacar mod 50

	se sacar > 20:
		qtde20 := sacar / 20
		sacar := sacar mod 20

	se sacar > 10:
		qtde10 := sacar / 10
		sacar := sacar mod 10

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim

CASO CONTA=0
	   	 ESCREVA (“VOCÊ NÃO POSSUI DINHEIRO EM CAIXA”)
	ESCREVA (“QUAL O VALOR DO SEU SAQUE?”);		  
   	LEIA VALOR DO SAQUE (	  );
	  SE SAQUE>CONTA ENTÃO
		   ESCREVA (“SALDO INDISPONIVEL”);
	  QUANTIDADE50, QUANTIDADE 20, QUANTIDADE 5= 0
ENQUANTO VALOR FOR>0 FAÇA:
	
SE SAQUE >= 50
		QUANTIDADE50 = SAQUE / 50
		SAQUE = QUANTIDADE50
		  
SE SAQUE >= 20:
		QUANTIDADE20 = RESTANTE / 20
		SAQUE = QUANTIDADE20
		  
SE SAQUE >= 5:
		QUANTIDADE5 = RESTANTE / 5
		SAQUE = QUANTIDADE5

Compartilhar este post


Link para o post
Compartilhar em outros sites

o procedimento esta feito, você agora tem q fazer a leitura inicial e printar o resultado final depois ;D

 

[]s

 

---

Título Editado:

 

Duvida algoritmo http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Algoritmo de saque bancário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ontem mesmo tive de fazer um algorítmo igual para C#.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Console_Exercicios
{
	class Program
	{
		static void Main(string[] args)
		{
			Console.WindowWidth = 100;

			int ValorSaque = 0;

			int Nota100Count = 0;
			int Nota50Count = 0;
			int Nota20Count = 0;
			int Nota10Count = 0;
			int Nota5Count = 0;
			int Nota2Count = 0;
			int Nota1Count = 0;

			Console.Write("Digite o valor que deseja sacar: ");

			try
			{
				ValorSaque = Convert.ToInt32(Console.ReadLine());
			}
			catch
			{
				Console.WriteLine();
				Console.WriteLine("Não é possivel efetuar saque com centavos!");			   
			}

			Console.WriteLine();

			while (ValorSaque >= 100)
			{
				ValorSaque = ValorSaque - 100;
				Nota100Count++;
			}
			while (ValorSaque >= 50)
			{
				ValorSaque = ValorSaque - 50;
				Nota50Count++;
			}
			while (ValorSaque >= 20)
			{
				ValorSaque = ValorSaque - 20;
				Nota20Count++;				
			}
			while (ValorSaque >= 10)
			{
				ValorSaque = ValorSaque - 10;
				Nota10Count++;
			}
			while (ValorSaque >= 5)
			{
				ValorSaque = ValorSaque - 5;
				Nota5Count++;
			}
			while (ValorSaque >= 2)
			{
				ValorSaque = ValorSaque - 2;
				Nota2Count++;
			}
			while (ValorSaque == 1)
			{
				ValorSaque = ValorSaque - 1;
				Nota1Count++;
			}

			Console.WriteLine("Notas de R$100 sacadas: " + Nota100Count + ".");
			Console.WriteLine("Notas de R$50 sacadas: " + Nota50Count + ".");
			Console.WriteLine("Notas de R$20 sacadas: " + Nota20Count + ".");
			Console.WriteLine("Notas de R$10 sacadas: " + Nota10Count + ".");
			Console.WriteLine("Notas de R$5 sacadas: " + Nota5Count + ".");
			Console.WriteLine("Notas de R$2 sacadas: " + Nota2Count + ".");
			Console.WriteLine("Notas de R$1 sacadas: " + Nota1Count + ".");

			Console.ReadKey();
		}
	}
}

[]'s

 

Tedesco

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.