School Management System Project in C++With Source Code. This School Management System project has seven sections, first Create and Modify Admission Criteria, Student Data, Allotment of Stream, Display Criteria for Selection, Display allotment of Student Stream, Display all registered students and Create and display Merit list.
Main Page

Main Menu

Result & Stream Window

School Management System Project in C++With Source Code.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<iomanip>
#include<fstream.h>
#include<dos.h>
using namespace std;
struct marks_criteria {
int sc_min, com_min, arts_min, seat_sc, seat_com, seat_arts;
}
crit;
struct administrator {
char user_name[10];
char password[10];
}
admin;
struct student {
char name[20];
int regno, m_eng, m_math, m_sc, m_sst, m_lang;
int pref_code, stream;
// Sc=1, Com=2; Arts=3;
public:
void new_file();
void input_data();
void allot_stream();
int get_stream();
void display();
int show_per() {
return ((m_eng + m_math + m_sc + m_sst + m_lang) / 5);
}
};
void welcome();
void menu();
int verify_password();
void assign_user();
void clear();
void input_criteria();
void read_criteria();
void read_student();
void create_eligible_sc();
void create_eligible_com();
void create_eligible_arts();
void read_eligible_sc();
void read_eligible_com();
void read_eligible_arts();
char * stream_name(int strm);
void select_list(char * in_file, char * out_file);
void thanks();
student s;
main() {
// clrscr();
welcome();
// cout<<"welcome";
fstream fin, fout;
fstream fsc, fcom, farts;
int opt = 1, ch;
while (opt != 8) {
// clrscr();
clear();
cout << "\n\t====================== MAIN MENU =======================\n";
cout << "\n\t[1] CREATE / MODIFY ADMISSION CRITERIA(Administrator only)";
cout << "\n\n\t[2] ENTER STUDENT'S DATA ";
cout << "\n\n\t[3] ALLOTMENT OF STREAM";
cout << "\n\n\t[4] DISPLAY CRITERIA FOR SELECTION";
cout << "\n\n\t[5] DISPLAY ALLOTMENT OF STUDENT'S STREAM";
cout << "\n\n\t[6] DISPLAY ALL STUDENT'S REGISTERED";
cout << "\n\n\t[7] CREATE / DISPLAY MERIT LIST";
cout << "\n\n\t[8] QUIT";
cout << "\n\t=============================================================\n";
cout << "\n\n\t\tEnter your choice : ";
cin >> opt;
switch (opt) {
case 1:
int p;
assign_user();
p = verify_password();
if (p == 0) {
input_criteria();
} else {
cout << "\n\tU R Not a Valid User.";
cout << "\n\tU Dont have the Authority to Create Question Bank. Bye\n\n";
}
break;
case 2:
int option;
//clrscr();
cout << "\nWhat do u want --\n\n\n\n\n\tCreate a new student information file or Append to the existing file?\n\n\t(press 1 for new creation and 2 for appending)";
cin >> option;
if (option == 1) {
s.new_file();
} else {
s.input_data();
}
break;
case 3:
//clrscr();
// read_student();
fin.open("student", ios::in | ios::out);
fsc.open("elig_sc", ios::out);
fcom.open("eligcom", ios::out);
farts.open("eligart", ios::out);
while (fin.read((char * ) & s, sizeof(s))) {
s.allot_stream();
s.get_stream();
//if(s.get_stream()==0)
cout << "\nApplication Rejected. Not Eligible\n";
if (s.get_stream() == 1)
fsc.write((char * ) & s, sizeof(s));
if (s.get_stream() == 2)
fcom.write((char * ) & s, sizeof(s));
if (s.get_stream() == 3)
farts.write((char * ) & s, sizeof(s));
}
fin.close();
fsc.close();
fcom.close();
farts.close();
cout << "\n*******************************************";
cout << "\n\n\tSTREAM ALLOCATION DONE.";
cout << "\n*******************************************";
break;
case 4:
read_criteria();
// clear();
cout << "\n Sc : " << crit.sc_min;
cout << "\n Com : " << crit.com_min;
cout << "\n Sc : " << crit.arts_min;
break;
case 5:
cout << "\n Enter 1 for Sc, 2 for Com, 3 for Arts : ";
cin >> ch;
if (ch == 1)
read_eligible_sc();
if (ch == 2)
read_eligible_com();
if (ch == 3)
read_eligible_arts();
break;
case 6: //clrscr() ;
read_student();
break;
case 7: {
char c;
int k = 1;
cout << "\n****************************************";
cout << "\n****************************************";
cout << "\n M E R I T L I S T";
cout << "\n ==================";
cout << "\n\tEnter 1 for MERIT LIST SCIENCE ";
cout << "\n\tEnter 2 for MERIT LIST COMMERCE ";
cout << "\n\tEnter 3 for MERIT LIST ARTS \t";
cout << "\n****************************************";
cout << "\n****************************************";
cin >> k;
if (k == 1) {
select_list("elig_sc", "sell_sc");
fin.open("sell_sc", ios::in);
}
if (k == 2) {
select_list("eligcom", "sellcom");
fin.open("sellcom", ios::in);
}
if (k == 3) {
select_list("eligart", "sellart");
fin.open("sellart", ios::in);
}
if (k >= 1 && k <= 3) {
while (fin.read((char * ) & s, sizeof(s))) {
s.display();
cout << "\n\t Continue (y/n)?";
cin >> c;
if (c == 'n')
break;
}
}
fin.close();
fin.close();
fin.close();
break;
}
case 8:
thanks();
// cout<<"\nTHANKS BYE ";
// exit(0);
break;
}
}
}
// END OF WHILE
void assign_user() {
strcpy(admin.user_name, "rimi");
strcpy(admin.password, "rimi");
}
int verify_password() {
char u_name[10];
char u_pwd[10], temp[2];
int x = 1;
cout << "\n\n Enter user name : ";
cin >> u_name;
cout << "\n\n Enter Password : ";
cin >> u_pwd;
x = strcmp(admin.user_name, u_name);
if (x == 0) {
x = strcmp(admin.password, u_pwd);
}
cin.getline(temp, 2);
return (x);
}
void student::allot_stream() {
int per = (m_eng + m_math + m_sc + m_sst + m_lang) / 5;
read_criteria();
switch (pref_code) {
case 1:
if (per >= crit.sc_min)
stream = pref_code;
else
stream = 0;
break;
case 2:
if (per >= crit.com_min)
stream = pref_code;
else
stream = 0;
break;
case 3:
if (per >= crit.arts_min)
stream = pref_code;
else
stream = 0;
break;
}
}
int student::get_stream() {
return (stream);
}
void input_criteria() {
fstream fout;
fout.open("criteria", ios::in | ios::out);
cout << "\nEnter the required marks for SCIENCE stream(in percentage)";
cin >> crit.sc_min;
cout << "\nEnter No. of Seats for SCIENCE stream";
cin >> crit.seat_sc;
cout << "\nEnter the required marks for COMMERCE stream(in percentage)";
cin >> crit.com_min;
cout << "\nEnter No. of Seats for COMMERCE stream";
cin >> crit.seat_com;
cout << "\nEnter the required marks for ARTS stream(in percentage)";
cin >> crit.arts_min;
cout << "\nEnter No. of Seats for ARTS stream";
cin >> crit.seat_arts;
fout.write((char * ) & crit, sizeof(crit));
fout.close();
}
void read_criteria() {
fstream fin;
fin.open("criteria", ios::in);
fin.read((char * ) & crit, sizeof(crit));
fin.close();
}
void student::input_data() { //clrscr();
fstream fin;
fin.open("student", ios::app | ios::out);
char t[2], ans;
while (1) {
cout << "\nEnter the name of the student : ";
cin >> name;
cout << "\n\nEnter the roll of the student : ";
cin >> regno;
cout << "\n\nEnter marks in eng : ";
cin >> m_eng;
cout << "\n\nEnter marks in math : ";
cin >> m_math;
cout << "\n\nEnter marks in science : ";
cin >> m_sc;
cout << "\n\nEnter marks in sst : ";
cin >> m_sst;
cout << "\n\nEnter marks in language : ";
cin >> m_lang;
cout << "==================STREAM PREFERED?================ \n";
cout << "\t" << "[1] for SCIENCE\n";
cout << "\t" << "[2] for COMMERCE\n";
cout << "\t" << "[3] for ARTS ";
cout << "\n================================================= \n\tENTER PREFERENCE CODE : ";
cin >> pref_code;
stream = -1;
fin.write((char * ) & s, sizeof(s));
cin.getline(t, 2);
cout << "\n\tEnter More Student ? (y/n)";
cin >> ans;
if (ans == 'n')
break;
}
fin.close();
}
void student::new_file() { //clrscr();
fstream fin;
fin.open("student", ios::out);
char t[2], ans;
while (1) {
cout << "\nEnter the name of the student : ";
gets(name);
cout << "\n\nEnter the roll of the student : ";
cin >> regno;
cout << "\n\nEnter marks in eng : ";
cin >> m_eng;
cout << "\n\nEnter marks in math : ";
cin >> m_math;
cout << "\n\nEnter marks in science : ";
cin >> m_sc;
cout << "\n\nEnter marks in sst : ";
cin >> m_sst;
cout << "\n\nEnter marks in language : ";
cin >> m_lang;
cout << "==================STREAM PREFERED?================ \n";
cout << "\t" << "[1] for SCIENCE\n";
cout << "\t" << "[2] for COMMERCE\n";
cout << "\t" << "[3] for ARTS ";
cout << "\n================================================= \n\tENTER PREFERENCE CODE : ";
cin >> pref_code;
stream = -1;
fin.write((char * ) & s, sizeof(s));
cin.getline(t, 2);
cout << "\n\tEnter More Student ? (y/n)";
cin >> ans;
if (ans == 'n')
break;
}
fin.close();
}
void student::display() {
cout << "\n============================================\n";
cout << "\n\tNAME : " << name;
cout << "\n\tREGISTRATION NO. : " << regno;
cout << "\n\tPERCENTAGE OF MARKS : " << ((m_eng + m_math + m_sc + m_sst + m_lang) / 5) << "%";
cout << "\n\tSTREAM APPLIED FOR : " << stream_name(pref_code);
// cout<<"\n\tSTREAM ALLOTED : "<<stream_name(stream);
cout << "\n============================================\n";
}
void read_student() {
fstream fin;
char c;
fin.open("student", ios::in);
while (fin.read((char * ) & s, sizeof(s))) {
s.display();
cout << "\n\tPress any no. to continue ";
cin >> c;
cout << "\n";
}
fin.close();
}
void read_eligible_sc() {
char ans;
fstream fout;
fout.open("elig_sc", ios::in);
fout.seekg(0);
while (fout.read((char * ) & s, sizeof(s))) {
s.display();
cout << "\n\t Continue (y/n)? ";
cin >> ans;
if (ans == 'n')
break;
}
fout.close();
}
void read_eligible_com() {
char ans;
fstream fout;
fout.open("eligcom", ios::in);
while (fout.read((char * ) & s, sizeof(s))) {
s.display();
cout << "\n\t Continue (y/n)? ";
cin >> ans;
if (ans == 'n')
break;
}
fout.close();
}
void read_eligible_arts() {
char ans;
fstream fout;
fout.open("eligart", ios::in);
while (fout.read((char * ) & s, sizeof(s))) {
s.display();
cout << "\n\t Continue (y/n)? ";
cin >> ans;
if (ans == 'n')
break;
}
fout.close();
}
void clear() {
// for(int i=1;i< =24;i++)
// cout<<"\n";
}
char * stream_name(int strm) {
switch (strm) {
case -1:
return ("Not assigned");
// break;
case 0:
return ("Nill");
// break;
case 1:
return ("Science");
// break;
case 2:
return ("Commerce");
// break;
case 3:
return ("Arts");
// break;
default:
return ("None");
}
}
void select_list(char * in_file, char * out_file) {
fstream sel, fin;
int n = 0, i, j;
student sl[100], t;
sel.open(out_file, ios::out);
fin.open(in_file, ios::in);
while (fin.read((char * ) & sl[n], sizeof(s))) {
n++;
}
cout << "\nNo of Eligible Students = " << n << "\n";
for (i = 0; i < n; i++) {
for (j = i + 1; j <= n; j++) {
if (sl[i].show_per() < sl[j].show_per()) {
t = sl[j];
sl[j] = sl[i];
sl[i] = t;
}
}
}
for (i = 0; i < n; i++) {
sel.write((char * ) & sl[i], sizeof(s));
}
sel.close();
fin.close();
}
void welcome() {
//clrscr();
int z;
cout << "\t%% %% ";
cout << "\n\t%% %% %%%%%%% %% %%%%%% %%%%%% %%%% %%%% %%%%%%%";
cout << "\n\t%% %% %% %% %% %% %% %% %%% %% %% ";
cout << "\n\t%% %% %% %%%%% %% %% %% %% %% %%% %% %%%%% ";
cout << "\n\t%% %% %% %% %% %% %% %% %% %% %% ";
cout << "\n\t%%%%%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%% %% %% %%%%%%% ";
cout << "\n\n\t\t\t $$$$$$$$ $$$$$ ";
cout << "\n\t\t\t $$ $ $ ";
cout << "\n\t\t\t $$ $$$$$ ";
cout << "\n\n\n\tCOMPUTER PROJECT (******** ON STREAM ALLOCATION *******)";
cout << " \n\n\n\t\t press any number and 'ENTER' to continue: ";
cin >> z;
// getch();
}
void thanks() {
int w;
//clrscr();
cout << "\n\n\n\n\n\n\n\n\n\n\t********** T H A N K Y O U F O R W O R K I N G *******";
cout << "\n\n\n\n\n\n\n\t\t\t Press Any Number And Then 'ENTER' to exit";
cin >> w;
}
The Output of School Management System C++
Main Page
Main Menu
Result & Stream Window
More Projects in C++
- C++ Program For Tic Tac Toe ( Game Project ) With Source Code
- C++ Program For School Management System ( SMS Project ) With Source Code
- C++ Program For HANGMAN ( GAME PROJECT ) With Source Code
- C++ Program For Casino Game: Number Guessing Program ( GAME PROJECT )
- C++ Program For Student Report Card ( SRC PROJECT ) With Source Code