Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<iomanip>
- #include<string>
- using namespace std;
- int retry = 0;
- char mainuser[20] = "Somya";
- char mainpass[20] = "test123";
- class student
- {
- int rollno;
- char name[50];
- int marks1, marks2, marks3, marks4, marks5,prac1,prac2,prac3,prac4,prac5;
- double per;
- char grade;
- void calculate();
- public:
- void getdata();
- void showdata() const;
- void show_tabular() const;
- int retrollno() const;
- };
- void student::calculate()
- {
- if(prac1 == -1 && prac2 == -1 && prac3 == -1 && prac4 == -1 && prac5 == -1)
- {
- per=(marks1+marks2+marks3+marks4+marks5)/5.0;
- }
- else if(prac2 == -1 && prac3 == -1 && prac4 == -1 && prac5 == -1)
- {
- per=(marks1+marks2+marks3+marks4+marks5+prac1)/6.0;
- }
- else if(prac3 == -1 && prac4 == -1 && prac5 == -1)
- {
- per=(marks1+marks2+marks3+marks4+marks5+prac1+prac2)/7.0;
- }
- else if(prac4 == -1 && prac5 == -1)
- {
- per=(marks1+marks2+marks3+marks4+marks5+prac1+prac2+prac3)/8.0;
- }
- else if(prac5 == -1)
- {
- per=(marks1+marks2+marks3+marks4+marks5+prac1+prac2+prac3+prac4)/9.0;
- }
- else
- {
- per=(marks1+marks2+marks3+marks4+marks5+prac1+prac2+prac3+prac4+prac5)/10.0;
- }
- if(per>=60)
- grade='A';
- else if(per>=50)
- grade='B';
- else if(per>=33)
- grade='C';
- else
- grade='F';
- }
- void student::getdata()
- {
- cout<<"\nEnter The roll number of student ";
- cin>>rollno;
- cout<<"\n\nEnter The Name of student ";
- cin.ignore();
- cin.getline(name,50);
- cout<<"\nEnter The marks in Subject 1 out of 100 : ";
- cin>>marks1;
- cout<<"\nEnter The marks in Subject 2 out of 100 : ";
- cin>>marks2;
- cout<<"\nEnter The marks in Subject 3 out of 100 : ";
- cin>>marks3;
- cout<<"\nEnter The marks in Subject 4 out of 100 : ";
- cin>>marks4;
- cout<<"\nEnter The marks in Subject 5 out of 100 : ";
- cin>>marks5;
- cout<<"\nEnter The marks in Practical 1 out of 100 :(If no practical marks enter -1) ";
- cin>>prac1;
- if(prac1 == -1)
- {
- prac2=prac3=prac4=prac5=-1;
- }
- else
- {
- cout<<"\nEnter The marks in Practical 2 out of 100 :(If no practical marks enter -1) ";
- cin>>prac2;
- }
- if(prac2 == -1)
- {
- prac3=prac4=prac5=-1;
- }
- else
- {
- cout<<"\nEnter The marks in Practical 3 out of 100 (If no practical marks enter -1): ";
- cin>>prac3;
- }
- if(prac3==-1)
- {
- prac4=prac5=-1;
- }
- else
- {
- cout<<"\nEnter The marks in Practical 4 out of 100 :(If no practical marks enter -1) ";
- cin>>prac4;
- }
- if(prac4==-1)
- {
- prac5=-1;
- }
- else
- {
- cout<<"\nEnter The marks in Practical 5 out of 100 :(If no practical marks enter -1) ";
- cin>>prac5;
- }
- calculate();
- }
- void student::showdata() const
- {
- cout<<"\nRoll number of student : "<<rollno;
- cout<<"\nName of student : "<<name;
- cout<<"\nMarks in Subject 1 : "<<marks1;
- cout<<"\nMarks in Subject 2 : "<<marks2;
- cout<<"\nMarks in Subject 3 : "<<marks3;
- cout<<"\nMarks in Subject 4 : "<<marks4;
- cout<<"\nMarks in Subject 5 : "<<marks5;
- if(prac1!=-1)
- {
- cout<<"\nMarks in Prac 1 : "<<prac1;
- }
- if(prac2!=-1)
- {
- cout<<"\nMarks in Prac 2 : "<<prac2;
- }
- if(prac3!=-1)
- {
- cout<<"\nMarks in Prac 3 : "<<prac3;
- }
- if(prac4!=-1)
- {
- cout<<"\nMarks in Prac 4 : "<<prac4;
- }
- if(prac5!=-1)
- {
- cout<<"\nMarks in Prac 5 : "<<prac5;
- }
- cout<<"\nPercentage of student is :"<<per;
- cout<<"\nGrade of student is :"<<grade;
- }
- void student::show_tabular() const
- {
- cout<<rollno<<setw(6)<<" "<<name<<setw(10)<<marks1<<setw(4)<<marks2<<setw(4)<<marks3<<setw(4)
- <<marks4<<setw(4)<<marks5<<setw(4)<<prac1<<setw(8)<<per<<setw(6)<<grade<<endl;
- }
- int student::retrollno() const
- {
- return rollno;
- }
- void write_student();
- void display_all();
- void display_sp(int);
- void modify_student(int);
- void delete_student(int);
- void class_result();
- void result();
- void intro();
- void entry_menu();
- int main()
- {
- char ch;
- cout.setf(ios::fixed|ios::showpoint);
- cout<<setprecision(2);
- intro();
- do
- {
- system("cls");
- cout<<"\n\n\n\tMAIN MENU";
- cout<<"\n\n\t01. RESULT MENU";
- cout<<"\n\n\t02. ENTRY/EDIT MENU";
- cout<<"\n\n\t03. EXIT";
- cout<<"\n\n\tPlease Select Your Option (1-3) ";
- cin>>ch;
- switch(ch)
- {
- case '1': result();
- break;
- case '2': entry_menu();
- break;
- case '3':
- break;
- default :cout<<"\a";
- }
- }while(ch!='3');
- return 0;
- }
- void write_student()
- {
- student st;
- ofstream outFile;
- outFile.open("student.dat",ios::binary|ios::app);
- st.getdata();
- outFile.write(reinterpret_cast<char *> (&st), sizeof(student));
- outFile.close();
- cout<<"\n\nStudent record Has Been Created ";
- cin.ignore();
- cin.get();
- }
- void display_all()
- {
- student st;
- ifstream inFile;
- inFile.open("student.dat",ios::binary);
- if(!inFile)
- {
- cout<<"File could not be open !! Press any Key...";
- cin.ignore();
- cin.get();
- return;
- }
- cout<<"\n\n\n\t\tDISPLAY ALL RECORD !!!\n\n";
- while(inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
- {
- st.showdata();
- cout<<"\n\n====================================\n";
- }
- inFile.close();
- cin.ignore();
- cin.get();
- }
- void display_sp(int n)
- {
- student st;
- ifstream inFile;
- inFile.open("student.dat",ios::binary);
- if(!inFile)
- {
- cout<<"File could not be open !! Press any Key...";
- cin.ignore();
- cin.get();
- return;
- }
- bool flag=false;
- while(inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
- {
- if(st.retrollno()==n)
- {
- st.showdata();
- flag=true;
- }
- }
- inFile.close();
- if(flag==false)
- cout<<"\n\nrecord not exist";
- cin.ignore();
- cin.get();
- }
- void modify_student(int n)
- {
- bool found=false;
- student st;
- fstream File;
- File.open("student.dat",ios::binary|ios::in|ios::out);
- if(!File)
- {
- cout<<"File could not be open !! Press any Key...";
- cin.ignore();
- cin.get();
- return;
- }
- while(!File.eof() && found==false)
- {
- File.read(reinterpret_cast<char *> (&st), sizeof(student));
- if(st.retrollno()==n)
- {
- st.showdata();
- cout<<"\n\nPlease Enter The New Details of student"<<endl;
- st.getdata();
- int pos=(-1)*static_cast<int>(sizeof(st));
- File.seekp(pos,ios::cur);
- File.write(reinterpret_cast<char *> (&st), sizeof(student));
- cout<<"\n\n\t Record Updated";
- found=true;
- }
- }
- File.close();
- if(found==false)
- cout<<"\n\n Record Not Found ";
- cin.ignore();
- cin.get();
- }
- void delete_student(int n)
- {
- student st;
- ifstream inFile;
- inFile.open("student.dat",ios::binary);
- if(!inFile)
- {
- cout<<"File could not be open !! Press any Key...";
- cin.ignore();
- cin.get();
- return;
- }
- ofstream outFile;
- outFile.open("Temp.dat",ios::out);
- inFile.seekg(0,ios::beg);
- while(inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
- {
- if(st.retrollno()!=n)
- {
- outFile.write(reinterpret_cast<char *> (&st), sizeof(student));
- }
- }
- outFile.close();
- inFile.close();
- remove("student.dat");
- rename("Temp.dat","student.dat");
- cout<<"\n\n\tRecord Deleted ..";
- cin.ignore();
- cin.get();
- }
- void class_result()
- {
- student st;
- ifstream inFile;
- inFile.open("student.dat",ios::binary);
- if(!inFile)
- {
- cout<<"File could not be open !! Press any Key...";
- cin.ignore();
- cin.get();
- return;
- }
- //cout<<rollno<<setw(6)<<" "<<name<<setw(10)<<marks1<<setw(4)<<marks2<<setw(4)<<marks3<<setw(4)
- // <<marks4<<setw(4)<<marks5<<setw(4)<<prac1<<setw(8)<<per<<setw(6)<<grade<<endl;
- cout<<"\n\n\t\tALL STUDENTS RESULT \n\n";
- cout<<"==========================================================\n";
- cout<<"R.No"<<setw(6)<<"Name"<<setw(10)<<"S1"<<setw(4)<<"S2"<<setw(4)<<"S3"<<setw(4)<<"S4"<<setw(4)<<"S5"<<setw(4)<<"P1"<<setw(8)<<" %age"<<setw(10)<<"Grade"<<endl;
- cout<<"==========================================================\n";
- while(inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
- {
- st.show_tabular();
- }
- cin.ignore();
- cin.get();
- inFile.close();
- }
- void result()
- {
- char ch;
- int rno;
- system("cls");
- cout<<"\n\n\n\tRESULT MENU";
- cout<<"\n\n\n\t1. Class Result";
- cout<<"\n\n\t2. Student Report Card";
- cout<<"\n\n\t3. Back to Main Menu";
- cout<<"\n\n\n\tEnter Choice (1/2/3)? ";
- cin>>ch;
- system("cls");
- switch(ch)
- {
- case '1' : class_result(); break;
- case '2' : cout<<"\n\n\tEnter Roll Number Of Student : "; cin>>rno;
- display_sp(rno); break;
- case '3' : break;
- default: cout<<"\a";
- }
- }
- void intro()
- {
- char user[20] = "test",pass[20] ="test";
- cout<<"\n\n\n\t\t STUDENT";
- cout<<"\n\n\t\tREPORT CARD";
- cout<<"\n\n\n\t\t STUDENT";
- cout<<"\n\n\t\tREPORT CARD";
- if(retry == 1)
- {
- cout<<"\n\t\tPassword is wrong";
- }
- else if(retry == 2)
- {
- cout<<"\n\t\tInvaild Username";
- }
- cout<<"\n\n\t\tUserName: ";
- gets(user);
- cout<<"\n\n\t\tPassword: ";
- gets(pass);
- if(strcmp(user,mainuser) == 0)
- {
- if(strcmp(pass,mainpass) == 0)
- {
- system("cls");
- cout<<"\n\n\n\t\tLogin SuccessFul...";
- cout<<"\n\n\n\t\t STUDENT";
- cout<<"\n\n\t\tREPORT CARD";
- cout<<"\n\n\n\t\t STUDENT";
- cout<<"\n\n\t\tREPORT CARD";
- cin.get();
- }
- else
- {
- system("cls");
- retry = 1;
- intro();
- }
- }
- else
- {
- system("cls");
- retry = 2;
- intro();
- }
- }
- void entry_menu()
- {
- char ch;
- int num;
- system("cls");
- cout<<"\n\n\n\tENTRY MENU";
- cout<<"\n\n\t1.CREATE STUDENT RECORD";
- cout<<"\n\n\t2.DISPLAY ALL STUDENTS RECORDS";
- cout<<"\n\n\t3.SEARCH STUDENT RECORD ";
- cout<<"\n\n\t4.MODIFY STUDENT RECORD";
- cout<<"\n\n\t5.DELETE STUDENT RECORD";
- cout<<"\n\n\t6.BACK TO MAIN MENU";
- cout<<"\n\n\tPlease Enter Your Choice (1-6) ";
- cin>>ch;
- system("cls");
- switch(ch)
- {
- case '1': write_student(); break;
- case '2': display_all(); break;
- case '3': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;
- display_sp(num); break;
- case '4': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;
- modify_student(num);break;
- case '5': cout<<"\n\n\tPlease Enter The roll number "; cin>>num;
- delete_student(num);break;
- case '6': break;
- default: cout<<"\a"; entry_menu();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment