Monday, 21 March 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

Extreme Recommended:- Like our Facebook Page or Join our Facebook Group and Google plus Community for up-to-date. If you have any Query or Question you can ask in the group, I will Try To Solve your Query and try to answers of your Questions withing 24 Hours, You can also Email me or comment below Please suggest to your Friends to join and like our page and don't forget to Subscribe. Enter your Email and click to subscribe.

Ghanendra Yadav

Ghanendra Yadav

Hello, I Am Ghanendra Yadav Owner of This Blog, I am professional Blogger and Programmer. I Love Programming, Logo Making, And Banner Designing. My Highest Qualification is MCA From NIT Warangal. You Can Find Me On Social Media Through Below Link And If You Have Any Query Related To Programming And Other Subject Comment Below or You Can Mail Me I Will Try To Answer Within 24 Hours Email:- yghanendra@student.nitw.ac.in

Find me on Social Media

Facebook | Twitter | Google+ | RSS Feed

No comments:

Post a Comment