OOP microproject
OOP microproject
K. E. SOCIETY’S
A
Micro Project Report
On
“Report Card Generator”
Submitted in partial fulfillment of the requirements for
Diploma in COMPUTER ENGINEERING
Of
M.S.B.T.E., MUMBAI
By
Sr. No. Name Middle Surname Roll No.
1. Shravani Dnyanoba Padile 97
K. E. SOCIETY’S
CERTIFICATE
This is to certify that,
P a g e 2 | 19
Report Card Generator
ACKNOWLEDGEMENT
We take this opportunity to thank all those who have contributed in successful
completion of this micro project work. We would like to express our sincere thanks
to our guide, who has encouraged us to work on this topic and valuable guidance
wherever required.
We wish to express our thanks to MR. V. B. JADHAV, Head of Dept.
& DR. K. H. MUNDE, Principal, R.I.T.P., for their support and the help extended.
Finally, we are thankful to all those who extended their help directly or
indirectly in preparation of this report.
P a g e 3 | 19
Report Card Generator
INDEX
Sr. No. Title Page No.
1. Abstract Page 6
2. Introduction Page 7
3. Advantages Page 8
4. Disadvantages Page 8
6. Output Page 12
7. Flowchart Page 13
8. Resources Page 14
9. Conclusion Page 15
P a g e 4 | 19
Report Card Generator
2024-25
M I C R O P R O J E C T
P a g e 5 | 19
Report Card Generator
Abstract
This project is a C++ program that generates a report card for a student based on their subject
marks. It includes a Student class and a Subject class. The student can add subjects with their
corresponding marks, and the program calculates the total marks, average marks, and assigns a
grade based on the average.
P a g e 6 | 19
Report Card Generator
Introduction
The aim of this project is to develop a C++ program that efficiently handles student report card
generation using object-oriented programming concepts. It uses classes and vectors to store student
data and calculates the total and average marks. The program also determines the student's grade
based on predefined criteria.
P a g e 7 | 19
Report Card Generator
Advantages
1. Modularity: The code is organized into classes, making it easy to maintain and extend.
2. Reusability: The Student and Subject classes can be reused for other projects involving
student records.
3. User-Friendly: The program displays a clear report card format, making it easier for users
to interpret the results.
4. Automated Grade Calculation: The program automatically calculates the grade based on
the student's performance, reducing manual effort.
Disadvantages
1. Limited Functionality: This version only supports a fixed grading system and does not
handle edge cases like missing subjects or extra credit.
2. No User Input Validation: The program does not include error-checking for invalid input
like negative marks or non-numeric values.
3. Scalability: The program is designed for small-scale use. For larger student data, additional
data structures or database integration would be needed.
P a g e 8 | 19
Report Card Generator
Source Code
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
class Subject {
public:
string name;
float marks;
};
class Student {
private:
string name;
int rollNo;
vector<Subject> subjects;
public:
subjects.push_back(Subject(subjectName, marks));
P a g e 9 | 19
Report Card Generator
float calculateTotalMarks() {
float total = 0;
total += subject.marks;
return total;
float calculateAverageMarks() {
void displayReportCard() {
cout << "Report Card for " << name << " (Roll No: " << rollNo << ")\n";
cout << setw(15) << "Subject" << setw(10) << "Marks" << endl;
cout << setw(15) << subject.name << setw(10) << subject.marks << endl;
string calculateGrade() {
};
int main() {
{"DBMS", 85.0},
{"OOP", 78.5},
{"DSU", 92.0},
{"DTE", 88.0}
};
student.addSubject(subject.first, subject.second);
student.displayReportCard();
return 0;
P a g e 11 | 19
Report Card Generator
Output
P a g e 12 | 19
Report Card Generator
Flowchart
P a g e 13 | 19
Report Card Generator
Reference
1. Bjarne Stroustrup, The C++ Programming Language.
2. Scott Meyers, Effective C++.
3. IEEE Xplore, Automatic Grade Calculation.
4. cplusplus.com
5. GeeksforGeeks, Object-Oriented Programming in C++
6. ProgrammingKnowledge, C++ Tutorial for Beginners YouTube
7. CodeBeauty, C++ OOP Explained YouTube
P a g e 14 | 19
Report Card Generator
Conclusion
The project demonstrates how C++'s object-oriented features can be leveraged to handle student
data effectively. By using classes, constructors, and STL vectors, the program dynamically
manages subject data and automates the process of calculating total marks, average marks, and
assigning grades. This program can be further extended to include more complex functionalities
like batch processing of students, error handling, and integration with databases.
P a g e 15 | 19
Report Card Generator
Resources
1. Books:
oThe C++ Programming Language by Bjarne Stroustrup - A comprehensive guide
to C++ programming.
o Effective C++ by Scott Meyers - A practical guide to improving C++ code.
2. IEEE Research Papers:
o "Object-Oriented Programming with C++ for Educational Purposes" – IEEE
Xplore Link
o "Automatic Grade Calculation Using Object-Oriented Concepts" – IEEE Xplore
Link
3. Websites:
o C++ Reference Documentation - Official C++ Standard Library documentation.
o GeeksforGeeks - Detailed articles on C++ concepts, including OOP.
o W3Schools - Beginner-friendly tutorials for C++ basics and advanced topics.
4. YouTube Videos:
o ProgrammingKnowledge - C++ Tutorial for Beginners - A beginner's guide to
C++ programming.
o CodeBeauty - C++ Object-Oriented Programming - A detailed explanation of
OOP in C++.
o Simple Snippets - C++ OOP Concepts - Simple tutorials on object-oriented
programming in C++.
P a g e 16 | 19
Report Card Generator
Action Plan
Weekly Report
Name of the Project: Report Card Generator
8. - - - -
9. - - - -
10. - - - -
P a g e 17 | 19
Report Card Generator
Title of the Project: “Report Card Generator” COs addressed by Micro Project:
A. Apply object-oriented principles for effective data management.
B. Design modular and reusable code for real-world applications.
Major learning outcomes achieved by student by doing the project –
(a) Practical Outcome:
1) Developed object-oriented skills by designing classes for managing student data and
grades.
2) Enhanced proficiency in C++ by implementing file handling to store and access
report card records.
(b)Unit Outcomes in cognitive domain:
1) Applied object-oriented principles (like encapsulation and inheritance) to create a
well-structured report card system.
2) Improved logical thinking by designing algorithms for calculating and displaying
student performance.
(c)Outcomes in affective domain:
1) Demonstrated a commitment to quality and accuracy in project implementation.
2) Showed growth in collaboration skills by seeking feedback and refining the project.
P a g e 18 | 19
Report Card Generator
P a g e 19 | 19