# wolfterro/projetos-em-c architecture

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

- Interactive diagram: https://gitdiagram.com/wolfterro/projetos-em-c
- Repository: https://github.com/wolfterro/projetos-em-c

## Overview

Este repositório reúne pequenos programas C independentes, não um único produto. Os fluxos principais vão de argumentos ou entrada no terminal até saudações, conversões, cálculos ou a construção contínua de um muro. Também inclui um exemplo de biblioteca de exponenciação e um utilitário de download que delega operações ao youtube-dl. As relações abaixo se apoiam no README e nos arquivos-fonte examinados; não há evidência de integração entre os programas.

Main entry points: [`src/olamundo.c`](https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c) (CLI OlaMundo), [`src/ctemp.c`](https://github.com/wolfterro/projetos-em-c/blob/master/src/ctemp.c) (CLI Ctemp), [`src/power.c`](https://github.com/wolfterro/projetos-em-c/blob/master/src/power.c) (Demonstração Power), [`src/Trump.c`](https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c) (CLI do muro)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_greet["Saudações"]
  node_ola_cli["CLI OlaMundo<br/>[olamundo.c]"]
  node_ola_menu["Menu interativo<br/>[olamundo.c]"]
  node_ola_greeting["Saudação multilíngue<br/>[olamundo.c]"]
end

subgraph group_convert["Conversão térmica"]
  node_ctemp_cli["CLI Ctemp<br/>[ctemp.c]"]
  node_temperature_conversion["Conversão de unidades<br/>[ctemp.c]"]
end

subgraph group_power["Exponenciação"]
  node_power_demo["Demonstração Power<br/>[power.c]"]
  node_power_function["Função de potência<br/>[power.h]"]
end

subgraph group_wall["Muro no terminal"]
  node_wall_cli["CLI do muro<br/>[Trump.c]"]
  node_wall_builder["Construtor do muro<br/>[Trump.c]"]
  node_wall_counter["Contagem construída<br/>[Trump.c]"]
end

subgraph group_download["Downloads de mídia"]
  node_ytdlc_cli["CLI Ytdlc<br/>[ytdlc.c]"]
  node_media_commands["Comandos de mídia<br/>[ytdlc.c]"]
end

node_user(("Usuário no terminal"))
node_youtube_dl["youtube-dl"]
node_ffmpeg["ffmpeg ou libav-tools"]

node_user -->|"fornece opção"| node_ola_cli
node_ola_cli -->|"abre menu"| node_ola_menu
node_ola_cli -->|"seleciona saudação"| node_ola_greeting
node_ola_menu -->|"envia escolha"| node_ola_greeting
node_user -->|"fornece unidade e valor"| node_ctemp_cli
node_ctemp_cli -->|"despacha conversão"| node_temperature_conversion
node_user -->|"informa base e expoente"| node_power_demo
node_power_demo -->|"calcula potência"| node_power_function
node_user -->|"inicia programa"| node_wall_cli
node_wall_cli -->|"escolhe cor"| node_wall_builder
node_wall_builder -->|"chama ao interromper"| node_wall_counter
node_user -->|"fornece formato e IDs"| node_ytdlc_cli
node_ytdlc_cli -->|"despacha formato"| node_media_commands
node_media_commands -->|"executa comandos"| node_youtube_dl
node_youtube_dl -.->|"pode converter com"| node_ffmpeg

click node_ola_cli "https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c"
click node_ola_menu "https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c"
click node_ola_greeting "https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c"
click node_ctemp_cli "https://github.com/wolfterro/projetos-em-c/blob/master/src/ctemp.c"
click node_temperature_conversion "https://github.com/wolfterro/projetos-em-c/blob/master/src/ctemp.c"
click node_power_demo "https://github.com/wolfterro/projetos-em-c/blob/master/src/power.c"
click node_power_function "https://github.com/wolfterro/projetos-em-c/blob/master/include/power.h"
click node_wall_cli "https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c"
click node_wall_builder "https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c"
click node_wall_counter "https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c"
click node_ytdlc_cli "https://github.com/wolfterro/projetos-em-c/blob/master/src/ytdlc.c"
click node_media_commands "https://github.com/wolfterro/projetos-em-c/blob/master/src/ytdlc.c"

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_ola_cli,node_ola_menu,node_ola_greeting toneBlue
class node_ctemp_cli,node_temperature_conversion toneAmber
class node_power_demo,node_power_function toneMint
class node_wall_cli,node_wall_builder,node_wall_counter toneRose
class node_ytdlc_cli,node_media_commands,node_user,node_youtube_dl,node_ffmpeg toneIndigo
```

## Components

### Saudações

- [CLI OlaMundo](https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c): `src/olamundo.c`
- [Menu interativo](https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c): `src/olamundo.c`
- [Saudação multilíngue](https://github.com/wolfterro/projetos-em-c/blob/master/src/olamundo.c): `src/olamundo.c`

### Conversão térmica

- [CLI Ctemp](https://github.com/wolfterro/projetos-em-c/blob/master/src/ctemp.c): `src/ctemp.c`
- [Conversão de unidades](https://github.com/wolfterro/projetos-em-c/blob/master/src/ctemp.c): `src/ctemp.c`

### Exponenciação

- [Demonstração Power](https://github.com/wolfterro/projetos-em-c/blob/master/src/power.c): `src/power.c`
- [Função de potência](https://github.com/wolfterro/projetos-em-c/blob/master/include/power.h): `include/power.h`

### Muro no terminal

- [CLI do muro](https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c): `src/Trump.c`
- [Construtor do muro](https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c): `src/Trump.c`
- [Contagem construída](https://github.com/wolfterro/projetos-em-c/blob/master/src/Trump.c): `src/Trump.c`

### Downloads de mídia

- [CLI Ytdlc](https://github.com/wolfterro/projetos-em-c/blob/master/src/ytdlc.c): `src/ytdlc.c`
- [Comandos de mídia](https://github.com/wolfterro/projetos-em-c/blob/master/src/ytdlc.c): `src/ytdlc.c`

### Other components

- **Usuário no terminal**
- **youtube-dl**
- **ffmpeg ou libav-tools**

## Connections

- Usuário no terminal → CLI OlaMundo: fornece opção (evidence: `README.md`)
- CLI OlaMundo → Menu interativo: abre menu (evidence: `src/olamundo.c`)
- CLI OlaMundo → Saudação multilíngue: seleciona saudação (evidence: `src/olamundo.c`)
- Menu interativo → Saudação multilíngue: envia escolha (evidence: `src/olamundo.c`)
- Usuário no terminal → CLI Ctemp: fornece unidade e valor (evidence: `README.md`)
- CLI Ctemp → Conversão de unidades: despacha conversão (evidence: `src/ctemp.c`)
- Usuário no terminal → Demonstração Power: informa base e expoente (evidence: `README.md`)
- Demonstração Power → Função de potência: calcula potência (evidence: `src/power.c`)
- Usuário no terminal → CLI do muro: inicia programa (evidence: `README.md`)
- CLI do muro → Construtor do muro: escolhe cor (evidence: `src/Trump.c`)
- Construtor do muro → Contagem construída: chama ao interromper (evidence: `src/Trump.c`)
- Usuário no terminal → CLI Ytdlc: fornece formato e IDs (evidence: `README.md`)
- CLI Ytdlc → Comandos de mídia: despacha formato (evidence: `src/ytdlc.c`)
- Comandos de mídia → youtube-dl: executa comandos (evidence: `src/ytdlc.c`)
- youtube-dl → ffmpeg ou libav-tools: pode converter com (evidence: `README.md`)
