Skip to content

Latest commit

 

History

132 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ I'm moving to the next version 4.0 around September 15–18. 🛠️

Banner Learn C++ by Projects

C++ Beginner Friendly License: MIT Language Status Version Code Check

⭐ If you like this project, pls leaving a star!


Language

Contents


🇬🇧 English

Introduction

This repository contains a collection of C++ programs created to help students learn this language. Of course, this repository is only a study resource, so I strongly recommend trying the programs yourself to improve your programming skills.

This repository has recently undergone a major overhaul (version 3.0); I am currently fixing the final issues and will soon add a CONTRIBUTING.md file. Afterward, I will move on to developing version 4.0, where I plan to add as many programs as possible over time.

Another important thing: all the programs have been written entirely by Thealexio, while the English translation has been made with the help of AI/translator. If you find translation mistakes or grammatical errors, I apologize. As soon as I have more time to dedicate to this project, I will also review the grammar of every file.

Finally, the goal is to create a collection of projects with exercises and explanations. If you also have some simple C++ projects, I would really appreciate it if you contributed to this repository and helped expand the project.


How to use this repository

I organized the projects by difficulty. Inside every folder you will find different files organized with the following structure:

Code files

  • they have the same name as the folder and contain a C++ program with comments explaining how it works.
  • folders 1 and 2 are available only in English, while the following ones include both the Italian and English versions.
  • some folders may contain more than one source file.

fix_me.cpp files

  • these files are available in every folder and are designed to help you practice by fixing bugs or completing parts of the code.
  • every folder also contains the solutions inside its own README.

README.md files

  • every folder has its own README, available in both Italian and English.
  • they contain links and detailed explanations to help you learn C++ and the libraries used.
  • they are designed to be simple to read and as interactive as possible.
  • at the bottom of each README you will find details sections containing the solutions for the various fix_me.cpp files.

Tags

Each project includes a Tags section at the beginning of the README that summarizes the key concepts covered.
I have also added three color-coded categories for each tag:

  • 🟢 Fundamental: Simple concepts that are well-explained in the comments or represent prior knowledge. Perfect for beginners.
  • 🟡 Intermediate: Simple concepts that require some background knowledge of the topic. Make sure you have completed the previous projects.
  • 🔴 Non-Essential: Topics used only for examples or context. A full understanding is not required for the project.

Folders Structure

Regarding the order of difficulty, I have included three folders: Easy, Medium, and Hard:

  • Easy contains programs covering C++ basics, such as conditionals, variables, etc.
  • Medium contains material that expands on the topics from the "Easy" folder, as well as slightly more advanced concepts like functions and new libraries.
  • Hard contains complex projects involving multiple libraries and structured code, designed to help and inspire.

RoadMap

  • ✔️ v1.0 - Initial development of the project
  • ✔️ v2.0 - reorganization for reduction the number of files
  • 🛠️ v3.0 - Complete repository reorganization and new project structure
  • v4.0 add as many programs as possible

Contacts

If you find a bug or have a suggestion, feel free to open an Issue in the repository or contact me by email:

argenti.projects@gmail.com

Italiano

Introduzione

Questa repository contiene una raccolta di programmi in C++, con lo scopo di aiutare gli studenti a imparare questo linguaggio, ovviamete questa repository e solo un supporto per lo studio, quindi consiglio fortemete l'utilizzo dei vari programmi per migliorare le proprie capacità.

Al momento questa repository ha ricevuto un grosso rework la 3.0, sto sistemando gli ultimi problemi e fra poco aggiungerò un file CONTRIBUTING.md, succesivamente passero alla programmazione della versione 4.0 dove aggiungerò nel tempo più programmi possibili.

Un'altra cosa importante: i programmi sono stati scritti interamente da Thealexio, mentre la traduzione in inglese è stata fatta con l'aiuto dell'AI/traduttore. Se ci sono problemi o errori nelle traduzioni mi scuso, oltre tutto con l'ultimo aggioramento la v2.0 i commenti in italiano sono stati rimossi per riddure il numero dei file, se non sai l'inglese usa il traduttore.

Infine l'obiettivo è creare una raccolta di progetti con esercizi e spiegazioni. Se avete anche voi dei progetti semplici in Cpp mi farebbe molto piacere se contribuiste a questo progetto cosi da espandere il progetto.


Come usare la repository

Ho organizzato i vari programmi in ordine di difficoltà. In ogni cartella troverai diversi file strutturati con la seguente logica:

File con codice

  • hanno lo stesso nome della cartella e al loro interno troverai un programma in C++ con commenti che spiegano come funziona.
  • nelle cartelle 1 e 2 i file sono scritti solo in inglese, mentre nelle successive troverai sia la versione italiana che quella inglese.
  • in alcune cartelle potrebbero essere presenti più file.

File fix_me.cpp

  • sono file presenti in ogni cartella e servono per esercitarti a risolvere bug o completare parti di codice, così da verificare ciò che hai imparato.
  • in ogni cartella troverai anche le soluzioni all'interno del relativo README.

File README.md

  • ogni cartella possiede il proprio README, sia in italiano che in inglese.
  • contengono link e spiegazioni dettagliate per approfondire lo studio del C++ e delle librerie utilizzate.
  • sono pensati per essere semplici da leggere e il più possibile interattivi.
  • in fondo a ogni README troverai dei pulsanti (details) per visualizzare le soluzioni dei vari fix_me.cpp.

Tags

Ogni progetto include una sezione Tag all'inizio del README che riassume i concetti chiave trattati.
Oltre tutto ho aggiunto 3 colorazzioni per ogni tag:

  • 🟢 Fondamentale: Concetti semplici, ben spiegati nei commenti o già acquisiti in precedenza. Perfetto per chi inizia.
  • 🟡 Intermedio: Concetti semplici ma che richiedono una pre-conoscenza dell'argomento. Assicurati di aver completato i progetti precedenti.
  • 🔴 Non Essenziale: Argomenti usati solo come esempio o contesto. Non è necessario comprenderli completamente per il progetto.

Struttura delle Cartelle

Per quanto riguarda l'ordine di difficoltà, ho inserito 3 cartelle Easy, Medium, Hard:

  • Easy contiene tutti i programmi con le basi del C++, per esempio le condizioni, variabili, ecc...
  • Medium contiene gli approfondimenti degli argomenti in Easy e argomenti un po' più avanzati come le funzioni o nuove librerie
  • Hard contiene tutti i progetti complessi con più librerie, codice strutturato con l'obiettivo di aiutare e ispirare

RoadMap

  • ✔️ v1.0 Inizio dello sviluppo del progetto
  • ✔️ v2.0 Riddurre il numero di file
  • 🛠️ v3.0 Riorganizzazione completa della repository e nuova struttura
  • v4.0 aggiungere più programmi possibili

Contatti

Se trovi un bug o hai un suggerimento, puoi aprire una Issue nella repository oppure contattarmi privatamente via email:

argenti.projects@gmail.com

About

This repository contains C++ projects designed to help beginners learn programming, you can practice by debugging code, studying libraries and understanding fundamental concepts step by step.

Topics

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages