Caixa Eletronico (Trabalho da Facul)

Lavieri neste tópico estamos discutindo a logica que seria aplicado no problema em questão, conforme o autor do tópico disse. Pelo que entendi ele está começando e sim interessante ele aprender O.O, mas primeiro vem a lógica. A intenção desse tópico nao é discutir boas praticas de programação…

Teste aquui tá rolando … conversa tipica de programador kkkkkkkkkk … será que tem algum bug que deixei passar … vou ver aqui e já falo…

abs

funciona da mesma forma que o meu, mas nescessita da implementação de mais um array, desvantagens em tempo de execução: você utiizou um método de orientação a objeto, isso almenta o tempo de execução, pois exige que seja buscado um endereço de memória para o início da ação, no caso a diferença não é notável pois esse requerimento é para uma interface de pequeno porte.
O uso da POO facilita a vizualização e manutenção do código, mas diminui a eficiência do software principalmente quando o mesmo tem objetivo de realizar operações matemáticas.

O professor não deu escolha para o tamanho mínimo então temos de implementar um codigo que atenda as nescesidades do mesmo, inferir no tamanho mínimo não interfere tenha como exemplo o número 123.00

mesmo maior que 10 não possui como imprimir as sedulas de forma redonda, no caso sua idéia deve seguir a configuração de alguns bancos como o Bradesco, o correto seria inserir uma máscara que infira todos os valores com terminação 0.00, oque tambem limita e bastante a ação do usuário, preferi esconher pelo método de sugestão.

Boa Programação! Você seguiu seriamente as convenções de código mas tente reduzir fórmulas exemplo:
em seu método verificaMod o return poderia ser resumido em:

         return (((valor == 1 || valor == 3) && (resultado/2 < base))? true:false);

realmente, otimizacao vai para outro tópico :wink:
rsrsrs

Galera daqui pouco esses codigos vao parar no topico de codigos toscos do guj
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

[quote=DavidUser]funciona da mesma forma que o meu, mas nescessita da implementação de mais um array, desvantagens em tempo de execução: você utiizou um método de orientação a objeto, isso almenta o tempo de execução, pois exige que seja buscado um endereço de memória para o início da ação, no caso a diferença não é notável pois esse requerimento é para uma interface de pequeno porte.
O uso da POO facilita a vizualização e manutenção do código, mas diminui a eficiência do software principalmente quando o mesmo tem objetivo de realizar operações matemáticas.[/quote]

o.O … qual o objetivo quando se programa em cima de um linguagem OO ?

[quote=Josueh]…realmente, otimizar é bom… principalmente quando reduz linhas de código :wink:
hei!
retorna true se a expressao for true???
retorna false se a expressao for false???
??!???!
esse return poderia ser:

return ((valor == 1 || valor == 3) && (resultado/2 < base));

obs.: apenas uma dica :wink: [/quote]

auahuahuahu retorno lendario esse de … return (isTrue()) ? true : false; lol!

huahua ai ai… esse código foi de raxar…

kkkkkkkkkkkkkk … pior o q mais tem nesse topico sao esses retornos

http://www.guj.com.br/posts/list/600/30384.java#669953

Galera, vlw pela ajuda, consegui fazer o codigo

segue abaixo.

[code] public String sacar(Integer valor) {
String resposta = “”;
int calcular[] = new int[6];
int simulacao[][] = new int[6][1];
int contaNotas = 0, contaValorTotal = 0;
int contador;

    resposta = "Impressão de Tipos e Quantidades\nde Cedulas Recebidas.\n";

     if (valor != 1 && valor != 3 && valor > 0) {
       
        for (contador = 0; contador < 6; contador++) {
            simulacao[contador][0] = valorInicial[contador][1];
            contaValorTotal += valorInicial[contador][0] * valorInicial[contador][1];
        }

      
        if (contaValorTotal > cotaMinima) {
      
            while (simulacao[0][0] != 0 && valor - 100 >= 0 && valor - 100 != 1 && valor - 100 != 3) {
                valor -= 100;
                calcular[0]++;
                simulacao[0][0]--;
            }

            while (simulacao[1][0] != 0 && valor - 50 >= 0 && valor - 50 != 1 && valor - 50 != 3) {
                valor -= 50;
                calcular[1]++;
                simulacao[1][0]--;
            }

            while (simulacao[2][0] != 0 && valor - 20 >= 0 && valor - 20 != 1 && valor - 20 != 3) {
                valor -= 20;
                calcular[2]++;
                simulacao[2][0]--;
            }

            while (simulacao[3][0] != 0 && valor - 10 >= 0 && valor - 10 != 1 && valor - 10 != 3) {
                valor -= 10;
                calcular[3]++;
                simulacao[3][0]--;
            }

            while (simulacao[4][0] != 0 && valor - 5 >= 0 && valor - 5 != 1 && valor - 5 != 3) {
                valor -= 5;
                calcular[4]++;
                simulacao[4][0]--;
            }

            while (simulacao[5][0] != 0 && valor - 2 >= 0 && valor - 2 != 1 && valor - 2 != 3) {
                valor -= 2;
                calcular[5]++;
                simulacao[5][0]--;
            }


            if (valor == 0) {

                for (contador = 0; contador < 6; contador++) {
                    contaNotas += calcular[contador];
                }


                if (contaNotas <= 30) {
                    for (contador = 0; contador < 6; contador++) {
                        valorInicial[contador][1] -= calcular[contador];


                        if (calcular[contador] != 0) {
                            resposta += "   " +
                                    String.valueOf(calcular[contador]) +
                                    "    Nota(s) de    " +
                                    String.valueOf(valorInicial[contador][0]) +
                                    "\n";
                        }
                    }


                } else {
                    resposta = "Excedido o Limite de Notas (30)!\n" +
                            " Efetue o Saque Novamente!";
                }


            } else {
                resposta = "Não Temos Nota Para Este Saque!";
            }

        } else {
            resposta = "Caixa Vazio: Chame o Operador!";
        }


    } else {
        resposta = "Valor Incorreto!\n" +
                "Não Será Possível Efetuar o Saque!";
    }


    return resposta;
}[/code]

use o a tag [code] circudando seu código, assim fica + legivel

[quote=Lavieri][quote=DavidUser]funciona da mesma forma que o meu, mas nescessita da implementação de mais um array, desvantagens em tempo de execução: você utiizou um método de orientação a objeto, isso almenta o tempo de execução, pois exige que seja buscado um endereço de memória para o início da ação, no caso a diferença não é notável pois esse requerimento é para uma interface de pequeno porte.
O uso da POO facilita a vizualização e manutenção do código, mas diminui a eficiência do software principalmente quando o mesmo tem objetivo de realizar operações matemáticas.[/quote]

o.O … qual o objetivo quando se programa em cima de um linguagem OO ?
[/quote]

O objetivo da implementação de um programa OO é facilitar a manutenção do mesmo, é utilizado em grandes projetos pois assim não seria nescessário a alteração em diversas classes, e sim apenas na classe desejada exemplo: se temos um banco de dados com funcionários de uma empresa, quando um destes for demitido, pode ser alterada a situação do mesmo por apenas um programador em uma única classe que é erdada por outras.

Grandes softwares nescessitão deste tipo de programação para ajudar em sua atualização e correção de bugs, como o exemplo não vai ser “atualizado”, e mesmo que fosse a linha de código é muito pequena. :-o

alguém pode enviar o programa para que eu possa estudar!
grato