Este projeto é um simulador de uma corretora (exchange) de criptomoedas baseado em linha de comandos (CLI), desenvolvido inteiramente em C.
O projeto foi construído como Trabalho Final da disciplina de Desenvolvimento de Algoritmos no curso de Ciência da Computação na FEI, com o objetivo de aplicar conceitos sólidos de manipulação de memória, modularização de código, e leitura/escrita de ficheiros para persistência de dados.
O sistema simula o ecossistema completo de uma corretora, dividindo a aplicação em dois grandes módulos que partilham a mesma "base de dados" (ficheiros de texto):
- Cadastro e remoção de utilizadores (investidores).
- Consulta de saldo e extrato de qualquer investidor registado na plataforma.
- Sistema de login seguro exclusivo para administradores.
- Carteira Fiat: Depósito e levantamento de saldo em Reais (BRL).
- Trading: Compra e venda de criptomoedas (Bitcoin, Ethereum, Ripple) baseadas na cotação atual.
- Histórico: Consulta de saldo atualizado das carteiras e extrato completo de operações.
- Sistema de autenticação por palavra-passe e validação de fundos antes de qualquer operação.
- Linguagem: C (Standard C Library)
- Persistência de Dados: File I/O (Manipulação de ficheiros
.txtpara armazenamento contínuo de utilizadores, cotações e histórico de extratos). - Arquitetura Modular: O código foi dividido em
ProgramaAdm,ProgramaUsere uma pastashared(com funções e dados partilhados por ambos), evitando duplicação de código e facilitando a manutenção.
O repositório está organizado da seguinte forma:
📦 Projeto4C
┣ 📂 ProgramaAdm # Aplicação restrita aos administradores
┃ ┣ 📂 funcoesAdm # Lógica de negócio do administrador
┃ ┗ 📜 mainADM.c # Ponto de entrada do Admin
┣ 📂 ProgramaUser # Aplicação dos investidores
┃ ┣ 📂 FuncoesUSER # Lógica de negócio do utilizador (depósito, compra, venda)
┃ ┗ 📜 mainUSER.c # Ponto de entrada do Utilizador
┗ 📂 shared # Recursos partilhados
┣ 📂 FuncoesCompartilhadas # Funções auxiliares (extratos, cotações)
┗ 📜 cotacoes.txt, extrato.txt, informacoesUsu.txt # Ficheiros de Base de Dados
Pré-requisitos: Ter um compilador C instalado (como o gcc via MinGW no Windows ou build-essential no Linux).
- Clone o repositório:
git clone [https://github.com/EnricoNSilva/Projeto4C.git](https://github.com/EnricoNSilva/Projeto4C.git)- Navegue até a pasta do programa que deseja executar (Admin ou User):
cd Projeto4C/Projeto4C-main/ProgramaAdm
# ou
cd Projeto4C/Projeto4C-main/ProgramaUser- Compile o código:
gcc mainADM.c funcoesAdm/*.c ../shared/FuncoesCompartilhadas/*.c -o admin_app- Execute o programa:
./admin_appEste projeto marca um passo importante na compreensão de estruturas de dados e desenvolvimento de software durante a minha jornada acadêmica na FEI.