3/21/2016

C++ Program For School Management System ( SMS Project ) 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;
}


Output:-

Main Window


www.programmingwithbasics.com

Main Menu

www.programmingwithbasics.com


Result & Stream Window

www.programmingwithbasics.com

3 comments:

  1. Brother can u give me a full written description of dis project
    Like no of classes,no of member fncns.,name of structures etc.
    If u will do it, would be a great help

    ReplyDelete
  2. Thanks for sharing nice information. hope you will share many more articles.

    school management system

    ReplyDelete
  3. Thanks for you sharing as best project code with more detailes

    ReplyDelete