{"id":22834866,"url":"https://github.com/lucasfturos/projects_c-cpp","last_synced_at":"2025-08-01T16:37:32.775Z","repository":{"id":50526878,"uuid":"496077380","full_name":"lucasfturos/Projects_C-CPP","owner":"lucasfturos","description":"Repositório focado para salvar meus estudos nas linguagens C e C++","archived":false,"fork":false,"pushed_at":"2024-06-21T18:41:44.000Z","size":1665,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T00:07:19.063Z","etag":null,"topics":["c","cpp","makefiles","opengl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasfturos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-25T04:07:42.000Z","updated_at":"2024-06-21T18:41:47.000Z","dependencies_parsed_at":"2024-01-17T17:17:15.448Z","dependency_job_id":"b9e1f7f0-ed5e-48f5-b29f-0febb8bc09dd","html_url":"https://github.com/lucasfturos/Projects_C-CPP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasfturos%2FProjects_C-CPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasfturos%2FProjects_C-CPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasfturos%2FProjects_C-CPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasfturos%2FProjects_C-CPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasfturos","download_url":"https://codeload.github.com/lucasfturos/Projects_C-CPP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535099,"owners_count":21446508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","makefiles","opengl"],"created_at":"2024-12-12T22:07:43.084Z","updated_at":"2025-04-24T00:07:26.711Z","avatar_url":"https://github.com/lucasfturos.png","language":"C++","readme":"# Projetos feito em C e C++\n\nRepositório focado para salvar meus estudos nas linguagens C e C++\n\n## Categoria\n\nAs pastas do repositório estão divididas em categorias (ASCII_Codes, OpenCV_Codes, OpenGL_Codes, Qt_Codes e SFML_Codes), logo a baixo está presente a organização das pastas:\n\n\u003cdetails\u003e\u003csummary\u003eShow\u003c/summary\u003e\n\n```bash\n\n    ├── ASCII_Codes\n    │   ├── ASCII_Art_3D\n    │   ├── BongoCat\n    │   ├── Cubo3DASCII\n    │   ├── dotenv\n    │   ├── ExpressoesNumericas\n    │   ├── Natal code\n    │   ├── PenduloDuploASCII\n    │   ├── RGB_Terminal\n    │   ├── SnakeGame\n    │   ├── termtetris\n    │   ├── Tic-Tac-Toe\n    │   └── ToneGenerator\n    ├── OpenCV_Codes\n    │   └── FilterImage\n    ├── OpenGL_Codes\n    │   ├── Esfera3DOpenGL\n    │   ├── Torus3DOpenGL\n    │   └── TrianguloOpenGL\n    ├── Qt_Codes\n    │   ├── CuboOpenGL\n    │   └── MiniNavegador\n    └── SFML_Codes\n        ├── BlackHole_Newtonian\n        ├── FractalTree\n        ├── Modelos3DSFML\n        ├── Orb\n        └── PenduloDuplo_SFML\n```\n\n\u003c/details\u003e\n\n## Sobre eles:\n\n\u003cdetails\u003e\u003csummary\u003eShow\u003c/summary\u003e\n\n### ASCII Codes\n\n-   ASCII_Art_3D é um projeto onde é feito o plot de arquivos objetos ou modelos 3D calculados em tempo real seus vértices e faces/índices. Projeto feito em C++ no Linux.\n\n-   BongoCat é uma animação simples usando bitmap e o plot em ASCII. Código feito em C no Linux.\n\n-   Cubo3DASCII é um cubo feito em C++ sendo feito o plot em modo texto. Foi feito no Linux.\n\n    -   OBS: Este projeto foi feito com base no vídeo do canal [Servet Guinarogiu](https://youtu.be/p09i_hoFdd0) para praticar C++.\n\n-   dotenv é um projeto com duas funções, gera uma chave de API aleatória (key.cpp), lê o arquivo .env e mostra na tela as variáveis de ambiente (env_read.cpp), no caso API_KEY no .env de exemplo. Foi feito em C++.\n\n-   ExpressoesNumericas é uma calculadora de expressões algébricas, resolve expressões com adição, subtração, multiplicação, divisão e potência e pode usar parênteses para separar melhor a ordem da resolução. Foi feito em C++.\n\n    -   OBS: Este projeto foi feito com base no desafio 14 do site [OsProgramadores](https://osprogramadores.com/), caso queira conhecer os [Desafios](https://osprogramadores.com/desafios/) fique a vontade.\n\n-   Tic-Tac-Toe é o jogo da velha feito em C++ usando classes (uma tentativa de classe abstrata). Foi feito no Linux.\n\n-   Natal code é uma árvore de Natal feita em C. Foi feito no Windows e testada no Linux.\n\n-   PenduloDuploASCII é uma simulação do movimento caótico de um pêndulo duplo, seu plot é em modo texto (ASCII). Foi feito no Linux.\n\n    -   OBS: Esta simulação foi feita com base no código do [DinoZ1729](https://github.com/DinoZ1729/Double-Pendulum) para estudar sobre simulações de movimentos caóticos e praticar C++.\n\n-   RGB_Terminal é um suporte para imagens para o terminal. Foi feito em C++ no Linux.\n\n    -   OBS: Este suporte foi feito com base no vídeo [_3D ASCII with Colors_](https://youtu.be/M-sIyi9VMSU) do canal [Tsoding Daily](https://www.youtube.com/@TsodingDaily).\n\n-   SnakeGame é o jogo da cobrinha feito em C. Foi feito no Linux.\n\n-   ToneGenerator é para criar arquivos de áudio (no formato wav) para testes de som. Foi feito em C++ no Linux.\n\n### OpenCV Codes\n\n-   FilterImage é uma aplicação simples do OpenCV onde é demonstrado alguns filtros usados para atenuar bordas na imagem, o projeto é em C++. Foi feito no Linux.\n\n### OpenGL Codes\n\n-   Esfera3DOpenGL é uma esfera feita em C++ usando a biblioteca OpenGL e o Glut. Foi feito no Linux.\n\n-   Torus3DOpenGL é uma toróide feita em C++ usando a biblioteca OpenGL e o Glut. Foi feito no Linux.\n\n-   TrianguloOpenGL é um triângulo colorido feito em C++ usando a biblioteca OpenGL e o Glut. Foi feito no Linux.\n\n### Qt Codes\n\n-   CuboOpenGL é um cubo feito com as funções do Qt6 e C++. Foi feito no Linux com a IDE Qt Creator.\n\n-   MiniNavegador é um navegador que pode mostrar páginas Web por link, foi feito com o Qt6 e C++. Foi usado o Linux e a IDE Qt Creator.\n\n### SFML Codes\n\n-   FractalTree é um modelo matemático da área dos fractais e é uma boa demonstração de recursão usando o C++ e a biblioteca do SFML. Foi feito no Linux.\n\n-   Modelos3DSFML fiz dois modelos 3D de uma esfera e uma rosquinha usando o SFML e matemática. Foi feito no Linux.\n\n    -   OBS: Na pasta a uma pasta com nome de img, o site de onde veio as imagens é [Solar System Scope](https://www.solarsystemscope.com/textures/). O uso das imagens foi para aplicar uma textura para testar.\n\n-   Orb é desenhado 3 órbitas e ao longo que elas vão passando fica seu rastro em 3 cores diferentes (vermelho, ciano e preto), seu desenho foi feito com auxílio da biblioteca SFML. Foi feito no Linux.\n\n-   PenduloDuplo_SFML é uma simulação de um pêndulo duplo, seu plot foi feito utilizando a biblioteca do SFML. Foi feito no sistema operacional Debian em C++.\n\n\u003c/details\u003e\n\n## Instalação\n\nPara usar os códigos presentes neste repositório é necessário ter as seguintes ferramentas.\n\n\u003cdetails\u003e\u003csummary\u003eShow\u003c/summary\u003e\n\n### Instalação do OpenGL e GLUT\n\nO OpenGL e o Glut estão disponíveis no site:\n\n1. [OpenGL Wiki: Getting Started - Khronos Group](https://www.khronos.org/opengl/wiki/Getting_Started)\n\n2. [GLUT - The OpenGL Utility Toolkit](https://www.opengl.org/resources/libraries/glut/glut_downloads.php)\n\n### Instalação do SFML\n\nSiga a documentação do [SFML](https://www.sfml-dev.org/) para instala-lo.\n\n### Instalação no Linux para as ferramentas do C e C++ (Debian)\n\n```\nsudo apt install cmake make gcc g++\n```\n\n### Instalação no Windows para as ferramentas do C e C++\n\nNo Windows use o [MinGW](https://www.mingw-w64.org/) e instale o gcc, g++, cmake e make.\n\n### Instalação do Qt:\n\nSiga a documentação no site do [Qt](https://www.qt.io/) para instala-lo.\n\n### Instalação do OpenCV:\n\nSiga a documentação no site do [OpenCV](https://opencv.org/) para instala-lo.\n\n\u003c/details\u003e\n\n## Como usar\n\nApós fazer a instalação das dependências acima você precisa seguir esses orientações para usar os projetos:\n\n\u003cdetails\u003e\u003csummary\u003eShow\u003c/summary\u003e\n\nPara os projetos com CMakeLists.txt é só rodar o comando:\n\n```\ncmake -B build\ncd build/\nmake\n./Nome_do_Executável\n```\n\nPara os projetos com Makefile é só rodar o comando:\n\n```\nmake run\n```\n\nOu abra o arquivo Makefile e veja quais os comandos existem e teste cada um.\n\n\u003c/details\u003e\n\n## Bibliografia\n\nDocumentações para consulta:\n\n1.  [Boost C++ Libraries](https://www.boost.org/)\n2.  [cplusplus.com](https://cplusplus.com/)\n3.  [cppreference.com](https://pt.cppreference.com/w/P%C3%A1gina_principal)\n4.  [Documentation OpenCV](https://docs.opencv.org/4.x/d1/dfb/intro.html)\n5.  [Documentation Qt](https://doc.qt.io/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasfturos%2Fprojects_c-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasfturos%2Fprojects_c-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasfturos%2Fprojects_c-cpp/lists"}