You are on page 1of 18

Student Management System

Part - A Plane

1. Brief Description:

Create Design a program that manages student information using fundamental data
structuresFeatures:Student Record:Store student details such as name, roll number,
class, and grades.
2. Aim of the micro project:

Design a program that manages student information using fundamental data structures.

3. Course outcome address:

a. MUser selects option 1 to add a new student.


b. User provides student details (name, roll number, class, and grades).
c. System stores the information using an appropriate data structure.
d. User can then choose to perform other operations like updating, deleting, or searching
for a student.

4. Proposed methodology:

Begin with thorough requirement analysis. Design and implement using chosen
data structures. Rigorous testing for functionality and performance.
Optimize and gather user feedback for refinement. Document the system and
deploy, with a plan for maintenance and updates.

pg. 1 Swami Vivekananda Institute of Polytechnic


Student Management System

5. Action plane:

Sr.n Details of Planne Planne Name of


o.
activity d start d Finish Responsible
date date
Team
member
1.
Gathering the raw
information related
to
project
2.
Analysing and
writing
3. Nilawar Sumedh S.
Designing Narhare Sanket L.
4. Suryawanshi
Research and AbhishekV.
planning Suryawanshi Ajay R.
5.
Implement of
codding
6.
Testing of project
7.
Develop output
8.
Prepare report on
micro
project

6. Resources Used:

Sr.no Name of Resources Specification Quantity Remark

1 lapt Processor I- 1
op 5

2 Software Turbo C++ 1

3 Internet Google 1

7. Name of team member:


● Nilawar Sumedh S.

● Narhare Sanket L.

● Suryawanshi Abhishek V.
● Suryawanshi Ajay R.

pg. 2 Swami Vivekananda Institute of Polytechnic


Student Management System

Plane B- Outcomes After Execution

1. Rationale:

The Student Management System is crucial for modern educational institutions due to the escalating volume
of student data.

Manual record-keeping is prone to errors and inefficiencies, necessitating a structured digital solution. This
system aims to streamline administrative tasks, offering a centralized database for storing and managing
student information.

By employing fundamental data structures, it ensures efficient retrieval and manipulation of data, fostering a
deeper understanding of these structures in a real-world context. The project aligns with the broader goal of
embracing technology to enhance educational processes.

It addresses the need for a user-friendly interface to manage student records seamlessly. Overall, the
rationale lies in improving data accuracy, accessibility, and administrative efficiency in educational settings.

2. Aim of the micro project:

Thus, we can study about Student management using data structure.

3. Course Outcome Achieved:


I. Database Design:
Successfully designed a robust database schema for student information.
II. User Interface (UI):
Created an intuitive and user-friendly interface for easy navigation.
III. Functionality:
Implemented core functionalities such as student registration, attendance tracking, and grade
management.
IV. Data Validation:
Incorporated effective data validation techniques to ensure the accuracy and integrity of information.
V. Security Measures:
Implemented security measures to protect sensitive student data.
VI. Reports and Analytics:
Developed features for generating reports and analyzing student performance data.

pg. 3 Swami Vivekananda Institute of Polytechnic


Student Management System

VII. Actual Methodology followed:

1. Project Planning:
Define the scope and objectives of the student management system.
Identify key features and functionalities required.
2. Requirement Analysis:
Gather requirements from stakeholders, including users and administrators.
Identify data entities such as students, courses, and grades.
3. Database Design:
Design a relational database schema to store student information, courses, and related data.

⮚ Required component:

1. Authentication System:
● User Authentication Data Structure: Use a data structure (e.g., hash table) to
store and verify user credentials securely.
2. Functionality:
● Student Registration Logic: Code the logic to register new students, validate
input, and store information in the database.
● Attendance Tracking Logic: Implement functionality to record and update
student attendance.
● Grade Calculation Logic: Develop algorithms to calculate and manage
student grades.
3. Testing Module:
● Unit Testing: Test individual components, such as registration and
attendance tracking, to ensure they function as intended.
● Integration Testing: Test the entire system to verify that different
components work together seamlessly.
4. Documentation:
● Database Documentation: Provide documentation for the database schema,
explaining the purpose of each table and the relationships between them.
● Code Documentation: Comment your code to explain its functionality and
usage.
● User Guides: Create guides for administrators and end-users explaining how
to use the system.
pg. 4 Swami Vivekananda Institute of Polytechnic
Student Management System

I. Python:
Pygame, Tkinter, PyOpenGL.

II. Data Schema:


Define the structure of your database, including tables for students, courses,
grades, and any other relevant entities.
III. Data Storage:
Implement data structures within the database to efficiently store and retrieve
information. For example, use tables with primary keys and foreign keys for
relationships.

IV. User Interface:

Student Registration Form: A form for entering new student information.


Attendance Tracking Interface: An interface for recording and monitoring student
attendance.
Grade Management Interface: A section for inputting and managing student
grades.

V. Security Measures:
Data Encryption: If necessary, implement data encryption techniques to secure information.

VIII. Module Description of Analog clock Computer Graphics


Project in OpenGL.

 Main ():

