Olá! Sou novo em JavaScript e em programação no geral. Fiz uma calculadora com a linguagem e gostaria que vocês dessem uma olhada, e, se encontrarem erros ou coisas a melhorar, me avisem!
o código vem junto com o código HTML, assim você pode colar num texto e salvar em HTML e visualizar no seu browser!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="PT-BR"><meta http-equiv="Content-Language" content="PT-BR">
<meta name="description" content="Ótima e dinâmica calculadora on-line">
<meta name="keywords" content="calculadora calucadora calculator recalculator recalculadora soma subtracao divisao multiplicacao raiz quadrado potencia subtrair dividir multiplicar sum plus divide times count conta calculo calc online">
<meta name="URL" content="http://www.recalculator.webs.com">
<title>Calculadora do Lucas</title>
<style type="text/css">
<!--
body {
background-color: #000000;
background-image: url(images/backpattern.jpg);
background-repeat: repeat;
margin-left: 0px;
margin-top: 0px;
}
.button {
background-image: url(images/normal.jpg);
height: 53px;
width: 80px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
color: #FFFFFF;
line-height: 50px;
text-align: center;
cursor: default;
}
.button:hover { background-image: url(images/rollover.jpg); }
.button:active { background-image: url(images/clicked.jpg); }
.plusbutton {
background-image: url(images/+normal.jpg);
height: 109px;
width: 80px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
color: #FFFFFF;
line-height: 108px;
text-align: center;
cursor: default;
}
.plusbutton:hover { background-image: url(images/+rollover.jpg); }
.plusbutton:active { background-image: url(images/+clicked.jpg); }
.equalsbutton {
background-image: url(images/eqnormal.jpg);
height: 53px;
width: 162px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 24px;
color: #FFFFFF;
line-height: 50px;
text-align: center;
cursor: default;
}
.equalsbutton:hover { background-image: url(images/eqrollover.jpg); }
.equalsbutton:active { background-image: url(images/eqclicked.jpg); }
.bfbutton {
background-image: url(images/bfnormal.jpg);
height: 53px;
width: 40px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 18px;
color: #FFFFFF;
line-height: 50px;
text-align: center;
float: left;
cursor: default;
}
.bfbutton:hover { background-image: url(images/bfrollover.jpg); }
.bfbutton:active { background-image: url(images/bfclicked.jpg); }
#rightside {
width: 330px;
padding: 10px;
height: 386px;
background-image: url(images/backcalc.png);
float: left;
}
.semborda {border-collapse:collapse}
.semborda tr td {border:0px;}
#formin {
border-width: 0;
background-color: #000000;
width: 240px;
height: 50px;
float: right;
clip: rect(auto,auto,auto,auto);
font-family: "Comic Sans MS", "BankGothic Lt BT";
font-size: 26px;
color: #F3F3F3;
text-align: right;
letter-spacing: 5px;
padding-top: 0px;
}
#posformin {
height: 53px;
}
#container {
margin-right: auto;
margin-left: auto;
width: 920px;
}
#resultsdiv {
width: 230px;
height: 346px;
margin-top: 20px;
background-image: url(images/backresults.png);
padding-top: 10px;
padding-right: 12px;
padding-bottom: 10px;
padding-left: 8px;
}
#bottom {
clear: both;
width: 600px;
}
#leftside {
height: 406px;
width: 250px;
float: left;
}
#marcacao {
border-width: 0;
background-color: #000000;
float:left;
width: 47px;
height: 340px;
color: #EAEAEA;
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
text-align: center;
overflow: hidden;
}
#resultados {
border-width: 0;
background-color: #000000;
float:right;
width: 160px;
height: 340px;
color: #EAEAEA;
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
text-align: center;
scrollbar-face-color: gray;/*face*/
scrollbar-arrow-color:white;/*a seta*/
scrollbar-track-color:black;/*no meio*/
scrollbar-3dlight-color: black;/*como highlight(mas sempre boto outra*/
scrollbar-highlight-color:black;/*como 3dligh*/
scrollbar-shadow-color:black;/*sombra*/
scrollbar-darkshadow-color:black;/*sombra escura*/
}
.style2 {
color: #666666;
font-family: Geneva, Arial, Helvetica, sans-serif;
}
.style3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #666666;
font-size: 16px;
}
#ad_down {
width: 730px;
margin-top: 20px;
margin-right: auto;
margin-left: auto;
}
#adsearch {
margin-bottom: 20px;
}
#ad_left {
float: left;
height: 600px;
width: 120px;
}
#ad_right {
float: left;
height: 600px;
width: 120px;
margin-left: 40px;
}
#calculadora {
float: left;
margin-left: 40px;
}
-->
</style>
<script type="text/javascript">
//Inicia o código JavaScript
//Declarando variáveis globais:
calculofinal = undefined
x = undefined
y = undefined
segundo = 0
minuto = 0
go = 0
num = 0
tempoatual = "00:00"
//fim das variáveis globais.
//Declarando GRAVADOR
gravador = new Array()
pos = 0
posfinal = 0
gravador[pos] = new dados (calculofinal, x, y, segundo, minuto, go, num, tempoatual, "", "", "", "")
function dados(tcalculofinal,tx,ty,tsegundo,tminuto,tgo,tnum,ttempoatual,tequals,tformin,tresultados, tmarcacao) {
this.tcalculofinal = tcalculofinal;
this.tx = tx;
this.ty = ty;
this.tsegundo = tsegundo;
this.tminuto = tminuto;
this.tgo = tgo;
this.tnum = tnum;
this.ttempoatual = ttempoatual;
this.tequals = tequals;
this.tformin = tformin;
this.tresultados = tresultados;
this.tmarcacao = tmarcacao;
}
function set() {
pos = pos+1
posfinal = pos
gravador[pos] = new dados(calculofinal,x,y,segundo,minuto,go,num,tempoatual,document.getElementById("equals").onclick,document.getElementById("formin").value,document.getElementById("resultados").value,document.getElementById("marcacao").value)
}
function back() {
if (pos > 0){
pos = pos-1
calculofinal = gravador[pos].tcalculofinal
x = gravador[pos].tx
y = gravador[pos].ty
segundo = gravador[pos].tsegundo
minuto = gravador[pos].tminuto
go = gravador[pos].tgo
num = gravador[pos].tnum
tempoatual = gravador[pos].ttempoatual
if (pos == 0) {document.getElementById("equals").onclick = undefined}
if (pos !== 0){document.getElementById("equals").onclick = gravador[pos].tequals}
document.getElementById("formin").value = gravador[pos].tformin
document.getElementById("resultados").value = gravador[pos].tresultados
document.getElementById("marcacao").value = gravador[pos].tmarcacao
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Focar no painél
document.getElementById("formin").focus()
}
}
function forward() {
if (pos < posfinal){
pos = pos+1
calculofinal = gravador[pos].tcalculofinal
x = gravador[pos].tx
y = gravador[pos].ty
segundo = gravador[pos].tsegundo
minuto = gravador[pos].tminuto
go = gravador[pos].tgo
num = gravador[pos].tnum
tempoatual = gravador[pos].ttempoatual
document.getElementById("equals").onclick = gravador[pos].tequals
document.getElementById("formin").value = gravador[pos].tformin
document.getElementById("resultados").value = gravador[pos].tresultados
document.getElementById("marcacao").value = gravador[pos].tmarcacao
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Focar no painél
document.getElementById("formin").focus()
}
}
//Fim de GRAVADOR
//MARCACAOPOS function. Ajusta a posição do marcador com relação ao "resultados".
function marcacaopos () {
document.getElementById("marcacao").scrollTop = document.getElementById("resultados").scrollTop
}
//KEYPRESSED function. Retorna ou não a letra digitada no formin.
function keypressed( obj , e ) {
var tecla = ( window.event ) ? e.keyCode : e.which;
var texto = document.getElementById("formin").value
var indexvir = texto.indexOf(",")
var indexpon = texto.indexOf(".")
if (tecla == 43) {
getplus()
return false;
}
if (tecla == 45) {
getdiff()
return false;
}
if (tecla == 42) {
gettimes()
return false;
}
if (tecla == 47) {
getdiv()
return false;
}
if (tecla == 37) {
getpcent()
return false;
}
else if ( tecla == 8 || tecla == 0)
return true;
else if ( tecla != 44 && tecla != 46 && tecla < 48 || tecla > 57 )
return false;
if (tecla == 44) { if (indexvir !== -1 || indexpon !== -1) {return false} }
if (tecla == 46) { if (indexvir !== -1 || indexpon !== -1) {return false} }
}
//TIME function. Cronometra o tempo desde a primeira aplicação. <---------------------------------------------
function time() {
if (go == 1) {
if (segundo < 59){
segundo++
}
else if (segundo == 59) {
segundo = 0
if (minuto < 59) {
minuto++
}
else if (minuto == 59) {
minuto = 0
}
}
if(segundo < 10 && minuto < 10) {
tempoatual = "0" + minuto + ":0" + segundo
}
else if(segundo > 9 && minuto < 10) {
tempoatual = "0" + minuto + ":" + segundo
}
else if(segundo < 10 && minuto > 9) {
tempoatual = minuto + ":0" + segundo
}
else if(segundo > 9 && minuto > 9) {
tempoatual = minuto + ":" + segundo
}
}
}
//STARTTIME function. Faz rodar ou parar a função TIME. <-----------------------------------------------------
function starttime (id) {
go = id
}
//FOCARPAINEL function. Foca o painél. <----------------------------------------------------------------------
function focarpainel() {
document.getElementById("formin").focus()
}
//CLEANPAINEL function. Limpa apenas o que estiver escrito no painél nesse exato momento. <-------------------
function cleanpainel() {
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
}
//CLEANALL function. Limpa todos os dados concebidos até agora. <---------------------------------------------
function cleanall() {
calculofinal = undefined
x = undefined
y = undefined
segundo = 0
minuto = 0
go = 0
num = 0
tempoatual = "00:00"
pos = 0
posfinal = 0
document.getElementById("resultados").value = ""
document.getElementById("formin").value = ""
document.getElementById("equals").onclick = undefined
//Limpar MARCACAO
document.getElementById("marcacao").value = ""
//Focar no painél
document.getElementById("formin").focus()
}
//INSERNUMBER function. Insere o número clicado no painél. <--------------------------------------------------
function insertnumber(n) {
var texto = document.getElementById("formin").value
if (texto.length < 10) {
var texto = texto + n
document.getElementById("formin").value = texto
}
//Focar no painél
document.getElementById("formin").focus()
}
//DECIMAR function. Adiciona a vírgula ao número no painél. <-------------------------------------------------
function decimar() {
var texto = document.getElementById("formin").value
if (texto == "") {
var texto = "0,"
}
else if (texto !== "") {
var posicao = texto.indexOf(",")
if (posicao == -1) {
var texto = texto + ","
}
}
document.getElementById("formin").value = texto
//Focar no painél
document.getElementById("formin").focus()
}
//NEGATIVAR function. Multiplica o número em formin por -1. <-------------------------------------------------
function negativar() {
var texto = document.getElementById("formin").value
var firstchar = texto.charAt(0)
if (firstchar !== "-") {
var texto = "-" + texto
}
else if (firstchar == "-") {
var texto = texto.substring(1,texto.length)
}
document.getElementById("formin").value = texto
//Focar no painél
document.getElementById("formin").focus()
}
//---------------------------------------------------------------------------------------------------- GETPLUS function. Pega o valor para somar ao próximo.
function getplus() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " +"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = plus
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " +"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = plus
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " +"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " +"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = plus
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "+"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "+"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "+"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "+"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = plus
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//PLUS function. Soma o valor "x" ao valor "y". <-------------------------------------------------------------
function plus() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = x
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = x + y
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = x + y
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = plusagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//PLUSAGAIN function. Permite repitir a operação PLUS. <------------------------------------------------------
function plusagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = x+y
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " + " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETDIFF function. Pega o valor para subtrair ao próximo.
function getdiff() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " -"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = diff
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " -"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = diff
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " -"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " -"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = diff
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "-"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "-"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "-"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "-"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = diff
}
}
}
//-------------------- Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//-------------------- Limpar painél.
document.getElementById("formin").value = ""
//-------------------- Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//DIFF function. Subtrai do valor "x" o valor "y". <----------------------------------------------------------
function diff() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = x
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = x - y
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = x - y
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = diffagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//DIFFAGAIN function. Permite repitir a operação DIFF. <------------------------------------------------------
function diffagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = x - y
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " - " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETTIMES function. Pega o valor para multiplicar ao próximo.
function gettimes() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " x"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = times
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " x"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = times
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " x"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " x"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = times
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "x"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "x"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "x"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "x"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = times
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//TIMES function. Multiplica o valor "x" ao valor "y". <------------------------------------------------------
function times() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = x
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = x * y
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = x * y
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = timesagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//TIMESAGAIN function. Permite repitir a operação TIMES. <----------------------------------------------------
function timesagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = x * y
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " x " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETDIV function. Pega o valor para dividir ao próximo.
function getdiv() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " /"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = div
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " /"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = div
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " /"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " /"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = div
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "/"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "/"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "/"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "/"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = div
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//DIV function. Divide o valor "x" pelo valor "y". <----------------------------------------------------------
function div() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = x
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = x / y
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = x / y
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = divagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//DIVAGAIN function. Permite repitir a operação DIV. <--------------------------------------------------------
function divagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = x / y
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " / " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETPOW function. Pega o valor elevar ao próximo.
function getpow() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " elevado a"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pow
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " elevado a"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pow
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " elevado a"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " elevado a"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pow
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "elevado a"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "elevado a"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "elevado a"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "elevado a"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pow
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//POW function. Eleva o valor "x" ao valor "y". <-------------------------------------------------------------
function pow() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = 2
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = Math.pow(x, y)
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = Math.pow(x, y)
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = powagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//POWAGAIN function. Permite repitir a operação POW. <--------------------------------------------------------
function powagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = Math.pow(x, y)
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " elevado a " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETROOT function. Achar, do primeiro valor, a raiz 'segundo valor'.
function getroot() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " raíz"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = root
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " raíz"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = root
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " raíz"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " raíz"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = root
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "raíz"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "raíz"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "raíz"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "raíz"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = root
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//ROOT function. Pega, do valor "x", a raíz "y". <------------------------------------------------------------
function root() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
if (y == undefined) {
y = 2
}
}
if (texto !== "-") {
if (calculofinal == undefined) {
var calculo = Math.pow(x, 1/y)
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = Math.pow(x, 1/y)
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = rootagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//ROOTAGAIN function. Permite repitir a operação ROOT. <------------------------------------------------------
function rootagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = Math.pow(x, 1/y)
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " raíz " + y + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
//---------------------------------------------------------------------------------------------------- GETPCENT function. Pega 'segundo valor'% do primeiro valor.
function getpcent() {
go = 1
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
//Verificando se operação passada está finalizada
var sizeresult = result.length
var sizecalc = calculofinal+""
var sizecalc = sizecalc.length
var calctext = result.substring(sizeresult-sizecalc, sizeresult)
var calctext = parseFloat(calctext)
if (calctext == calculofinal) {
if (texto !== "") {
document.getElementById("equals").onclick = undefined
}
}
if (document.getElementById("equals").onclick == undefined) {
if (texto == "-") {
alert("Valor invalido!")
}
else if (texto == "0,") {
x = 0
texto = 0
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
alert ("O valor não foi colocado")
}
if (texto !== "-" && texto !== ""){
if (calctext == calculofinal) {
var result = result + "\n\n"
calculofinal = undefined
}
var result = result + texto + " pegue"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pcent
//Adicionar ao MARCACAO
if (num == 0) {
num = num+1
document.getElementById("marcacao").value = num + "\n"
}
else if (num !== 0) {
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n"
}
}
}
else if (document.getElementById("equals").onclick !== undefined) {
var sizeresult = result.length
var letra = result.charAt(sizeresult-1)
if (letra !== "-" && letra !== "+" && letra !== "/" && letra !== "x" && letra !== "a" && letra !== "z" && letra !== "e") {
if (texto == "-") {
alert("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
x = parseFloat(numero)
}
else if (texto == "") {
x = calculofinal
}
if (texto !== "-") {
var result = result + "\n\n" + x + " pegue"
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pcent
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value+"\n\n" + num + "\n"
}
}
else if (letra == "-" || letra == "+" || letra == "/" || letra == "x" || letra == "a" || letra == "z" || letra == "e") {
if (texto == "-") {
alert ("Valor invalido!")
}
else if (texto !== "") {
if (calculofinal !== undefined) {
x = calculofinal
}
var numero = texto.replace(",",".")
y = parseFloat(numero)
if (letra == "+") {calculofinal = x + y}
else if (letra == "-") {calculofinal = x - y}
else if (letra == "/") {calculofinal = x / y}
else if (letra == "x") {calculofinal = x * y}
else if (letra == "a") {calculofinal = Math.pow(x, y)}
else if (letra == "z") {calculofinal = Math.pow(x, 1/y)}
else if (letra == "e") {calculofinal = x*(y/100)}
if (letra == "e") {
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " pegue"
}
else {
var result = result + " " + y + "\n" + "=" + "\n" + calculofinal + "\n\n" + calculofinal + " pegue"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pcent
//Adicionar ao MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n\n\n" + num + "\n"
}
else if (texto == "") {
if (letra == "-" || letra == "+" || letra == "/" || letra == "x"){
var result = result.substring(0, sizeresult-1) + "pegue"
}
else if (letra == "a"){
var result = result.substring(0, sizeresult-9) + "pegue"
}
else if (letra == "z"){
var result = result.substring(0, sizeresult-4) + "pegue"
}
else if (letra == "e"){
var result = result.substring(0, sizeresult-5) + "pegue"
}
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pcent
}
}
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//set BACK
set()
}
//PCENT function. Pega, do valor "x", "y"%. <-----------------------------------------------------------------
function pcent() {
var texto = document.getElementById("formin").value
var result = document.getElementById("resultados").value
if (texto == "-"){
alert ("Valor invalido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
else if (texto == "") {
alert ("Você não definiu a porcentágem desejada!")
}
if (texto !== "-" && texto !== "") {
if (calculofinal == undefined) {
var calculo = x * y / 100
calculofinal = calculo
}
else if (calculofinal !== undefined) {
x = calculofinal
var calculo = x * y / 100
calculofinal = calculo
}
var result = document.getElementById("resultados").value
var result = result + " " + y + "%" + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
document.getElementById("equals").onclick = pcentagain
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
document.getElementById("marcacao").value = document.getElementById("marcacao").value + tempoatual + "\n"
//set BACK
set()
}
//PCENTAGAIN function. Permite repitir a operação PCENT. <----------------------------------------------------
function pcentagain(){
x = calculofinal
var calculoanterior = calculofinal
var texto = document.getElementById("formin").value
if (texto == "-"){
alert ("Valor inválido")
}
else if (texto !== "") {
var numero = texto.replace(",",".")
y = parseFloat(numero)
}
if (texto !== "-") {
var calculo = x * y / 100
calculofinal = calculo
var result = document.getElementById("resultados").value
var result = result + "\n\n" + calculoanterior + " + " + y + "%" + "\n" + "=" + "\n" + calculo
document.getElementById("resultados").value = result
}
//Ajustar scroll do RESULTADOS.
document.getElementById("resultados").scrollTop = document.getElementById("resultados").value.split('\n').length*30
//Limpar painél.
document.getElementById("formin").value = ""
//Focar no painél
document.getElementById("formin").focus()
//Ajustar MARCACAO
num = num+1
document.getElementById("marcacao").value = document.getElementById("marcacao").value + "\n\n" + num + "\n" + tempoatual + "\n"
//set BACK
set()
}
</script>
<script type="text/javascript">
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body onload="setInterval('time()',1000); setInterval('marcacaopos()', 10); MM_preloadImages('images/rollover.jpg','images/clicked.jpg','images/+rollover.jpg','images/+clicked.jpg','images/eqrollover.jpg','images/eqclicked.jpg','images/bfrollover.jpg','images/bfclicked.jpg')">
<div id="container">
<div id="ad_left">
<script type="text/javascript"><!--
google_ad_client = "pub-2175826998548900";
/* calculadora, esquerda */
google_ad_slot = "8250859561";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div id="calculadora">
<h1 align="center"><span class="style2">ReCalculator</span> </h1>
<div id="leftside">
<div id="resultsdiv">
<textarea name="marcacao" id="marcacao" readonly="readonly"></textarea>
<textarea name="resultados" id="resultados" readonly="readonly"></textarea>
</div>
</div>
<!-- ends LEFTSIDE -->
<div id="rightside">
<table id="table" border="0" class="semborda">
<tr>
<td>
<div class="bfbutton" id="back" onclick="back()" title="Retorna Operação / Step Back"><<</div>
<div class="bfbutton" id="forward" onclick="forward()" title="Avança Operação / Step Forward">>></div> </td>
<td colspan="3" align="center">
<div id="posformin"><input type="text" name="formin" id="formin" maxlength="10" onkeypress="return keypressed( this , event );"/></div></td>
</tr>
<tr>
<td>
<div class="button" id="cleanall" onclick="cleanall()" title="Limpa todos os Dados / Clean all data">CA</div> </td>
<td>
<div class="button" id="cleanpainal" onclick="cleanpainel()" title="Limpa o painél de Digitos / Clean the Digits">C</div> </td>
<td colspan="2">
<div class="equalsbutton" id="equals" onfocus="focarpainel()" title="Processa o Resultado / Get the Result">=</div> </td>
</tr>
<tr>
<td align="center">
<div class="button" id="number7" onclick="insertnumber(7)" title="Insira o número 7 / Insert number 7">7</div> </td>
<td align="center">
<div class="button" id="number8" onclick="insertnumber(8)" title="Insira o número 8 / Insert number 8">8</div> </td>
<td align="center">
<div class="button" id="number9" onclick="insertnumber(9)" title="Insira o número 9 / Insert number 9">9</div> </td>
<td align="center">
<div class="button" id="difop" onclick="getdiff()" title="Subtração / Difference">-</div> </td>
</tr>
<tr>
<td align="center">
<div class="button" id="number4" onclick="insertnumber(4)" title="Insira o número 4 / Insert number 4">4</div> </td>
<td align="center">
<div class="button" id="number5" onclick="insertnumber(5)" title="Insira o número 5 / Insert number 5">5</div> </td>
<td align="center">
<div class="button" id="number6" onclick="insertnumber(6)" title="Insira o número 6 / Insert number 6">6</div> </td>
<td rowspan="2" align="center">
<div class="plusbutton" id="pluop" onclick="getplus()" title="Adição / Plus">+</div> </td>
</tr>
<tr>
<td align="center">
<div class="button" id="number1" onclick="insertnumber(1)" title="Insira o número 1 / Insert number 1">1</div> </td>
<td align="center">
<div class="button" id="number2" onclick="insertnumber(2)" title="Insira o número 2 / Insert number 2">2</div> </td>
<td align="center">
<div class="button" id="number3" onclick="insertnumber(3)" title="Insira o número 3 / Insert number 3">3</div> </td>
</tr>
<tr>
<td align="center">
<div class="button" id="negativop" onclick="negativar()" title="Negativo / Negative">±</div> </td>
<td align="center">
<div class="button" id="number0" onclick="insertnumber(0)" title="Insira o número 0 / Insert number 0">0</div> </td>
<td align="center">
<div class="button" id="decimal" onclick="decimar()" title="Decimal">,</div> </td>
<td align="center">
<div class="button" id="timop" onclick="gettimes()" title="Multiplicação / Times">x</div> </td>
</tr>
<tr>
<td align="center">
<div class="button" id="quadrado" onclick="getpow()" title="Potenciação / Power">n²</div> </td>
<td align="center">
<div class="button" id="raiz" onclick="getroot()" title="Raiz / Root">√</div> </td>
<td align="center">
<div class="button" id="percent" onclick="getpcent()" title="Porcentagem / Percent">%</div> </td>
<td align="center">
<div class="button" id="divop" onclick="getdiv()" title="Divisão / Division">÷</div> </td>
</tr>
</table>
</div>
<!-- ends RIGHTSIDE -->
<div class="style3" id="bottom">
<div align="right">made by Lucas</div>
</div>
<!-- ends BOTTOM -->
</div><!-- ends CALCULADORA -->
<div id="ad_right">
<script type="text/javascript"><!--
google_ad_client = "pub-2175826998548900";
/* calculadora, esquerda */
google_ad_slot = "8250859561";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
</div>
<!-- ends CONTAINER -->
<div id="ad_down">
<script type="text/javascript"><!--
google_ad_client = "pub-2175826998548900";
/* A baixo da calculadora */
google_ad_slot = "3485255974";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- --><script type="text/javascript" src="http://staticthumbs.freewebs.com/i.js"></script><script type="text/javascript">if(typeof(urchinTracker)=='function'){_uacct="UA-230305-2";_udn="none";_uff=false;urchinTracker();}</script> <script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script> <script type="text/javascript">_qacct="p-44naSaXtNJt26";quantserve();</script> </body>
</html>
Bom, agora posso dizer que não encontro mais tantos erros... mas ainda estou para resolver o problema de números com muitos digitos... esses atrapalham não as operações, mas o painél que mostra o tempo :/ outra hora posto aqui o resultado!
Pergunta
LucasConstantino
EDITEI TODO O CÓDIGO, É INTEIRAMENTE NOVO, MAS TRATA-SE DA MESMA IDÉIA
_______________________
A calculadora possui algumas poucas imagens, então, ta aqui a hospedada completa:
http://recalculator.webs.com/
_______________________
Olá! Sou novo em JavaScript e em programação no geral. Fiz uma calculadora com a linguagem e gostaria que vocês dessem uma olhada, e, se encontrarem erros ou coisas a melhorar, me avisem!
o código vem junto com o código HTML, assim você pode colar num texto e salvar em HTML e visualizar no seu browser!
Bom, agora posso dizer que não encontro mais tantos erros... mas ainda estou para resolver o problema de números com muitos digitos... esses atrapalham não as operações, mas o painél que mostra o tempo :/ outra hora posto aqui o resultado!
Valeu!
Editado por LucasConstantinoLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.