Skip to content

Calculadora em C de terminal que avalia expressões simples.

Notifications You must be signed in to change notification settings

yudi-azvd/c-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔢 Calculadora em C

Esse projeto é a revitalização de um antigo trabalho de Estrutura de Dados para o qual era necessário implementar uma calculadora em C porque programador de verdade sabe programar em C. A calculadora executa algumas operações básicas utilizando listas lincadas, pilhas e conversão entre as formas infixa e pós-fixa.

Esse projeto faz parte de um "projeto maior" de calculadoras, implementas em outras linguagens.

O que ela faz?

Aceita algumas expressões simples entradas pelo usuário e apresenta o resultado no terminal:

gif da calculadora

Dependências

Como usar

Para baixar o repositório, abra o terminal e digite:

git clone https://github.com/y-azvd/c-calculator.git

Ou clique no botão verde no diretório raíz desse repositório.

Depois de ter baixado execute no terminal:

cd c-calculator/build/
cmake ..
make

É normal demorar um pouco pra compilar porque os testes são realizados utilizando o framework Catch2. Mas é só na primeira vez.

Para executar:

./calculator

Documentação

Para saber mais sobre essa calculadora, cheque a documentação.

Extensões úteis para VSCode

  • C/C++
  • CMake
  • CMake Tools
  • C++ TestMate
  • Draw.io Integration (se você quiser visualizar o diagrama pelo Draw.io dentro do VSCode)

A fazer

  1. Incluir algumas funções (sin, cos, log).
  2. Continuar o testador da main.c. Duas formas:
  • dois programas rodando em paralelo: ./test_main | ./calculator
  • input1.txt com as entradas de comandos e expressões: ./test_main, que, por sua vez executaria os seguintes comandos no TEST_CASES:
    • system("./test_main < input1.txt");
    • system("./test_main < input2.txt"); Mas então como conferir o resultado? Dar uma olhada no trabalho de EDA2 na parte da interação entre o programa do joagdor e do árbitro.
  1. Descobrir um jeito melhor de encapsular (e deixar mais legível) as funções de receber input e diferenciar os comandos.

About

Calculadora em C de terminal que avalia expressões simples.

Topics

Resources

Stars

Watchers

Forks