Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //***************************************************************
- // HEADER FILE USED IN PROJECT
- //****************************************************************
- #include<iostream>
- #include<fstream>
- #include<iomanip>
- using namespace std;
- //***************************************************************
- // CLASS USED IN PROJECT
- //****************************************************************
- class login
- {
- public:
- string username,password;
- login ()
- {
- username= " \0";
- password= " \0";
- };
- bool IslogIn();
- };
- bool login ::IslogIn()
- {
- string ch_username= "BAKHIT", ch_password = "test123";
- cout << "Enter your user name ::\n";
- cin >> username;
- cout << "Enter the Password :: \n";
- cin >> password;
- if (username == ch_username && password == ch_password)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- int main()
- {
- login l1;
- bool status = l1.IslogIn();
- if (!status)
- {
- cout << " Failed login,register first at www.iukl.edu.my/student portal\n";
- return 1;
- }
- else
- {
- cout << "Welcome " << l1.username << " !\n" ;
- }
- int intro();
- int result();
- int entry_menu();
- char ch;
- cout.setf(ios::fixed|ios::showpoint);
- cout<<setprecision(2); // program outputs decimal number to two decimal places
- intro();
- do
- {
- 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;
- }
- class student
- {
- int SANAULLAH;
- char name[50];
- int RC_marks,SA_marks, GEO_marks, Math2_marks, CS_marks;
- double Av;
- char grade;
- void calculate(); //function to calculate grade
- public:
- void getdata(); //function to accept data from user
- void showdata() const; //function to show data on screen
- void show_tabular() const;
- int retrollno() const;
- }; //class ends here
- void student::calculate()
- {
- Av=(RC_marks, SA_marks, GEO_marks, Math2_marks, CS_marks)/5.0;
- if(Av>=60)
- grade='A';
- else if(Av>=50)
- grade='B';
- else if(Av>=33)
- grade='C';
- else
- grade='F';
- }
- void student::getdata()
- {
- cout<<"\nEnter The roll number of student ";
- cin>>SANAULLAH;
- cout<<"\n\nEnter The Name of student ";
- cin.ignore();
- cin.getline(name,50);
- cout<<"\nEnter The marks in Reinforced Concrete out of 100 : ";
- cin>>RC_marks;
- cout<<"\nEnter The marks in Structural Analysis out of 100 : ";
- cin>>SA_marks;
- cout<<"\nEnter The marks in maths 2 out of 100 : ";
- cin>>Math2_marks;
- cout<<"\nEnter The marks in Geology out of 100 : ";
- cin>>GEO_marks;
- cout<<"\nEnter The marks in computer science out of 100 : ";
- cin>>CS_marks;
- calculate();
- }
- void student::showdata() const
- {
- cout<<"\nRoll number of student : "<<SANAULLAH;
- cout<<"\nName of student : "<<name;
- cout<<"\nMarks in Reinforced Concrete : "<<RC_marks;
- cout<<"\nMarks in Geology : "<<GEO_marks;
- cout<<"\nMarks in Maths 2: "<<Math2_marks;
- cout<<"\nMarks in Structural Analysis : "<<SA_marks;
- cout<<"\nMarks in Computer Science :"<<CS_marks;
- cout<<"\nPercentage of student is :"<<Av;
- cout<<"\nGrade of student is :"<<grade;
- }
- void student::show_tabular() const
- {
- cout<<SANAULLAH<<setw(6)<<" "<<name<<setw(10)<<RC_marks<<setw(4)<<GEO_marks<<setw(4)<<Math2_marks<<setw(4)
- <<SA_marks<<setw(4)<<CS_marks<<setw(8)<<Av<<setw(6)<<grade<<endl;
- }
- int student::retrollno() const
- {
- return SANAULLAH;
- }
- //***************************************************************
- // function declaration
- //****************************************************************
- void write_student(); //write the record in binary file
- void display_all(); //read all records from binary file
- void display_sp(int); //accept rollno and read record from binary file
- void modify_student(int); //accept rollno and update record of binary file
- void delete_student(int); //accept rollno and delete selected records from binary file
- void class_result(); //display all records in tabular format from binary file
- void result(); //display result menu
- void intro(); //display welcome screen
- void entry_menu(); //display entry menu on screen
- //***************************************************************
- // THE MAIN FUNCTION OF PROGRAM
- //****************************************************************
- //***************************************************************
- // function to write in file
- //****************************************************************
- 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();
- }
- //***************************************************************
- // function to read all records from file
- //****************************************************************
- 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();
- }
- //***************************************************************
- // function to read specific record from file
- //****************************************************************
- 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();
- }
- //***************************************************************
- // function to modify record of file
- //****************************************************************
- 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();
- }
- //***************************************************************
- // function to delete record of file
- //****************************************************************
- 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();
- }
- //***************************************************************
- // function to display all students grade report
- //****************************************************************
- 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<<"\n\n\t\tALL STUDENTS RESULT \n\n";
- cout<<"==========================================================\n";
- cout<<"R.No Name P C M E CS %age Grade"<<endl;
- cout<<"==========================================================\n";
- while(inFile.read(reinterpret_cast<char *> (&st), sizeof(student)))
- {
- st.show_tabular();
- }
- cin.ignore();
- cin.get();
- inFile.close();
- }
- //***************************************************************
- // function to display result menu
- //****************************************************************
- void result()
- {
- char ch;
- int rno;
- 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;
- 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";
- }
- }
- //***************************************************************
- // INTRODUCTION FUNCTION
- //****************************************************************
- void intro()
- {
- cout<<"\n\n\n\t\t STUDENT";
- cout<<"\n\n\t\tResult management";
- cout<<"\n\n\t\t computer programing PROJECT (June 2017 semester)";
- cout<<"\n\n\n\tMADE BY : BAKHIT BAHAR";
- cout<<"\n\tSCHOOL : INFRASTRUCTURE UNIVERSITY KUALA LUMPUR";
- cin.get();
- }
- //***************************************************************
- // ENTRY / EDIT MENU FUNCTION
- //****************************************************************
- void entry_menu()
- {
- char ch;
- int num;
- 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;
- 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();
- }
- }
- //***************************************************************
- // END OF PROJECT
- //***************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement