https://github.com/douglas-moura/projeto_calculadora
Calculadora JavaScript
https://github.com/douglas-moura/projeto_calculadora
calculadora calculadora-javascript calculator calculator-javascript javascript js tailwind-css tailwindcss
Last synced: about 2 months ago
JSON representation
Calculadora JavaScript
- Host: GitHub
- URL: https://github.com/douglas-moura/projeto_calculadora
- Owner: douglas-moura
- License: mit
- Created: 2024-10-23T15:46:16.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T17:48:48.000Z (7 months ago)
- Last Synced: 2025-03-29T13:36:01.901Z (2 months ago)
- Topics: calculadora, calculadora-javascript, calculator, calculator-javascript, javascript, js, tailwind-css, tailwindcss
- Language: CSS
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Calculadora JavaScript
Este é um projeto intermediário de uma calculadora desenvolvida em JavaScript, capaz de realizar operações matemáticas básicas e avançadas. A interface é gerada dinamicamente através de manipulação do DOM, exibindo os botões e atualizando o visor em tempo real. A calculadora suporta funcionalidades e operações como:
- **Operações básicas**: Soma (+), subtração (-), multiplicação (x) e divisão (/).
- **Operações avançadas**: Potência ao quadrado (²) e raiz quadrada (√).
- **Comandos**:
- **Limpar (C)**: Limpa o visor e reseta a fórmula.
- **Apagar (⌫)**: Remove o último caractere inserido.
- **Calcular (=)**: Executa a fórmula atual e exibe o resultado.
- **Exibição em tempo real**: O visor é atualizado com cada entrada de número ou operador.
- **Ordem de precedência**: Respeita a ordem das operações matemáticas (por exemplo, multiplicação e divisão têm maior precedência do que soma e subtração).## Estrutura do Projeto
- **Array de Símbolos**: O array `simbolos` define os botões e suas funções, separando números, operadores e comandos especiais.
- **Manipulação do DOM**: Os botões da calculadora são criados dinamicamente com `innerHTML`, e o visor é atualizado conforme o usuário interage com a interface.
- **Controle de Entradas**: A função `novaEntrada` diferencia entre números, operadores e comandos especiais, processando cada ação de acordo com o tipo de entrada.
- **Funções Especiais**: Funções como `limpar`, `apagar`, e `calcular` lidam com comandos específicos, como limpar o visor ou apagar o último número.
- **Cálculos com Precedência**: A função `calcular` usa um sistema de precedência de operadores para garantir que operações como multiplicação e divisão sejam realizadas antes de soma e subtração.## Funções Principais
- **montarTeclado()**: Cria os botões da calculadora dinamicamente.
- **novaEntrada(simbolo, tipo)**: Identifica se o botão pressionado é um número, operador ou comando especial e executa a ação correta.
- **funcoesEspeciais(comando)**: Executa funções como limpar o visor, apagar o último número ou calcular o resultado.
- **formularConta(simbolo, tipo)**: Adiciona os números e operadores na fórmula e atualiza o visor.
- **calcular(formula)**: Resolve a fórmula levando em consideração a precedência dos operadores.
- **operMath(formu, posicao, sinal)**: Realiza o cálculo de uma operação específica (ex: soma, subtração) e atualiza a fórmula com o resultado.## Como usar
1. Clone este repositório:
```bash
git clone https://github.com/douglas-moura/calculadora-javascript.git
2. Abra o arquivo index.html em um navegador para visualizar a calculadora.
3. Interaja com os botões numéricos e operadores para realizar cálculos.## Tecnologias Usadas
- **JavaScript**: Lógica da calculadora e manipulação do DOM.
- **HTML**: Estrutura da calculadora.
- **CSS**: Estilização da interface.
- **Tailwind CSS**: Framework para estilização rápida e responsiva da interface.
- **Iconify**: Biblioteca de ícones utilizada para os botões da calculadora.## Imagem Calculadora
