Ir para conteúdo

POWERED BY:

Arquivado

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

ImortaLpro

Calculadora sem EVAL

Recommended Posts

Boa noite,

Preciso criar uma calculadora usando HTML e JavaScript, porém não posso usar o método "EVAL"

Eu já tenho uma pronta que eu fiz e gostaria de ajuda para mudar o JavaScript e fazer o código funcionar..

 

HTML

<html><head>	<title>Calculadora PPI2</title>	<link type="text/css" rel="stylesheet" href="calc_css.css"></head><body>	<div id="calculadora">		<div class="tela"><input type="text" size="20" id="tela"></div>			<div class="teclas">		 <p><input type="button" class="btnC" value="CLEAR" onclick="cl('')"></p>		 <p><input type="button" class="btnN" value="7" onclick="v(7)">			<input type="button" class="btnN" value="8" onclick="v(8)">			<input type="button" class="btnN" value="9" onclick="v(9)">			<input type="button" class="btnO" value="/" onclick="v('/')"></p>		 <p><input type="button" class="btnN" value="4" onclick="v(4)">			<input type="button" class="btnN" value="5" onclick="v(5)">			<input type="button" class="btnN" value="6" onclick="v(6)">			<input type="button" class="btnO" value="*" onclick="v('*')"></p>		 <p><input type="button" class="btnN" value="1" onclick="v(1)">			<input type="button" class="btnN" value="2" onclick="v(2)">			<input type="button" class="btnN" value="3" onclick="v(3)">			<input type="button" class="btnO" value="-" onclick="v('-')"></p>		 <p><input type="button" class="btnN" value="0" onclick="v('0')">			<input type="button" class="btnN" value="." onclick="v('.')">						<input type="button" class="btnI" value="=" onclick="eq()">			<input type="button" class="btnO" value="+" onclick="v('+')"></p></div></div>	<script src="calc_js.js" type="text/javascript"></script></body></html>

CSS(não importa tanto)

*{	margin: 0px;	padding: 0px;	box-sizing: border-box;	font: 16px Verdana bold;}html{	height: 100%;	background: radial-gradient(circle, #fff, #6E7173);	background-size: cover;}#calculadora{	width: 400px;	height: 350px;	margin: 100px auto;	padding: 10px 10px 10px;		background: #C5CACC;	border: 1px solid black;	border-radius: 5px;	box-shadow: 3px 3px #6E7173;}.tela input{	left: 2px;	top: 2px;	height: 40px;	width: 378px;	color: black;	background: #9EA2A3;	font-size: 21px;	text-align: right;	margin: 0px 20px 20px 0px;	padding: 20px;	border-radius: 10px;	box-shadow: 3px 3px #8E9293;	text-shadow: 1px 1px #999999;	text-align: right;}.teclas{position: relative;}.btnC{	width: 378px;	height: 40px;	margin: 0 10px 10px 0;		background: #FF6666;	border-radius: 5px;	box-shadow: 2px 2px #E27171;		cursor:pointer;	color: #404040;	line-height: 40px;		font: 20px Verdana bold;}.btnO{	float: left;	width: 88px;	height: 40px;	cursor: pointer;		background: #DDDDDD;	border-radius: 5px;	box-shadow: 2px 2px #6E7173;		margin: 0 7px 15px 0;	color: #525252;	line-height: 40px;	text-align: center;}.btnN{	float: left;	width: 87px;	height: 40px;	cursor: pointer;		background: white;	border-radius: 5px;	box-shadow: 2px 2px #6E7173;		margin: 0 7px 15px 0;	color: #525252;	line-height: 40px;	text-align: center;}.btnI{	float: left;	width: 87px;	height: 40px;	cursor: pointer;		background: #FFFF99;	border-radius: 5px;	box-shadow: 2px 2px #6E7173;		margin: 0 7px 15px 0;	color: #525252;	line-height: 40px;	text-align: center;}

JS

function cl(val){	document.getElementById("tela").value = val;}function v(val){	document.getElementById("tela").value += val;}function eq(){	try{ 		cl(eval(document.getElementById("tela").value)) 	} 	catch(e){		cl('Erro') 	}} 

O JavaScript está super simples e funcional, porém preciso fazer a mesma coisa sem utilizar o eval.. podem me ajudar?

 

Obrigado :)

 

 

 

Apaguem por favor, já resolvi ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diga como resolveu, pode ajudar mais pessoas.

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.