K. L. E.
SOCIETY’S
K. L. E. INSTITUTE OF TECHNOLOGY,
Opp. Airport, Gokul, Hubballi-580 027
Phone: 0836-2232681 Website: www.kleit.ac.in
A Mini Project Report on
“Student Management System”
Computer Science and Engineering
Semester I
Principles Of C Programming (BPOPS103)
Academic Year 2023-24
Submitted By
Ms.Spoorti Inganalli (USN: 2KE23CS065)
Ms.Srujana Sajjanar(USN: 2KE23CS093)
Mr. Suhas Gosal (USN: 2KE23CS097)
Mr. Sujal Ullagaddi (USN: 2KE23CS017)
Under the Guidance of
Prof.Kavita. M
Department of Computer Science & Engineering
K. L. E. SOCIETY’S
K. L. E. INSTITUTE OF TECHNOLOGY,
Opp. Airport, Gokul, Hubballi-580 027
Phone: 0836-2232681 Website: www.kleit.ac.in
CERTIFICATE
Certified that the mini project work entitled “Student Management
System” is a bonafide work carried out by Ms. .Spoorti Inganalli , bearing USN
number 2KE23CS065 , Ms. .Srujana Sajjanar , bearing USN number
2KE23CS093, Mr. Suhas Gosal, bearing USN number 2KE23CS097,Mr.Sujal
Ullagaddi, bearing USN number 2KE23CS017, in partial fulfillment for the award
of degree of Bachelor of Engineering in I Semester, Computer Science and
Engineering of Visvesvaraya Technological University, Belagavi, during the
year 2023-24. It is certified that all corrections/suggestions indicated for internal
assessment have been incorporated in the report deposited in the department
library.
Signature of the Guide
(Prof.Kavita M)
ACKNOWLEDGEMENT
The mini project report on “Student Management System” is the outcome of
guidance, moral support and devotion bestowed on me throughout my work. For this I
acknowledge and express my profound sense of gratitude and thanks to everybody who
has been a source of inspiration during the project work.
First and foremost, I offer my sincere phrases of thanks with innate humility to our
Principal Dr. Sharad G. Joshi who has been a constant source of support and
encouragement. I would like to thank our Dean Academics Dr. Manu T.M for his
constant support and guidance. I feel deeply indebted to our H.O.D. Dr. Yerriswamy
T. for the right help provided from the time of inception till date. I would take this
opportunity to acknowledge our Guide Prof.Kavitha.M who not only stood by us as a
source of inspiration, but also dedicated his/her time for me to enable me to present the
project on time.
Last but not the least, I would like to thank my parents, friends & well-wishers who
have helped me in this work.
Name of the Student:
Ms. Spoorti Inganalli
Ms. Srujana Sajjanar
Mr. Suhas Gosal
Mr. Sujal Ullagaddi
INDEX
Contents Page no.
1. INTRODUCTION 1
1.1 Project Overview
1.2 Introduction to C Programming
1.3 Application of C Programming
1.4 Flowchart and Algorithm
2. Project Definition 10
3. Program Tracing 13
4.Requirements 15
5. Implementation 18
6. Snapshots 37
7. Conclusion 40
REFERENCES 41
Mini Report on “Student Management System”
CHAPTER 1
INTRODUCTION
1.1 Project Overview:
In the dynamic landscape of educational institutions, the efficient management of
student information plays a pivotal role in ensuring smooth administrative processes,
informed decision-making, and personalized student support. The Student Management
System (SMS) presented herein is a comprehensive solution designed to address the
diverse needs of educational institutions in managing and organizing student-related
data.
• Project Name: Student Management System
Objective:
The primary objective of the Student Management System is to provide a robust and
user-friendly platform for educational institutions to manage, store, and retrieve student
information effectively. The system aims to streamline administrative tasks, enhance
data security, and facilitate informed decision-making by offering a centralized
repository of accurate and up-to-date student records.
Key Features:
1)Efficient Student Information Management:
• The system enables the seamless organization and storage of student
information, ranging from personal details to academic records.
2)User Authentication and Access Control:
• Ensuring the security of sensitive information, the system implements a user
authentication mechanism with different access levels to control and restrict
data access based on user roles.
Dept. of C.S.E. 1 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
3)CRUD Operations for Student Records:
• The system supports essential CRUD operations, allowing administrators to add
new records, modify existing ones, view individual and collective student
information, and delete outdated records.
4)Individual and Collective Views:
• Users have the ability to access both individual and collective views of student
information. This ensures personalized attention to specific students while also
providing comprehensive overviews of entire student populations.
5)Password Change Functionality:
• The inclusion of a secure password change functionality encourages users to
regularly update their passwords, contributing to overall system security.
6)Data Security and Privacy:
• Stringent measures are in place to safeguard student data, including encryption
of sensitive information and secure file handling practices to uphold data
security and privacy standards.
7)User-Friendly Interface:
• The system features an intuitive and user-friendly interface designed to enhance
user experience, reduce errors, and minimize the learning curve for users.
8)Scalability and Future Improvements:
• Developed with scalability in mind, the system is designed to accommodate
future enhancements and updates, ensuring its adaptability to evolving
technological and organizational requirements.
Benefits:
• Efficiency Gains: Streamlining administrative processes and reducing
paperwork led to time and resource savings.
• Enhanced Security: Implementation of robust security measures ensures the
confidentiality and integrity of student data.
• User Satisfaction: A user-friendly interface contributes to user satisfaction and
ease of adoption.
• Informed Decision-Making: Access to accurate and up-to-date student
information empowers administrators in making informed decisions.
Dept. of C.S.E. 2 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
• Compliance: The system aligns with data protection regulations, ensuring
compliance with privacy and security standards.
In essence, the Student Management System serves as a pivotal tool for educational
institutions seeking to leverage technology for improved student management,
administrative efficiency, and data security. The features and benefits outlined in this
overview lay the foundation for a comprehensive solution designed to meet the
dynamic challenges of modern educational environments.
1.2 Introduction to C Programming:
C is a versatile and widely used programming language that was originally developed
in the early 1970s at Bell Labs by Dennis Ritchie. It's known for its efficiency, low
level capabilities, and direct hardware access, which makes it a popular choice for
system programming, embedded systems, and high-performance applications. Learning
C can provide a strong foundation for understanding computer architecture and
programming concepts.
Here are some key concepts and features of C programming:
• Syntax and Structure: C programming follows a structured syntax that
consists of functions, variables, data types, and control structures. The basic
structure of a C program includes a main function (main()) where the program
execution starts.
• Data Types: C provides basic data types such as integers (int), floating-point
numbers (float and double), characters (char), and more. Additionally, it allows
you to define custom data types using structures and Enums.
• Variables and Constants: Variables are used to store data values in memory,
and constants are used to represent fixed values that don't change during
program execution.
• Operators: C supports a variety of operators for performing mathematical,
logical, and bitwise operations. These include arithmetic operators (+, -, *, /,
Dept. of C.S.E. 3 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
%), relational operators (<, >, <=, >=, ==, !=), logical operators (&&, ||, !)
• Control Structures: C provides control structures like loops and conditionals
for controlling the flow of a program. Common loops include for, while, and
do-while, while conditionals include if, else if, and switch.
• Functions: Functions in C allow you to break down your program into smaller,
modular pieces of code. The main() function is the entry point, but you can
define your own functions to perform specific tasks.
• Pointers: Pointers are a powerful feature of C that allow you to work with
memory addresses directly. They are essential for tasks like dynamic memory
allocation and building data structures.
• Arrays: Arrays are collections of elements of the same data type. They provide
a way to store multiple values under a single name.
• Strings: In C, strings are represented as arrays of characters terminated by a
null character ('\0'). String manipulation functions are available in the standard
library.
• Memory Management: C gives you control over memory management, which
can be both an advantage and a challenge. It allows you to allocate and
deallocate memory dynamically using functions like malloc() and free().
• Preprocessor Directives: Preprocessor directives start with a hash symbol (#)
and are processed before the actual compilation. They are used for including
header files, defining macros, and performing conditional compilation.
• Standard Library: C comes with a standard library (stdio.h, stdlib.h, math.h,
etc.) that provides functions for various tasks, such as input/output, memory
allocation, mathematical calculations, and more.
Learning C programming involves understanding these fundamental concepts and
practicing coding. It's important to write correct and efficient code while paying
attention to memory management to avoid issues like memory leaks and segmentation
faults. As you gain proficiency in C, you can explore more advanced topics like data
structures, pointers to functions, and bitwise manipulation. C programming is versatile
and widely used across various domains, from system-level development to
applications requiring high performance and efficiency.
Dept. of C.S.E. 4 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
1.3 Application of C Programming:
• System Software Development:
C is extensively used in the development of operating systems like UNIX and
Linux. System-level tasks, such as memory management and process control,
benefit from C's efficiency and low-level capabilities.
• Embedded Systems:
C is the primary language for embedded systems programming.
Microcontrollers, IoT devices, and firmware for various electronic devices are
often programmed in C.
• Compilers and Interpreters:
C is commonly used to write compilers and interpreters for other programming
languages. The efficiency of C contributes to the performance of these language
processing tools.
• Game Development:
C is widely employed in the gaming industry for developing high-performance
games. Game engines and graphics libraries often use C for efficiency and
direct hardware control.
• Database Management Systems (DBMS):
Database systems like MySQL, PostgreSQL, and SQLite use C for their core
functionality. Efficient data manipulation and storage are critical in these
systems.
• Network Programming:
C is used to develop network-based applications and protocols. Its low-level
socket programming capabilities make it suitable for creating networking tools
and applications.
• Device Drivers:
C is the language of choice for writing device drivers. These drivers facilitate
communication between hardware devices and the operating system, requiring
direct control over hardware resources.
• Scientific and Numerical Computing:
C is employed in scientific research and numerical simulations where
Dept. of C.S.E. 5 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
computational efficiency is crucial. It is used for tasks such as simulations, data
analysis, and algorithm development.
• Security Software:
Security applications and tools, including antivirus programs, firewalls, and
encryption software, often use C. The low-level control provided by C is
essential for developing robust security solutions.
• Application Software Development:
While not as common for application development as some high-level
languages, C is still used for developing standalone applications, particularly
those requiring high performance and efficiency.
• Graphics and Multimedia Applications:
C is utilized in graphics libraries and multimedia applications for tasks such as
image processing and rendering. Its efficiency is crucial for real-time graphics
and multimedia processing.
• Artificial Intelligence (AI):
Some AI applications leverage C for performance-critical components.
Although high-level languages are often used for AI, C can be employed in
areas demanding computational efficiency.
• Medical Software:
C is utilized in developing medical software for tasks such as image analysis,
patient monitoring systems, and diagnostic tools.
• Financial Software:
C is used in financial applications, including algorithmic trading systems, risk
management software, and financial modeling tools.
• Educational Tools:
Programming environments, compilers, and educational software are often
developed using C due to its efficiency and versatility.
In summary, the versatility, efficiency, and low-level capabilities of C make it a
suitable choice for a wide range of applications across different industries. Its impact is
particularly prominent in system-level programming, embedded systems, and
performance-critical domains.
Dept. of C.S.E. 6 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
1.4 Flowchart and Algorithm:
1.4.1 Flowchart:
Dept. of C.S.E. 7 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
1.4.2 Algorithm:
1. Initialize System:
- Initialize the database file (DB_FILE) and password file (PASSWORD_FILE).
- Set up necessary constants and structures.
2. Login:
- Display a login screen.
- Prompt the user for the password.
3. First Login Check:
- Check if it's the first login.
- If yes:
- Prompt the user to press ENTER.
- Allow the user to set a new password.
- Save the new password to the password file.
- If no:
- Compare the entered password with the stored password from the file.
- If correct, proceed to the next step.
- If incorrect, display an error message and exit.
4. Database Initialization:
- Load the database file (DB_FILE) if it's not the first login.
5. Welcome Message and Loading Animation:
- Display a welcome message.
- Display a loading animation.
6. Main Menu Loop:
- Display the main menu with options:
a. Add Student
b. Modify Student
c. Show All Students
d. Individual View
e. Remove Student
f. Change Password
g. Logout
- Continuously prompt the user for an option.
Dept. of C.S.E. 8 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
7. Switch Cases for Options:
- For each option:
• Case 'a': Add Student
- Prompt user for student details.
- Calculate CGPA and save the student record to the database.
• Case 'b': Modify Student
- Prompt user for the roll number to identify the student.
- Display existing information and allow the user to enter new data.
- Update the record in the database.
• Case 'c': Show All Students
- Display a formatted list of all students and their information.
• Case 'd': Individual View
- Prompt user for a roll number.
- Display information for the specified student.
• Case 'e': Remove Student
- Prompt user for the roll number to identify the student to be removed.
- Delete the student record from the database.
• Case 'f': Change Password
- Prompt user for a new password and confirm.
- Save the new password to the password file.
• Case 'g': Logout
- Display a logout message and exit the program.
8. Repeat:
- Repeat the menu loop until the user chooses to logout.
Dept. of C.S.E. 9 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CHAPTER 2
PROJECT DEFINITION
2.1 Purpose and scope:
Purpose:
The purpose of the Student Management System is to provide a computerized platform
for managing student records in an educational institution. The system aims to
streamline administrative tasks related to student information, such as adding new
students, modifying existing records, viewing individual and all student details,
removing students, changing passwords, and logging out.
The system serves the following key purposes:
• Record Management: Maintain accurate and organized records of student
information, including names, departments, roll numbers, SGPA for each
semester, and overall CGPA.
• User Authentication: Ensure secure access to the system through password
protection. Allow users to change their passwords for security reasons.
• Efficient Data Handling: Enable efficient handling and manipulation of student
data, making it easy for administrators to perform tasks related to student
records.
• User-Friendly Interface: Provide a user-friendly interface for administrators to
interact with the system, making it intuitive and accessible.
• Automation of Tasks: Automate common administrative tasks such as
calculating CGPA based on semester SGPA and managing records in a
database.
• Individual and Batch Operations: Allow administrators to view individual
student details or display information for all students in a structured manner.
Dept. of C.S.E. 10 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
• Data Integrity: Ensure data integrity by implementing features for modifying
and deleting student records securely.
Scope:
The scope of the Student Management System includes the following functionalities:
1)User Login and Authentication:
• Users are required to log in with a password.
• First-time users can set a new password.
2)Student Record Management:
• Add new student records with details such as name, department, roll number,
and SGPA for each semester.
• Modify existing student records to update information.
• View individual student details, including calculated CGPA.
3)Batch Operations:
• Display a list of all students with their information.
• Allow administrators to remove a student from the records.
4)Security:
• Implement password protection to ensure only authorized users can access and
modify student records.
• Allow users to change their passwords.
5)User Interface:
• Provide a visually appealing and user-friendly interface for administrators.
6)Efficiency:
• Automated CGPA calculation based on SGPA for each semester.
Dept. of C.S.E. 11 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
• Streamline common administrative tasks related to student records.
7)Change Password:
• Allow users to change their passwords for security reasons.
8)Logout:
• Provide a logout option to exit the system securely.
The system is designed to enhance the efficiency of managing student records in an
educational institution, providing a centralized and computerized solution for
administrators. It focuses on user convenience, data accuracy, and secure access to
student information.
Dept. of C.S.E. 12 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CHAPTER 3
PROGRAM TRACING
Test Case 1: Login
• Input: Existing password saved in the Password.txt file.
• Expected Output: Successful login and access to the main menu.
Test Case 2: First-Time Login
• Input: First-time login, press ENTER.
• Expected Output: Prompt for a new password, save it in the Password.txt file,
and grant access to the main menu.
Test Case 3: Incorrect Password
• Input: Enter an incorrect password.
• Expected Output: Display an error message and exit the program.
Test Case 4: Add Student
• Input: Choose the "Add Student" option, enter student details.
• Expected Output: Successfully add a student record to the database.
Test Case 5: Modify Student
• Input: Choose the "Modify Student" option, enter a valid roll number, and
update student details.
• Expected Output: Successfully modify the student's information in the database.
Test Case 6: Show All Students
• Input: Choose the "Show All Students" option.
• Expected Output: Display a formatted list of all students with their information.
Dept. of C.S.E. 13 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
Test Case 7: Individual View
• Input: Choose the "Individual View" option, enter a valid roll number.
• Expected Output: Display detailed information for the specified student.
Test Case 8: Remove Student
• Input: Choose the "Remove Student" option, enter a valid roll number.
• Expected Output: Remove the specified student record from the database.
Test Case 9: Change Password
• Input: Choose the "Change Password" option, enter a new password.
• Expected Output: Save the new password in the Password.txt file.
Test Case 10: Logout
• Input: Choose the "Logout" option.
• Expected Output: Display a logout message and exit the program.
Test Case 11: Incorrect Option
• Input: Enter an invalid option in the main menu.
• Expected Output: Display a message indicating that no action is detected and
prompt for any key press.
Dept. of C.S.E. 14 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CHAPTER 4
REQUIREMENTS
4.1 System Requirements of the Project:
➢ Processor:
o Minimum: 1 GHz or faster.
o Recommended: 2 GHz or faster dual-core.
➢ Memory (RAM):
o Minimum: 512 MB.
o Recommended: 1 GB or more.
➢ Storage:
o Minimum: 50 MB free space (mostly for the operating system, development
tools, and the program itself).
o Recommended: 500 MB or more (to accommodate larger projects, multiple
versions, or additional libraries).
➢ Monitor:
o A monitor with a minimum resolution of 1024x768 for clear code readability
and ease of use.
➢ Keyboard and Mouse:
o Standard input devices for writing and testing the code.
➢ Operating systems:
o Windows 7 or later, MACOS, and UBUNTU.
Dept. of C.S.E. 15 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
4.2 Other Requirements:
• C Compiler:
A C compiler is required to compile and build the source code. The program is written
in the C programming language. A commonly used compiler for Windows is GCC
(GNU Compiler Collection). For other platforms, appropriate C compilers should be
used.
• Operating System:
The program is designed to run on a Windows operating system. If you intend to run it
on a different operating system (e.g., Linux or macOS), modifications to the source
code may be necessary to ensure compatibility with the target OS.
• Text Editor or Integrated Development Environment (IDE):
A text editor or an integrated development environment is needed for viewing, editing,
and compiling the source code. Examples include Notepad, Visual Studio Code,
Code:Blocks, or any other C-compatible IDE.
• Console or Command Prompt:
The program relies on console-based input and output. Ensure that the target system has
a functioning console or command prompt for user interaction.
• File Handling Support:
The program uses file operations to read and write data to text files (db.txt and
Password.txt). Ensure that the system's file handling capabilities are supported.
• Windows API:
The use of Windows-specific headers (windows.h) and functions (SetConsoleTitle(),
gotoxy(), getch()) indicates a dependency on the Windows API. If the program is to be
run on a different platform, these functionalities may need to be adapted or replaced.
Dept. of C.S.E. 16 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
• Password Protection:
The program features a simple password system stored in a file (Password.txt). Ensure
that the system supports password file creation and manipulation.
• Console Clearing and Color:
The program uses console commands for clearing the screen (system("cls")) and setting
text color (system("color ...")). These commands may need adjustment for
compatibility with different systems.
• Database File Handling:
The program uses a database file (db.txt) to store student records. The system should
support file handling operations for reading and writing data.
• Library Dependencies:
Check for any additional library dependencies, especially if using a specific IDE or
compiler.
Dept. of C.S.E. 17 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CHAPTER 5
IMPLEMENTATIONS
5.1 Program:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
#include<windows.h>
#define MAX_SGPA 8
#define MAX_NAME 100
#define MAX_DEPT 50
#define DB_FILE "db.txt"
#define PASSWORD_FILE "Password.txt"
#define Student struct Stud
void add(FILE *fp);
void modify(FILE *fp);
void display(FILE *fp);
void individual(FILE *fp);
void password();
FILE *del(FILE *fp);
void printChar(char ch, int n);
Dept. of C.S.E. 18 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
void title();
void gotoxy(int x, int y);
struct pass
char pass[25];
} pa;
struct Stud
char name[MAX_NAME];
char dept[MAX_DEPT];
int roll;
float sgpa[MAX_SGPA];
float cgpa;
};
int main()
int option;
char pas[50];
SetConsoleTitle("Student Management System | DIU");
FILE *fp;
Student s;
int k = 0, i;
Dept. of C.S.E. 19 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
if ((fp = fopen(DB_FILE, "rb+")) == NULL)
if ((fp = fopen(DB_FILE, "wb+")) == NULL)
printf("Can't create or open Database.");
return 0;
system("color 9f");
gotoxy(42, 8);
printf("\t\t *LOGIN*\n\t\t\t\t\t (If it's the first login,press ENTER)");
gotoxy(42, 10);
printf("____________________________________");
gotoxy(42, 11);
printf("|\tEnter password : |");
gotoxy(42, 12);
printf("|__________________________________|");
gotoxy(65, 11);
while (k < 10)
pas[k] = getch();
char s = pas[k];
Dept. of C.S.E. 20 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
if (s == 13)
break;
else
printf("*");
k++;
pas[k] = '\0';
FILE *tp;
tp = fopen(PASSWORD_FILE, "r+");
fgets(pa.pass, 25, tp);
if (strcmp(pas, pa.pass) == 0)
{system("cls");
gotoxy(10,3);
for(i=0; i<3; i++)
printf(" \t(*_*)");
Sleep(500);
printf("\t<<<< Loading Please Wait >>>>");
for(i=0; i<3; i++)
printf("\t(*_*)");
Dept. of C.S.E. 21 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
Sleep(500);
printf(" \n\n\n\n\n\t\t\t\t\t * * * * * * * *");
printf("\n\n\t\t\t\t\t * *");
printf("\n\n\t\t\t\t\t * Welcome *");
printf("\n\n\t\t\t\t\t * *");
printf("\n\n\t\t\t\t\t * * * * * * * *");
printf("\n\n\n\n\n\t\t\t\t\tPress any key to continue...... ");
getch();
title();
printf("\n\n\t\t\t 1ST SEMESTER C LANGUAGE PROJECT");
printf("\n\n\t\t\t\t B9 Team");
printf("\n\n\t\t\t KLE INSITUTE OF TECHNOLOGY \n\t\t\t");
printChar('=',38);
printf("\n\n\n\t\t\t press any key to Enter");
getch();
while(1)
title();
printf("\n\t");
printChar('*',64);
printf("\n\n\t\t\t\t1. Add Student");
Dept. of C.S.E. 22 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
printf("\n\n\t\t\t\t2. Modify Student");
printf("\n\n\t\t\t\t3. Show All Student");
printf("\n\n\t\t\t\t4. Individual View");
printf("\n\n\t\t\t\t5. Remove Student");
printf("\n\n\t\t\t\t6. Change Password");
printf("\n\n\t\t\t\t7. Logout\n\t");
printChar('*',64);
printf("\n\n\t\t\t\tEnter Your Option :--> ");
scanf("%d",&option);
switch(option)
case 1:
add(fp);
break;
case 2:
modify(fp);
break;
case 3:
display(fp);
break;
case 4:
Individual(fp);
Dept. of C.S.E. 23 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
break;
case 5:
fp=del(fp);
break;
case 6:
system("cls");
system("color 1F");
password();
break;
case 7:
return 1;
break;
default:
printf("\n\t\tNo Action Detected");
printf("\n\t\tPress Any Key\n\n\n");
getch();
system("pause");
else
Dept. of C.S.E. 24 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
printf("\t\tWrong Password. Get Out");
getch();
return 1;
void gotoxy(int x, int y)
COORD CRD;
CRD.X = x;
CRD.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CRD);
void password()
char c;
FILE *tp;
printf("\nEnter new password: ");
fflush(stdin);
gets(pa.pass);
printf("\nSave password (y/n): ");
fflush(stdin);
scanf("%c", &c);
Dept. of C.S.E. 25 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
if (c == 'y' || c == 'Y')
tp = fopen(PASSWORD_FILE, "w+");
if (tp == NULL)
printf("Error opening password file.\n");
return;
fwrite(&pa, sizeof(pa), 1, tp);
fclose(tp);
printf("\nPassword Saved\n");
else
printf("Password not saved.\n");
printf("Press any key to continue >>>");
getch();
void printChar(char ch,int n)
Dept. of C.S.E. 26 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
while(n--)
putchar(ch);
void title()
system("cls");
system("COLOR 03");
printf("\n\n\t");
printChar('=',19);
printf(" Student Management System ");
printChar('=',19);
printf("\n");
void add(FILE * fp)
title();
char another='y';
Student s;
int i;
float cgpa;
Dept. of C.S.E. 27 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
fseek(fp,0,SEEK_END);
while(another=='y'||another=='Y')
printf("\n\n\t\tEnter Full Name of Student: ");
fflush(stdin);
fgets(s.name,100,stdin);
s.name[strlen(s.name)-1]='\0';
printf("\n\n\t\tEnter Department Name: ");
fflush(stdin);
fgets(s.dept,50,stdin);
s.dept[strlen(s.dept)-1]='\0';
printf("\n\n\t\tEnter the Roll number: ");
scanf("%d",&s.roll);
printf("\n\n\tEnter SGPA for 8 semesters\n");
for(i=0,cgpa=0; i<8; i++)
scanf("%f",&s.sgpa[i]);
cgpa+=s.sgpa[i];
cgpa/=8.0;
s.cgpa=cgpa;
fwrite(&s,sizeof(s),1,fp);
Dept. of C.S.E. 28 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
printf("\n\n\t\tAdd another student?(Y/N)?");
fflush(stdin);
another=getchar();
FILE * del(FILE * fp)
title();
Student s;
int flag=0,tempRoll,siz=sizeof(s);
FILE *ft;
if((ft=fopen("temp.txt","wb+"))==NULL)
printf("\n\n\t\t\t\\t!!! ERROR !!!\n\t\t");
system("pause");
return fp;
printf("\n\n\tEnter the Roll number of Student to Delete the Record");
printf("\n\n\t\t\tRoll No. : ");
scanf("%d",&tempRoll);
rewind(fp);
while((fread(&s,siz,1,fp))==1)
Dept. of C.S.E. 29 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
if(s.roll==tempRoll)
flag=1;
printf("\n\tRecord Deleted for");
printf("\n\n\t\t%s\n\n\t\t%s\n\n\t\t%d\n\t",s.name,s.dept,s.roll);
continue;
fwrite(&s,siz,1,ft);
fclose(fp);
fclose(ft);
remove("db.txt");
rename("temp.txt","db.txt");
if((fp=fopen("db.txt","rb+"))==NULL)
printf("ERROR");
return NULL;
if(flag==0) printf("\n\n\t\tNO STUDENT FOUND WITH THE INFORMATION\n\t");
printChar('-',65);
printf("\n\t");
Dept. of C.S.E. 30 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
system("pause");
return fp;
void modify(FILE * fp)
title();
Student s;
int i,flag=0,tempRoll,siz=sizeof(s);
float cgpa;
printf("\n\n\tEnter the Roll Number of Student to MODIFY the Record : ");
scanf("%d",&tempRoll);
rewind(fp);
while((fread(&s,siz,1,fp))==1)
if(s.roll==tempRoll)
flag=1;
break;
if(flag==1)
Dept. of C.S.E. 31 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
fseek(fp,-siz,SEEK_CUR);
printf("\n\n\t\t\t\tRecord Found\n\t\t\t");
printChar('=',38);
printf("\n\n\t\t\tStudent Name: %s",s.name);
printf("\n\n\t\t\tStudent Roll: %d\n\t\t\t",s.roll);
printChar('=',38);
printf("\n\n\t\t\tEnter New Data for the student");
printf("\n\n\t\t\tEnter the Full Name of Student: ");
fflush(stdin);
fgets(s.name,100,stdin);
s.name[strlen(s.name)-1]='\0';
printf("\n\n\t\t\tEnter Department: ");
fflush(stdin);
fgets(s.dept,50,stdin);
s.dept[strlen(s.dept)-1]='\0';
printf("\n\n\t\t\tEnter the Roll number: ");
scanf("%d",&s.roll);
printf("\n\n\t\tEnter the SGPA for 8 semesters\n");
for(i=0,cgpa=0; i<8; i++)
scanf("%f",&s.sgpa[i]);
cgpa+=s.sgpa[i];
Dept. of C.S.E. 32 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
cgpa=cgpa/8.0;
fwrite(&s,sizeof(s),1,fp);
else printf("\n\n\t!!!! ERROR !!!! RECORD NOT FOUND");
printf("\n\n\t");
system("pause");
void display(FILE * fp)
title();
Student s;
int i,siz=sizeof(s);
rewind(fp);
while((fread(&s,siz,1,fp))==1)
printf("\n\t\tNAME : %s",s.name);
printf("\n\n\t\tDepartment : %s",s.dept);
printf("\n\n\t\tROLL : %d",s.roll);
printf("\n\n\tSGPA: ");
for(i=0; i<8; i++)
printf("| %.2f |",s.sgpa[i]);
Dept. of C.S.E. 33 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
printf("\n\n\t\tCGPA : %.2f\n\t",s.cgpa);
printChar('-',65);
printf("\n\n\n\t");
printChar('*',65);
printf("\n\n\t");
system("pause");
void Individual(FILE *fp)
title();
int tempRoll, flag, siz, i;
Student s;
char another = 'y';
siz = sizeof(s);
while (another == 'y' || another == 'Y')
printf("\n\n\tEnter Roll Number: ");
scanf("%d", &tempRoll);
rewind(fp);
flag = 0;
while ((fread(&s, siz, 1, fp)) == 1)
Dept. of C.S.E. 34 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
if (s.roll == tempRoll)
flag = 1;
break;
if (flag == 1)
printf("\n\t\tNAME : %s", s.name);
printf("\n\n\t\tDepartment : %s", s.dept);
printf("\n\n\t\tROLL : %d", s.roll);
printf("\n\n\tSGPA: ");
for (i = 0; i < 8; i++)
printf("| %.2f |", s.sgpa[i]);
printf("\n\n\t\tCGPA : %.2f\n\t", s.cgpa);
printChar('-', 65);
else
printf("\n\n\t\t!!!! ERROR RECORD NOT FOUND !!!!");
Dept. of C.S.E. 35 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
printf("\n\n\t\tShow another student information? (Y/N)?");
fflush(stdin);
another = getchar();
5.2 Output:
=================Student Management System==============
************************************************************
1.Add Student
2.Modify Student
3.Show All Students
4.Individual View
5.Remove Student
6.Change Password
7.Logout
************************************************************
Enter Your Option :→||
------------------------------------------------------------------------------------------
Dept. of C.S.E. 36 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CHAPTER 6
SNAPSHOTS
6.1 Output:
Dept. of C.S.E. 37 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
Dept. of C.S.E. 38 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
Dept. of C.S.E. 39 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
CONCLUSION
In conclusion, the basic implementation of a console-based Student Management
System. While it successfully incorporates basic functionalities such as user
authentication, student record manipulation, and data display, there are areas for
improvement. The system could benefit from enhanced user interfaces, more
sophisticated data validation mechanisms, error handling during file operations, and
considerations for concurrent multi-user access. Additionally, implementing features
like logging, dynamic memory management, internationalization, and backup
mechanisms would contribute to the system's robustness, security, and adaptability to
real-world scenarios. Overall, further refinement is needed to elevate the system
beyond its current basic implementation to meet the complexities and standards of
comprehensive student management solutions.
Dept. of C.S.E. 40 K.L.E. I.T. Hubballi
Mini Report on “Student Management System”
REFERENCES
➢ "Database Systems: Design, Implementation, & Management" by Carlos
Coronel, Steven Morris, and Peter Rob: This book provides a comprehensive
understanding of database systems, which are often at the core of Student
Management Systems.
➢ "Software Engineering: A Practitioner's Approach" by Roger S. Pressman: This
book covers software engineering principles and practices, including the design and
development of information systems, which can be applied to student management
systems.
➢ "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson,
Ronald L. Rivest, and Clifford Stein: For those interested in the algorithms and data
structures used in managing student data efficiently, this book is a classic resource.
➢ "Data Structures and Algorithm Analysis in C" by Mark A. Weiss: This book
focuses on data structures and algorithms using C++, providing insights into
building efficient systems for managing student data.
➢ "Information Systems: A Manager's Guide to Harnessing Technology" by
John Gallaugher: This book is more focused on the managerial aspects of
information systems, which could be relevant for those overseeing the
implementation of Student Management Systems.
➢ GitHub-
• https://github.com/Suhas147/student-management-system.git
• https://github.com/SUJALMU/Student-Managment-System.git
➢ Coursera & Udemy-
• Many courses cover C programming, and some delve into specific topics like
matrix operations, although not always in one course.
Dept. of C.S.E. 41 K.L.E. I.T. Hubballi