# padi22/calculadora-v5-beta architecture

> Architecture diagram of the GitHub repository padi22/calculadora-v5-beta, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/padi22/calculadora-v5-beta
- Repository: https://github.com/padi22/calculadora-v5-beta

## Overview

Calculadora V5 Beta is a Spanish-language console calculator. Its user-facing workflow is to choose a calculation, enter validated values, and receive a numeric or formatted result. The sampled implementation shows basic arithmetic, scientific and geometric calculations, fractions, equation solving, conversions, and number-base conversion, alongside shared console input and display helpers. The entry-point source is listed but was not sampled, so its menu dispatch and connections to calculation routines cannot be verified; those links are omitted.

Main entry points: [`Operaciones.cpp`](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp) (Input and display)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Console interface"]
  node_entry["Program entry"]
  node_console["Input and display<br/>[Operaciones.cpp]"]
end

subgraph group_calculations["Calculations"]
  node_arithmetic["Basic arithmetic<br/>[Operaciones.cpp]"]
  node_power_roots["Powers and roots<br/>[Operaciones.cpp]"]
  node_averaging["Averages<br/>[Operaciones.cpp]"]
end

subgraph group_specialized["Specialized math"]
  node_geometry["Geometry<br/>[Operaciones.cpp]"]
  node_logarithms["Logarithms<br/>[Operaciones.cpp]"]
  node_fractions["Fraction operations<br/>[Operaciones.cpp]"]
  node_percentages["Percentages<br/>[Operaciones.cpp]"]
  node_quadratics["Quadratic equations<br/>[Operaciones.cpp]"]
  node_conversions["Angle conversions<br/>[Operaciones.cpp]"]
  node_trigonometry["Trigonometry<br/>[Operaciones.cpp]"]
  node_base_conversion["Base conversion<br/>[Operaciones.cpp]"]
end

node_user(("Calculator user"))

node_arithmetic -->|"reads input"| node_console
node_power_roots -->|"reads input"| node_console
node_averaging -->|"reads input"| node_console
node_geometry -->|"reads input"| node_console
node_logarithms -->|"reads input"| node_console
node_fractions -->|"reads input"| node_console
node_percentages -->|"reads input"| node_console
node_quadratics -->|"reads input"| node_console
node_conversions -->|"reads input"| node_console
node_trigonometry -->|"reads input"| node_console
node_base_conversion -->|"reads input"| node_console

click node_entry "https://github.com/padi22/calculadora-v5-beta/blob/master/Calculadora%20V5%20Beta.cpp"
click node_console "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_arithmetic "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_power_roots "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_averaging "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_geometry "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_logarithms "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_fractions "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_percentages "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_quadratics "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_conversions "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_trigonometry "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"
click node_base_conversion "https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_console,node_user toneBlue
class node_arithmetic,node_power_roots,node_averaging toneAmber
class node_geometry,node_logarithms,node_fractions,node_percentages,node_quadratics,node_conversions,node_trigonometry,node_base_conversion toneMint
```

## Components

### Console interface

- [Program entry](https://github.com/padi22/calculadora-v5-beta/blob/master/Calculadora%20V5%20Beta.cpp): `Calculadora V5 Beta.cpp`
- [Input and display](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`

### Calculations

- [Basic arithmetic](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Powers and roots](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Averages](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`

### Specialized math

- [Geometry](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Logarithms](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Fraction operations](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Percentages](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Quadratic equations](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Angle conversions](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Trigonometry](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`
- [Base conversion](https://github.com/padi22/calculadora-v5-beta/blob/master/Operaciones.cpp): `Operaciones.cpp`

### Other components

- **Calculator user**

## Connections

- Basic arithmetic → Input and display: reads input (evidence: `Operaciones.cpp`)
- Powers and roots → Input and display: reads input (evidence: `Operaciones.cpp`)
- Averages → Input and display: reads input (evidence: `Operaciones.cpp`)
- Geometry → Input and display: reads input (evidence: `Operaciones.cpp`)
- Logarithms → Input and display: reads input (evidence: `Operaciones.cpp`)
- Fraction operations → Input and display: reads input (evidence: `Operaciones.cpp`)
- Percentages → Input and display: reads input (evidence: `Operaciones.cpp`)
- Quadratic equations → Input and display: reads input (evidence: `Operaciones.cpp`)
- Angle conversions → Input and display: reads input (evidence: `Operaciones.cpp`)
- Trigonometry → Input and display: reads input (evidence: `Operaciones.cpp`)
- Base conversion → Input and display: reads input (evidence: `Operaciones.cpp`)
