qwerty78987
Membro Júnior-
Posts
9 -
Cadastrado em
-
Última visita
Reputação
5-
Java Função aumenta valor mais do que deveria ao invés do valor certo
qwerty78987 postou um tópico em Java/Android SDK
Olá, estou fazendo um exercício de Java onde tenho que fazer uma conta bancária. Fiz um método para depositar, porém ao invés de aumentar o valor do saldo corretamente, ele aumenta muito. Na classe main está assim(coloquei só as partes relevantes, para resumir): obj_cc.defineNumConta(123); obj_cc.defineSaldo(1000); obj_cc.defineLimiteAtual(1500); case 2:{ System.out.println("Digite o valor a ser depositado."); double valor = entrada.nextDouble(); obj_cc.depositar(valor); break; } Conta_Corrente.java (Somente partes relevantes): private double limiteAtual; private double limiteInicial = 500; void depositar(double valor) { if(limiteInicial != limiteAtual) { double dif = limiteInicial-limiteAtual; if(valor>=dif) { double difDivida = limiteAtual - valor; limiteAtual = limiteAtual + valor; saldo = saldo + difDivida; System.out.println("Você depositou: R$ " + valor); System.out.println("Saldo: R$ " + saldo); System.out.println("Você não tem mais dívidas!"); } }else { saldo = saldo + valor; System.out.println("Você depositou: R$ " + valor); System.out.println("Saldo: R$ " + saldo); } } Os limites são relativos a cheque especial, se houver dívida ela deve ser paga antes do depósito aumentar o saldo. O Console está assim: Conta Criada Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 3 O saldo é: 1000.0 Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 2 Digite o valor a ser depositado. 1 Você depositou: R$ 1.0 Saldo: R$ 2499.0 Você não tem mais dívidas! Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 2 Digite o valor a ser depositado. 1 Você depositou: R$ 1.0 Saldo: R$ 3999.0 Você não tem mais dívidas! Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 2 Digite o valor a ser depositado. 1 Você depositou: R$ 1.0 Saldo: R$ 5500.0 Você não tem mais dívidas! Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 3 O saldo é: 5500.0 Escolha uma opção 1 - Sacar 2 - Depositar 3 - Extrato da Conta 4 - Criar Conta 5 - Sair 5 Saindo... Não encontrei o que há de errado, alguém pode me ajudar? -
Java Erro de lógica ou na linguagem em si? Exercício de conta bancária em Java
qwerty78987 respondeu ao tópico de qwerty78987 em Java/Android SDK
@Gaq Obrigado! -
Java Erro de lógica ou na linguagem em si? Exercício de conta bancária em Java
qwerty78987 postou um tópico em Java/Android SDK
Olá, estou fazendo um exercício de Java onde tenho que fazer uma conta bancária. Fiz um método para sacar, porém não está funcionando. A classe main está assim(coloquei só as partes relevantes, para resumir): Conta_Corrente obj_cc = new Conta_Corrente(); obj_cc.defineNumConta(123); obj_cc.defineSaldo(1000); obj_cc.defineLimiteAtual(1500); case 1:{//Saque System.out.println("Digite o valor a ser sacado."); double valor = entrada.nextDouble(); boolean saque = obj_cc.sacar(valor); if(saque = true) { System.out.println("Você sacou R$ " + valor); //System.out.println("Seu saldo é R$ " + saldo); }else { System.out.println("Não foi possível efetuar seu saque"); } break; } Na classe Conta_Corrente.java está assim(só as partes relevantes, para resumir): private int NumConta; private double saldo; private double limiteAtual; private double limiteInicial = 500; boolean sacar(double valor) { if(valor<(saldo+limiteAtual)) { if(valor>=saldo) { limiteAtual = limiteAtual - (valor - saldo); saldo=0; } else { saldo = saldo - valor; } return true; } else { return false; } } Os limites são relativos ao cheque especial(empréstimo). Defini o limite inicial como 500, e o limite atual receberá ele próprio menos o valor do saque menos o saldo da conta, caso o valor do saque seja maior do que o saldo. Se não for maior do que o saldo, saldo recebe saldo - valor. Após isso ele deve retornar verdadeiro. Se o valor do saque for maior do que o saldo e o limite do cheque especial, deve retornar falso. Porém, não importa o valor que eu digite, ele sempre retorna true(Aparecendo Você sacou R$ X no console), independentemente do valor de saque colocado, se é acima ou abaixo do limite atual mais saldo. Não entendo o que há de errado, se alguém puder me ajudar agradeço. -
Minha GTX 760 parou de funcionar junto da GA-78LMT-USB3
qwerty78987 respondeu ao tópico de qwerty78987 em Placas de vídeo
@FoxBlack Pois é me expressei mal Eu esqueci de mencionar no post mas o PC funciona normalmente quando está sem a placa de vídeo, (ou seja, funcionando a partir da placa onboard) porém em uma resolução de tela mais baixa. Tive que trocar de fonte há algumas semanas mas não creio que seja isso, como eu falei o PC está funcionando sem a placa de vídeo(e funcionava também com a placa, até ontem), acho que a fonte está boa. Vou dar uma olhada, muito obrigado pela ajuda -
Minha GTX 760 parou de funcionar junto da GA-78LMT-USB3
qwerty78987 postou um tópico em Placas de vídeo
Olá, recentemente desliguei o meu computador e ao ligá-lo novamente, ele não saia da tela de boot inicial(verifying dmi pool data update ...) removi minha placa de vídeo(GTX 760) e a testei em outro computador, e ela continua funcionando normalmente. Já verifiquei os drivers e aparentemente o problema não são eles. Minha placa-mãe é a Gigabyte GA-78LMT-USB3 . Alguém já teve o mesmo problema? Como resolver? -
VisualG "Esperava um argumento do tipo lógico" função escolha no VisualG
qwerty78987 respondeu ao tópico de qwerty78987 em Programação - iniciantes
Oi Devair, muito obrigado pela ajuda! -
VisualG "Esperava um argumento do tipo lógico" função escolha no VisualG
qwerty78987 postou um tópico em Programação - iniciantes
Olá pessoal, eu gostaria de entender o porque de acontecer o seguinte erro ao utilizar a função escolha no VisualG, por acaso não se pode utilizar o ESCOLHA assim? algoritmo "natacao" //2) Faça um procedimento que recebe a idade de um nadador por parâmetro e //retorna, também por parâmetro, a categoria desse nadador de acordo com a //tabela abaixo: // Idade Categoria // 5 a 7 anos Infantil A // 8 a 10 anos Infantil B // 11-13 anos Juvenil A // 14-17 anos Juvenil B // Maiores de 18 anos Adulto funcao catfuncao(idade:inteiro; categoria:caracter):caracter var cat:caracter inicio escolha idade caso idade>=5 e idade<=7 cat<-"Infantil A" caso idade>=8 e idade<=10 cat<-"Infantil B" caso idade>=11 e idade<=13 cat<-"Juvenil A" caso idade>=14 e idade<=17 cat<-"Juvenil B" caso idade>=18 cat<-"Adulto" fimescolha retorne cat fimfuncao var idade:inteiro categoria:caracter inicio escreval("Digite a idade do nadador: ") leia(idade) categoria <- catfuncao(idade,categoria) escreval("A categoria é ",categoria) fimalgoritmo -
VisualG Função no VisualG retornando opção não escolhida
qwerty78987 respondeu ao tópico de qwerty78987 em Programação - iniciantes
Muito Obrigado pela resposta Simon Viegas, muito bem explicado -
VisualG Função no VisualG retornando opção não escolhida
qwerty78987 postou um tópico em Programação - iniciantes
Olá a todos, estou testando uma função de calculadora no VisualG, e está me retornando o outrocaso, mesmo que digite os números das opções corretas(1,2,3 ou 4). O código está assim: algoritmo "semnome" funcao calc(): inteiro var n1,n2:real res:inteiro opcao:caracter inicio escolha opcao caso "1" res <- n1 + n2 caso "2" res <- n1 / n2 caso "3" res <- n1 * n2 caso "4" res <- n1 - n2 outrocaso escreval("Opção inválida") fimescolha retorne res fimfuncao var n1,n2:real opcao:caracter resultado:inteiro inicio escreval("Digite um número") leia(n1) escreval("Digite outro número") leia(n2) escreval("Escolha uma opção: ") escreval("1 - somar") escreval("2 - dividir") escreval("3 - multiplicar") escreval("4 - subtrair") leia(opcao) resultado <- calc() escreval(resultado) fimalgoritmo Obrigado pela atenção, gostaria de saber o que há de errado.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais