Skip to content

eliaspc2/SimpleCalculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

🧮 Calculator — Advanced Course in Programming (University of Helsinki)

Este projeto faz parte de uma avaliação prática do curso Advanced Course in Programming da University of Helsinki, desenvolvido em Python 3. O objetivo é demonstrar domínio de programação orientada a objetos (OOP), gestão de ficheiros e estrutura modular.


📘 Descrição

O programa implementa uma calculadora de consola com histórico persistente. Cada operação é guardada num ficheiro de texto (history.txt), permitindo consultar, contar e limpar os registos de cálculos realizados.

A calculadora suporta:

  • Adição
  • Subtração
  • Multiplicação
  • Divisão

🧱 Estrutura das Classes

Calculation

Responsável por representar uma operação individual. Recebe dois operandos e um operador, calcula automaticamente o resultado e disponibiliza-o num formato compatível com o ficheiro de histórico.

Métodos principais:

  • __calculate() — executa a operação aritmética
  • to_file_format() — devolve a linha formatada para guardar no ficheiro
  • result() — devolve o resultado do cálculo

HistoryManager

Gere o ficheiro de histórico history.txt.

Funções principais:

  • add(calculation) — adiciona um novo cálculo
  • read() — lê todas as operações gravadas
  • count() — devolve o número total de registos
  • clear() — apaga todo o conteúdo do histórico

Calculator

Controla a interface de utilizador via consola, apresentando o menu de comandos e interagindo com as outras classes.

Comandos disponíveis:

0 - terminar programa  
1 - adição (+)  
2 - subtração (-)  
3 - multiplicação (*)  
4 - divisão (/)  
5 - mostrar histórico  
6 - limpar histórico  
7 - mostrar comandos

▶️ Execução

Executar o ficheiro principal:

python calculator.py

Será criado automaticamente o ficheiro history.txt na primeira execução.

Exemplo:

Calculator
0 calculations in history
Commands:
0 - end program
1 - calculate addition (+)
...
Select command: 1
Input number: 5
Input number: 3
Result: 8.0

🧩 Conceitos avaliados

  • Encapsulamento e métodos privados
  • Criação e gestão de ficheiros
  • Manipulação de exceções (FileExistsError)
  • Utilização de match/case
  • Estrutura modular e reutilizável

🏫 Curso

Advanced Course in Programming Department of Computer Science University of Helsinki https://www.mooc.fi/en/


📄 Autor: André Elias Perry da Câmara 📅 Ano letivo: 2025 🧠 Linguagem: Python 3.12

About

O programa implementa uma calculadora de consola com histórico persistente. Cada operação é guardada num ficheiro de texto (history.txt), permitindo consultar, contar e limpar os registos de cálculos realizados.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages