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

Micro-project OOP

MSBTE micro-project of topic oop on the topic of Attendance Management system using C++ by Vaishnavi Dhuttarge
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Micro-project OOP

MSBTE micro-project of topic oop on the topic of Attendance Management system using C++ by Vaishnavi Dhuttarge
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

ATTENDANCE MANAGEMENT SYSTEM USING C++

1. Aim of the Microproject

The primary aim of developing an Attendance Management System using C++ is to create
an efficient software solution that facilitates the tracking and management of student
attendance in educational institutions. The system should support functionalities like:

i. Marking student attendance.


ii. Viewing and generating attendance reports for individual days.
iii. Storing attendance data in files for future reference.

2. Proposed Methodology

The methodology used to develop the Attendance Management System follows a systematic
approach:

1. Research and Information Gathering:

Analyzing existing attendance management practices and the functionalities offered


by similar systems. Understanding how C++ can be leveraged for such a task.

2. System Design:

Designing the architecture of the system, including class structures like Attendance,
FileOperations and the flow of the application. Defining the input-output
requirements and deciding on how attendance data would be stored and displayed.

3. Implementation:

Writing code to mark attendance, compute percentages of present/absent students, and


manage files for record storage. The system allows users to record and retrieve
attendance data based on dates.

4. Testing and Evaluation:

Testing the system by marking and retrieving attendance for various dates. Ensuring
that data is saved correctly in files and is retrievable accurately.

5. Report Compilation:

Structuring the information into a report format, including a description of the design,
the code implementation, resources used, and the results obtained.

SSWP/IF3K/2024-25 1 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

3. Action plan

Sr. Plan Start Plan Finish


Detail of activity Observations
No. Date Date

Came across various types of


Understanding
1 10/09/2024 12/09/2024 information through provided
Requirements
links form search engine

Defining the input-output


requirements and deciding on
2 System Designing 13/09/2024 15/09/2024
how attendance data would be
stored and displayed.

Studied about the topic and


searched questions for
3 Code implementation 16/09/2024 22/09/2024 attendance and implemented
the appropriate code using
C++ concepts.

Performed basic testing to


4 Testing and Finalizing 9/10/2024 13/10/2024 ensure the correctness of the
implemented functionalities

Finalized the report , After


5 Report Generation 14/10/2024 19/10/2024 confirmation the report was
printed.

SSWP/IF3K/2024-25 2 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

4. Brief Description of Microproject


4.1. Introduction
The Attendance Management System is an application designed to assist in the efficient
management of student attendance records. It enables teachers or administrators to record
student attendance by marking them present or absent. The system also calculates and
displays the attendance percentages of students and generates reports that can be stored or
viewed later.

4.2. Used Concepts

The system is developed using C++ and incorporates several fundamental programming
concepts:

i. Classes and Object-Oriented Design: The Attendance and FileOperations classes

are used to organize attendance data and manage file input/output.

ii. File Handling: Attendance records are stored in a text file using file streams

(ofstream).

iii. Input/Output Handling: It employs cin and cout to take input and display output,

ensuring a user-friendly interaction.

iv. Sound Alerts: The Beep() function from the windows.h library is used to sound an

alert when a student is marked present.

v. Functions and Inheritance: C++ supports inheritance, allowing derived classes to


extend base class functionality.

SSWP/IF3K/2024-25 3 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

4.3. Code implementation

#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
class Attendance
{
public:
int day, month, year, strength, absent, result, y;
float percentPresent, percentAbsent;
void percentage() {
percentPresent = (result * 100.0) / y;
percentAbsent = (absent * 100.0) / y;
}
void display()
{
cout << "Date: " << day << "/" << month << "/" << year << endl;
cout << "Total strength of the class: " << y << endl;
cout << "Total present students: " << result << endl;
cout << "Total absent students: " << absent << endl;
cout << "Percentage of present students: " << percentPresent << "%" << endl;
cout << "Percentage of absent students: " << percentAbsent << "%" << endl;
}
};
class Input : public Attendance
{
public:
int p, i;
void get()

SSWP/IF3K/2024-25 4 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

{
cout << "Enter date to mark attendance: " << endl;
cout << "Day: ";
cin >> day;
cout << "Month: ";
cin >> month;
cout << "Year: ";
cin >> year;
y = 0;
cout << "Enter strength of the class: ";
cin >> y;
result = 0;
for (i = 1; i <= y; i++) {
cout << "Roll number " << i << " is Present/Absent (1 for Present, 0 for Absent): ";
cin >> p;
Beep(1000, 300);
result = result + p;
}
absent = y - result;
percentage();
}
};
int main()
{
ofstream o;
o.open("Untitled.txt", ios::app);
int choice, target, size = 0, targetMonth, targetYear;
Input in[100];
do
{

SSWP/IF3K/2024-25 5 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

cout << "----------------------------------------------" << endl;


cout << "1. Attendance Sheet" << endl;
cout << "2. Attendance Marked Sheet" << endl;
cout << "3. Exit" << endl;
cout << "______________________________________________" << endl;
cout << "Enter your choice: ";
cin >> choice;
switch (choice) {
case 1:
cout << "Enter how many days of attendance you want to mark: ";
cin >> size;
for (int i = 0; i < size; i++) {
cout << "Marking attendance for day: " << i + 1 << endl;
in[i].get();
o << "Date: " << in[i].day << "/" << in[i].month << "/" << in[i].year << endl;
o << "Strength of the class: " << in[i].y << endl;
o << "Present students: " << in[i].result << endl;
o << "Absent students: " << in[i].absent << endl;
o << "Percentage of present students: " << in[i].percentPresent << "%" << endl;
o << "Percentage of absent students: " << in[i].percentAbsent << "%" << endl;
o << "___________________________________" << endl;
}
break;
case 2:
cout << "Enter the day on which you want to check the attendance: ";
cin >> target >> targetMonth >> targetYear;
for (int i = 0; i < size; i++)
{
if (target == in[i].day && in[i].month == targetMonth && in[i].year == targetYear) {
in[i].display();

SSWP/IF3K/2024-25 6 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

break;
}
}
break;
case 3:
cout << "Exiting." << endl;
break;
default:
cout << "Invalid choice!" << endl;
break;
}
} while (choice != 3);
o.close();
return 0;
}

SSWP/IF3K/2024-25 7 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

4.4. Output Design/ Data / Any other relevant information

SSWP/IF3K/2024-25 8 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

5. Actual Resources Used

Sr. no. Name of resource material Details

1 Text Book E Balagurusamy

Reference or Source Name/ Site


2 Internet
Name from Internet

3 Computer System (Hardware) Laptop

4 Computer System (Software) MS Word, Dev C++

SSWP/IF3K/2024-25 9 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

6. Skill Developed /Learning outcomes of this Micro-Project


I have learnt following things:-
i. Gain the basic deep knowledge about the C++ program.
ii. Learnt about classes, inheritance, file operation.
iii. Learnt handling project with appropriate time management.
iv. Solved the topic related problems.

7. Applications of the Microproject


i. Attendance Tracking: It can be used by schools, colleges, and universities to mark and
track student attendance on a daily basis, making the process more efficient.
ii. Report Generation: The system can generate reports detailing student attendance
percentages for specific dates, helping teachers and administrators monitor attendance
trends.

SSWP/IF3K/2024-25 10 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

8. Advantages

i. Efficiency: The system provides a fast and automated method for marking attendance
and generating reports, reducing the need for manual record-keeping.
ii. Object-Oriented Design: By using C++ and its object-oriented principles, the code is
modular, easy to maintain, and allows for scalability in the future.
iii. User-Friendly: The system is designed with a simple text-based interface, making it
accessible for non-technical users to mark attendance.
iv. Data Storage: The attendance data is stored in a file for future reference, allowing for
easy retrieval and review when needed.
v. Time-Saving: It significantly reduces manual efforts in marking attendance and
calculating percentages, which can be automated through this system

9. Disadvantages

i. Complexity: C++ can be more complex compared to higher-level programming


languages, which could be a learning curve for beginners.
ii. Manual Memory Management: The need for manual memory management can lead to
memory leaks or crashes if not handled carefully, though this project does not require
dynamic memory allocation.
iii. Limited User Interface: As a console-based application, the user interface is limited
and may not be as user-friendly as a GUI-based system.
iv. Data Security: Since the data is saved in plain text files, it could be prone to
unauthorized access if not secured.

SSWP/IF3K/2024-25 11 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

10. Flow chart


START

Display menu
1. Mark Attendance
2. View Attendance
3. Exit

Waits for user


option

View Mark
Attendance Attendance
Exit

Take the input as


No. of days to
date to display
attendance mark attendance
END OF THE and strength of
PROGRAM class

Mark each student


Display no.of Present
in class and save the
and absent students
data into txt file
also percentage of
present absent
students

Fig.1. Flow of Program

SSWP/IF3K/2024-25 12 of 13
Sub: Object Oriented programming using C++ (312303) Develop a Attendance Management System

11. Conclusion

In this report, developing an Attendance Management System using C++ offers an effective
solution for tracking and managing student attendance in educational institutions.

12. Reference

https://www.geeksforgeeks.org/c-plus-plus/

https://www.w3schools.com/cpp/

SSWP/IF3K/2024-25 13 of 13

You might also like