Skip to content

๐ŸŽ“ Personal C++ Learning Journey: Collection of projects built while transitioning from Python/JavaScript to C++. Each project incrementally introduces new C++ concepts and technologies, from basic I/O to advanced features like GUI implementation and database management. Perfect for fellow learners! ๐Ÿš€

Notifications You must be signed in to change notification settings

itzmaniss/learning_cpp

Repository files navigation

LEARNING CPP

Hi! I started learnint Programming using python and moved on to simple Javascript. Now i have taken up the challenge to start learnign C++.
I have made the following Projects in order of difficulty to help me learn c++!

source for project ideas: https://www.geeksforgeeks.org/top-50-cpp-project-ideas-for-beginners-advanced/

1. Rock Paper Scissor

Stone Paper Scissor or Rock Paper Scissor is a game that is played between two people, Each player in this game forms one of three shapes. The winner will be decided as per the given rules:

  • Rock vs Scissor -> Rock wins
  • Rock vs Paper -> Paper wins
  • Paper vs Scissor -> Scissor wins

In this game, the user is asked to make choices based on both computer and user choices and the results are displayed showing both computer and user choices.

Technologies Required: C++ programming language, I/O Streams, Standard Library Functions.

2. Casino Number Guessing Game

The guessing project in C++ is a game designed to test the playerโ€™s luck and knowledge. The player needs to guess a random number generated by the computer. If the player guesses right, they will win a certain amount of money. The winning prize depends on the difficulty of the game. The program implements classes, functions, and user-defined data types. It also uses other features such as loops and conditionals to create a logical structure. Furthermore, it makes use of the standard template library to implement basic operations and other data structures.

Technologies Required: C++ programming language, Object Oriented Programming(OOPS), Data Structures, Input/Output Streams, Memory Management, Standard Template Library(STL).

3. Text Editor

A user can create, edit, save, and open text files using the text editor, a straightforward program. In addition to a user interface for the user to interact with, it uses classes and objects to store and alter the content. Basic text editing functions including copying, pasting, deleting, searching, and printing text are all available in the text editor. Text Editor is a simple application that is built into C++ programming language. We can use Graphical User Interface (GUI) Libraries such as QT, and GTK+ for creating a graphical user interface. Libraries such as Pango or Cairo are required to display text on the screen.

Technologies Required: C++ programming language, GUI Libraries, File I/O Library.

4. Minesweeper Game

This project is a game which is a single-player puzzle game. The main objective of this game is to clear a rectangular board that contains hidden bombs or mines without detonating any of them with the help of hints about the neighbor mines in each field. The game has a 9 x 9 grid with mines placed randomly.

Technologies Required: C++ programming language, GUI Library (Qt, SDL), Mathematics Library( Boost, Eigen), Sound Library(OpenAL, SFML), Image Loading Library (stb_image), Input Handling Library (GLFW, SDL).

5. Password Manager

It is a graphical user interface application that can be used to store the password along with the username. All the data will be encrypted to prove better security and will be decrypted on demand. Every password will also be hidden behind a wall which we can enter by using the application password.

Technologies Required: C++ programming language, GUI library, Encryption/Decryption, Data Structure, and Algorithms, Secured Storage.

6. Online Exam System

This project is a complete Online Exam System written in C++. It is a web-based system that enables users to set up tests, administer tests, view and grade results, and analyze performance data. Users can set up tests with multiple questions, including objective and essay questions. A Timer for each test can be generated and can randomly select questions from a large pool of questions. It also allows users to leave comments on the test results for further analysis. The system also allows the administrator to publish test results and print out a summary. It records exam answers, multiple choice, and short answer questions, time spent, and marks obtained. With this system, users will be able to take the exams with ease and accuracy.

Technologies Required: C++ programming language, Database Management System(DBMS), JavaScript Libraries, Testing Frameworks, and Web Servers.

If you have any suggestions on how to improve my code please do drop a comment. Always Happy to learn more!

About

๐ŸŽ“ Personal C++ Learning Journey: Collection of projects built while transitioning from Python/JavaScript to C++. Each project incrementally introduces new C++ concepts and technologies, from basic I/O to advanced features like GUI implementation and database management. Perfect for fellow learners! ๐Ÿš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published