In Prompts the user for authentication until successfully Enters a loop


student management options: Register a student.Mark attendance.Assign
grades.Display student information.Exit the program.

 Authenticate User ():

Authenticates the user based on the provided username and password.


Input Parameters: username and password to be checked against the hard-
coded credentials.
Struct Student* registerStudent ():

pg. 5 Swami Vivekananda Institute of Polytechnic


Student Management System

This Registers a new student by taking input for name, age, and marks.
Input Parameters: The head of the linked list of students.
Returns: The updated head of the linked list with the new student added.

 Mark Attendance ():

It allows marking attendance for each registered student (1 for present, 0 for
absent).Input Parameters: The head of the linked list of students.Side Effect:
Updates the attendance field for each student in the linked list.

 AssignGrades ():

It is used in the display function as glClearColor this is used to set color as


we are using 1.0 to all four colors than our clock is displayed with black
color. we change the color of the clock by using this function.

 DisplayStudents ():
Displays the information of all registered students, including name, age, marks,
𶐯 attendance, and grade.Input Parameters: The head of the linked list of students.

IX. Code for Student management systum

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Define the maximum number of
characters for username and password
#define MAX_USERNAME_LENGTH
50
#define MAX_PASSWORD_LENGTH
50
struct User {
char
username[MAX_USERNAME_LENGT
H];
char
password[MAX_PASSWORD_LENGT
H];
};
struct Student {
char name[50];
int age;
float marks;
int attendance;
char grade;
struct Student* next;
};
int authenticateUser(const char*
username, const char* password, const
struct User* user) {
return (strcmp(username, user-
>username) == 0 && strcmp(password,
user->password) == 0);
}
struct Student* registerStudent(struct
Student* head) {
struct Student* newStudent = (struct
Student*)malloc(sizeof(struct Student));
if (newStudent != NULL) {
printf("\n===== Student
Registration =====\n");
printf("Enter student name: ");
scanf("%s", newStudent->name);
printf("Enter student age: ");
scanf("%d", &newStudent->age);
printf("Enter student marks: ");
scanf("%f", &newStudent->marks);
newStudent->attendance = 0;
newStudent->grade = 'N';
newStudent->next = head;
head = newStudent;
printf("Student registered
successfully!\n");
} else {
printf("Memory allocation failed.
Cannot register a new student.\n");
}
return head;
}
void markAttendance(struct Student*
head) {
if (head != NULL) {
printf("\n===== Mark Attendance
=====\n");
struct Student* current = head;
while (current != NULL) {
printf("Is %s present? (1 for yes,
0 for no): ", current->name);
scanf("%d", &current-
>attendance);
current = current->next;
}
printf("Attendance marked
successfully!\n");
} else {
printf("No students registered.\n");
}}
void assignGrades(struct Student* head)
{
if (head != NULL) {
printf("\n===== Grade
Management =====\n");
struct Student* current = head;
while (current != NULL) {
printf("Assign grade for %s
(A/B/C/D/F): ", current->name);
scanf(" %c", &current->grade);
current = current->next;
}
printf("Grades assigned
successfully!\n");
} else {
printf("No students registered.\n");
}}
void displayStudents(const struct
Student* head) {
if (head != NULL) {
printf("\n===== List of Students
=====\n");
const struct Student* current =
head;
while (current != NULL) {
printf("Name: %s | Age: %d |
Marks: %.2f | Attendance: %s | Grade:
%c\n",
current->name, current->age,
current->marks,
(current->attendance == 1) ?
"Present" : "Absent",
current->grade);
current = current->next;
}
} else {
printf("No students registered.\n");
}}
void freeMemory(struct Student* head) {
struct Student* current = head;
while (current != NULL) {
struct Student* next = current-
>next;
free(current);
current = next;
}}
int main() {
// Hard-coded user credentials
struct User adminUser;
strcpy(adminUser.username,"sumedh");
strcpy(adminUser.password,"lagmaster")
;
charusername[MAX_USERNAME_LENG];
charpassword[MAX_PASSWORD_LENGTH];
// User authentication loop
int authenticated = 0;
do {
printf("Enter username: ");
scanf("%s", username);

printf("Enter password: ");


scanf("%s", password);

authenticated =
authenticateUser(username,password,&a
dminUser);
if (!authenticated) {
printf("Authentication failed.
Please try again.\n");
}
} while (!authenticated);
printf("Authentication successful.
Welcome, %s!\n", username);

// Student management loop


struct Student* head = NULL;
int choice;
do {
printf("\n===== Student
Management System =====\n");
printf("1. Register a Student\n");
printf("2. Mark Attendance\n");
printf("3. Assign Grades\n");
printf("4. Display Students\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);

switch (choice) {
case 1:
head = registerStudent(head);
break;
case 2:
markAttendance(head);
break;
case 3:
assignGrades(head);
break;
case 4:
displayStudents(head);
break;
case 5:
printf("Exiting Student
Management System. Goodbye!\n");
break;
default:
printf("Invalid choice. Please
enter a valid option.\n");
}
} while (choice != 5);
freeMemory(head);

return 0;

You might also like