35-Day C++ Programming Practice Plan (HND Level)
Week 1: C++ Fundamentals
Day 1: C++ Intro & Get Started
- Write your first C++ program to display your name, school, and specialization.
- List and explain the different file extensions used in C++ projects (.cpp, .h).
Day 2: C++ Syntax & Output
- Print a Cameroonian flag using cout with escape sequences.
- Fix errors in a faulty C++ program and explain the changes.
Day 3: Comments & Variables
- Use single-line and multi-line comments to explain a sample program.
- Declare and initialize variables of various types (int, float, char, etc.) for a basic billing system.
Day 4: User Input & Data Types
- Prompt the user to input their name, age, and tuition fees. Display all values.
- Check and display the data type size using sizeof().
Day 5: Operators
- Calculate electricity bills using arithmetic operators.
- Use comparison and logical operators to validate a student's registration eligibility.
Day 6: Strings & Math
- Concatenate first name and last name into a full name.
- Use pow(), sqrt(), abs(), etc., to solve simple math problems.
Day 7: Booleans & If...Else
- Write a program to check if a year is a leap year.
- Grade student performance using conditional statements.
Week 2: Control Flow & Arrays
Day 8: Switch Statements
- Create a menu-driven program for a cafeteria billing system.
- Simulate a mobile money transaction menu using switch.
Day 9: While Loop
- Print a multiplication table using while.
- Calculate the sum of even numbers between 1 and 100.
Day 10: For Loop
- Print Fibonacci series using for loop.
- Display squares of numbers from 1 to 20.
Day 11: Break and Continue
- Use break to stop a loop when the number is divisible by 7.
- Use continue to skip numbers divisible by 3.
Day 12: Arrays
- Store 10 student scores in an array and calculate the average.
- Find max and min scores from an array.
Day 13: Structures
- Create a Student structure with fields: ID, name, age, score.
- Store and display 3 student records.
Day 14: Mini Project 1
- *Student Bio Manager*: Input and display multiple student profiles using structures and arrays.
Week 3: Functions, Pointers & Recursion
Day 15: Functions
- Write a function that returns the square of a number.
- Create functions for addition, subtraction, multiplication, and division.
Day 16: Function Parameters
- Create a function that checks if a number is prime using parameters.
- Use pass-by-value and pass-by-reference.
Day 17: Scope
- Demonstrate global vs local variables with a grade calculator.
- Use a static variable to count function calls.
Day 18: Recursion
- Write a recursive function to calculate factorial.
- Recursively sum the first N natural numbers.
Day 19: References
- Create a function that swaps two numbers using references.
- Explain how reference variables work with examples.
Day 20: Pointers
- Use pointers to print addresses and values of variables.
- Dynamically allocate an array and free memory.
Day 21: Function Overloading
- Create overloaded functions for sum(int, int) and sum(float, float).
- Build a calculator using overloaded functions.
Week 4: Object-Oriented Programming Basics
Day 22: Classes & Objects
- Create a Book class with attributes: title, author, and display function.
- Create objects and access class members.
Day 23: Class Methods
- Add methods to calculate discount on a book.
- Use setters and getters to manipulate data.
Day 24: Constructors
- Add default and parameterized constructors to a Course class.
- Display the initialization process.
Day 25: Access Specifiers
- Demonstrate private, public, and protected using a BankAccount class.
- Create validation logic for deposits.
Day 26: Encapsulation
- Create a StudentRecord class that uses setters and getters.
- Hide the GPA calculation logic using encapsulation.
Day 27: Inheritance
- Base class: Person. Derived class: Teacher.
- Demonstrate reuse and inheritance features.
Day 28: Polymorphism
- Use method overriding to create a shape-drawing tool.
- Create a base class Shape and derive Circle, Rectangle.
Week 5: Advanced Concepts & Final Project
Day 29: Enums
- Create an enum for exam results: FAIL, PASS, DISTINCTION.
- Use enums in a student grading system.
Day 30: Mini Project 2
- *Course Registration System*: Use classes, inheritance, and encapsulation.
- Input: student info, course selection.
- Output: course list, student confirmation.
- Include: enums for course levels.
Day 31: File I/O (Bonus)
- Save student data to a .txt file using ofstream.
- Read and display from file using ifstream.
Day 32: Group Coding Day
- In groups of 2-3: Implement a class-based billing system for a local shop.
- Include products, prices, quantities, and bill generation.
Day 33: Revision Day
- Review all concepts: practice OOP questions.
- Explain this pointer and object life cycle.
Day 34: Mock Test (Practical)
- Solve a mix of function, OOP, and pointer questions in a timed setting.
Day 35: Final Project Presentation
- *Student Result Management System*:
- Add, modify, and view student results.
- Use: classes, inheritance, file I/O, and arrays.
- Bonus: GPA calculator.