0% found this document useful (0 votes)
3 views

OOP microproject

OOP microproject k scheme

Uploaded by

Shravani Padile
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

OOP microproject

OOP microproject k scheme

Uploaded by

Shravani Padile
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Report Card Generator

K. E. SOCIETY’S

Rajarambapu Institute of Technology (Polytechnic)


Lohegaon, Pune 47
Tal. Haveli, Dist. Pune 411047
Year 2024-25

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

2. Hindavi Sachin Thorat 100

3. Ummehaanee Akbar Shaikh 126

UNDER THE GUIDANCE OF


MRS. V. M. Gaikwad
P a g e 1 | 19
Report Card Generator

K. E. SOCIETY’S

Rajarambapu Institute of Technology (Polytechnic)


Lohegaon, Pune 47
Tal. Haveli, Dist. Pune 411047
Year 2024-25

CERTIFICATE
This is to certify that,

Sr. No. Name Middle Surname Roll No.


1. Shravani Dnyanoba Padile 97

2. Hindavi Sachin Thorat 100

3. Ummehaanee Akbar Shaikh 126


Students of Rajarambapu Institute of Technology (Polytechnic), Lohegaon have
satisfactorily completed the Micro Project work on “Report Card Generator” in partial
fulfillment of Diploma in Computer Engineering of Maharashtra State Board of Technical
Education, Mumbai during the academic year 2024-2025.

MRS. V. M. Gaikwad MR. V. B. Jadhav DR. K. H. Munde


Guide HOD Principal

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.

Sr. No. Name Middle Surname Roll No.


1. Shravani Dnyanoba Padile 97

2. Hindavi Sachin Thorat 100

3. Ummehaanee Akbar Shaikh 126

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

5. Source Code Page 9-11

6. Output Page 12

7. Flowchart Page 13

8. Resources Page 14

9. Conclusion Page 15

10. Reference Page 16

11. Action Plan Page 17

012. Evaluation Sheet Page 18-19

P a g e 4 | 19
Report Card Generator

2024-25

OBJECT ORIENTED PROGRAMMING


USING C++ (OOP)
313304

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>

using namespace std;

class Subject {

public:

string name;

float marks;

Subject(string name, float marks) : name(name), marks(marks) {}

};

class Student {

private:

string name;

int rollNo;

vector<Subject> subjects;

public:

Student(string name, int rollNo) : name(name), rollNo(rollNo) {}

void addSubject(string subjectName, float marks) {

subjects.push_back(Subject(subjectName, marks));

P a g e 9 | 19
Report Card Generator

float calculateTotalMarks() {

float total = 0;

for (const auto& subject : subjects) {

total += subject.marks;

return total;

float calculateAverageMarks() {

return calculateTotalMarks() / subjects.size();

void displayReportCard() {

cout << "-------------------------------------\n";

cout << "Report Card for " << name << " (Roll No: " << rollNo << ")\n";

cout << "-------------------------------------\n";

cout << setw(15) << "Subject" << setw(10) << "Marks" << endl;

cout << "-------------------------------------\n";

for (const auto& subject : subjects) {

cout << setw(15) << subject.name << setw(10) << subject.marks << endl;

cout << "-------------------------------------\n";

cout << "Total Marks: " << calculateTotalMarks() << endl;

cout << "Average Marks: " << calculateAverageMarks() << endl;

cout << "Grade: " << calculateGrade() << endl;

cout << "-------------------------------------\n";

string calculateGrade() {

float average = calculateAverageMarks();

if (average >= 90) return "A+";

else if (average >= 80) return "A";


P a g e 10 | 19
Report Card Generator

else if (average >= 70) return "B";

else if (average >= 60) return "C";

else if (average >= 50) return "D";

else return "F";

};

int main() {

string studentName = "John Doe";

int rollNo = 12;

Student student(studentName, rollNo);

vector<pair<string, float>> subjects = {

{"DBMS", 85.0},

{"OOP", 78.5},

{"DSU", 92.0},

{"DTE", 88.0}

};

for (const auto& subject : subjects) {

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

Course: OOP (313304) Program: CO-B(CO2k) Roll No.: 97,100,126

Week Duration Date Work/Activity Performed Sign of


No in Hrs. the
Faculty
1 3 Sept Project planning: Define objectives,
30, Oct scope, and requirements. Design class
1 structure (Student, Subject).
2 3 Oct 2, Implement core functionality: Methods
Oct 3 for adding subjects, calculating total and
average marks, and grade calculation.

3 2 Oct 5, Develop error handling: Input validation


Oct 6 for marks and subject names. Ensure
valid input ranges.
4 3 Oct 8, Testing and debugging: Test the program
Oct 9 with multiple inputs, fix bugs, and verify
correct grade calculations.
5 2 Oct 12, UI Improvements: Enhance report card
Oct 13 formatting, make output more readable
and user-friendly.
6 3 Oct 15, Final testing and optimization: Refactor
Oct 16 code for efficiency, test for edge cases,
and ensure no errors.
7 2 Oct 18, Documentation and ER Diagram: Finalize
Oct 19 project documentation, create ER
diagram, and submit for faculty approval.

8. - - - -
9. - - - -
10. - - - -

P a g e 17 | 19
Report Card Generator

MICROPROJECT EVALUATION SHEET

Academic year: 2024 – 25 Name of the Faculty: Prof. V. M. Gaikwad


Course: OOP Course code: 313304
Semester: III

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.

Comments/suggestions about teamwork /leadership/ inter-personal


communication (if any)
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………

P a g e 18 | 19
Report Card Generator

Marks Out of 6 Marks out of 4 for


for performance performance in oral Total out
Roll no. Student’s Name
in individual / presentation of 10
activity
97. Shravani Dnyanoba Padile

100. Hindavi Sachin Thorat

126. Ummehaanee Akbar Shaikh

P a g e 19 | 19

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy