Student Data Management in C++ - GeeksforGeeks
Student Data Management in C++ - GeeksforGeeks
Trending Now DSA Web Tech Foundational Courses Data Science Practice Problem Python M
Databases are being used in every aspect of our lives right now. Trillions
of bytes of data are being stored in servers around the world. SQL is
one of the most basic methods to use such a database. But have you
ever thought about using C++ to maintain such a database. In this post,
we will talk about implementing different views on a text file according
to the type of user and edit accordingly.
C++
int main()
{
// Considering the max length of data entered (name) to
https://www.geeksforgeeks.org/student-data-management-c/ 1/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
// be 15.
char data[15];
int n = 0, option = 0, count_n = 0;
// This is the initial mark allotted to a subject.
string empty = "00";
string proctor = "";
// Name of the file in which DB is stored.
ifstream f("Example.txt");
string line;
while (option != 6) {
// This prints out all the available options in the
// DB
cout << "\nAvailable operations: \n1. Add New "
"Students\n2."
<< "Student Login\n3. Faculty Login\n4. "
"Proctor Login\n5. Admin View\n"
<< "6. Exit\nEnter option: ";
cin >> option;
if (option == 1) {
cout << "Enter the number of students: ";
cin >> n;
count_n = count_n + n;
https://www.geeksforgeeks.org/student-data-management-c/ 2/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
else if (option == 2) {
char regno[9];
cout << "Enter your registration number: ";
cin >> regno;
ifstream infile;
int check = 0;
infile.open("Example.txt", ios::in);
infile.close();
check = 1;
}
}
if (check == 0) {
cout << "No such registration number found!"
<< endl;
}
https://www.geeksforgeeks.org/student-data-management-c/ 3/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
if (option == 1) {
cout
<< "Warning! You would need to add mark"
<< "details for all the students!"
<< endl;
for (int i = 0; i < count_n; i++) {
fstream file("Example.txt");
if (strcmp(subcode, code1.c_str())
== 0) {
file.seekp(26 + 37 * i,
std::ios_base::beg);
cout << "Enter the mark of student#"
<< (i + 1) << " : ";
cin >> mark;
file.write(mark.c_str(), 2);
}
if (strcmp(subcode, code2.c_str())
== 0) {
file.seekp(29 + 37 * i,
std::ios_base::beg);
cout << "Enter the mark of student#"
<< (i + 1) << " : ";
cin >> mark;
file.write(mark.c_str(), 2);
https://www.geeksforgeeks.org/student-data-management-c/ 4/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
}
}
}
else if (option == 2) {
infile.open("Example.txt", ios::in);
if (strcmp(subcode, code1.c_str()) == 0) {
cout << "Registration number - Marks\n"
<< endl;
while (infile >> data) {
cout << data;
infile >> data;
infile >> data;
cout << " - " << data << endl;
infile >> data;
infile >> data;
check = 1;
}
}
infile.close();
infile.open("Example.txt", ios::in);
if (strcmp(subcode, code2.c_str()) == 0) {
cout << "Registration number - Marks\n"
<< endl;
while (infile >> data) {
cout << data;
infile >> data;
infile >> data;
infile >> data;
cout << " - " << data << endl;
infile >> data;
check = 1;
}
}
}
infile.close();
if (check == 0) {
cout << "No such subject code found!"
<< endl;
}
}
https://www.geeksforgeeks.org/student-data-management-c/ 5/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
else if (option == 4) {
char procid[7];
cout << "Enter your proctor ID: ";
cin >> procid;
int check = 0;
char temp1[100], temp2[100], temp3[100];
char temp4[100], id[100];
ifstream infile;
infile.open("Example.txt", ios::in);
if (strcmp(id, procid) == 0) {
cout << "\nRegistration Number: "
<< temp1 << endl;
cout << "Name: " << temp2 << endl;
cout << "CSE1001 Mark: " << temp3
<< endl;
cout << "CSE1002 Mark: " << temp4
<< endl;
check = 1;
}
}
if (check == 0) {
cout << "No such proctor ID found!" << endl;
}
}
else if (option == 5) {
char password[25];
cout << "Enter the admin password: ";
cin >> password;
https://www.geeksforgeeks.org/student-data-management-c/ 6/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
if (strcmp(password, admin_pass.c_str()) == 0) {
cout << "Reg No. "
"\tName\tCSE1001\tCSE1002\tProctor "
"ID"
<< endl;
ifstream infile;
infile.open("Example.txt", ios::in);
char data[20];
Output:
Available operations:
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 1
Enter the number of students: 2
Enter your registration number: 15BCE2083
Enter your name: Dheeraj
Enter your proctor ID: 1001
Enter your registration number: 15BCE2082
Enter your name: Rohan
Enter your proctor ID: 1002
https://www.geeksforgeeks.org/student-data-management-c/ 7/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
Available operations:
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 3
Enter your subject code: CSE1001
Available operations:
1. Add data about marks
2. View data
Enter option: 1
Warning! You would need to add mark details for all the students!
Enter the mark of student#1 : 52
Enter the mark of student#2 : 89
No such subject code found!
Available operations:
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 5
Enter the admin password: admin
Reg No. Name CSE1001 CSE1002 Proctor ID
15BCE2083 Dheeraj 52 00 1001
15BCE2082 Rohan 89 00 1002
Available operations:
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 6
https://www.geeksforgeeks.org/student-data-management-c/ 8/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
------------------
(program exited with code: 0)
Press return to continue
Do note that I have set the pointer position according to the length of
the data I am entering in the text file. Some of the things which I had
assumed are the registration number is always 9 characters long,
subject code is either CSE1001/CSE1002, proctor ID is 4 characters
long, marks is just 2 characters long. You would need to change the
code accordingly if you want to enter some other type of data.
The next 90 Days of focus & determination can unlock your full
potential. The Three 90 challenge has started and this is your chance
to upskill and get 90% refund. What more motivation do you need?
Start the challenge right away!
Similar Reads
Student Information Management System
Prerequisites: Switch Case in C/C++ Problem Statement: Write a program
to build a simple Software for Student Information Management System…
14 min read
https://www.geeksforgeeks.org/student-data-management-c/ 9/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
7 min read
5 min read
4 min read
7 min read
10 min read
3 min read
7 min read
10 min read
5 min read
7 min read
8 min read
9 min read
10 min read
Given the data for Hotel management and User:Hotel Data: Hotel Name
Room Available Location Rating Price per RoomH1 4 Bangalore 5 100H…
7 min read
8 min read
14 min read
5 min read
8 min read
https://www.geeksforgeeks.org/student-data-management-c/ 12/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
9 min read
5 min read
7 min read
6 min read
4 min read
10 min read
5 min read
Registered Address:
K 061, Tower K, Gulshan Vivante
Apartment, Sector 137, Noida, Gautam
Buddh Nagar, Uttar Pradesh, 201305
Advertise with us
Company Explore
About Us Job-A-Thon Hiring Challenge
Legal Hack-A-Thon
Privacy Policy GfG Weekly Contest
Careers Offline Classes (Delhi/NCR)
In Media DSA in JAVA/C++
https://www.geeksforgeeks.org/student-data-management-c/ 14/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
Languages DSA
Python Data Structures
Java Algorithms
C++ DSA for Beginners
PHP Basic DSA Problems
GoLang DSA Roadmap
SQL DSA Interview Questions
R Language Competitive Programming
Android Tutorial
https://www.geeksforgeeks.org/student-data-management-c/ 15/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
Biology Management
Social Science HR Management
English Grammar Finance
Income Tax
DSA/Placements Development/Testing
DSA - Self Paced Course JavaScript Full Course
DSA in JavaScript - Self Paced Course React JS Course
DSA in Python - Self Paced React Native Course
C Programming Course Online - Learn C with Data Structures Django Web Development Course
Complete Interview Preparation Complete Bootstrap Course
Master Competitive Programming Full Stack Development - [LIVE]
Core CS Subject for Interview Preparation JAVA Backend Development - [LIVE]
Mastering System Design: LLD to HLD Complete Software Testing Course [LIVE]
Tech Interview 101 - From DSA to System Design [LIVE] Android Mastery with Kotlin [LIVE]
DSA to Development [HYBRID]
Placement Preparation Crash Course [LIVE]
https://www.geeksforgeeks.org/student-data-management-c/ 16/17
2/24/25, 5:14 PM Student Data Management in C++ - GeeksforGeeks
Data Analytics Training using Excel, SQL, Python & PowerBI - Java Programming Course
[LIVE] Python Full Course
Data Science Training Program - [LIVE]
Mastering Generative AI and ChatGPT
Data Science Course with IBM Certification
Clouds/Devops GATE
DevOps Engineering GATE CS & IT Test Series - 2025
AWS Solutions Architect Certification GATE DA Test Series 2025
Salesforce Certified Administrator Course GATE CS & IT Course - 2025
GATE DA Course 2025
GATE Rank Predictor
https://www.geeksforgeeks.org/student-data-management-c/ 17/17