……………………………………………………………………………………………………………………………………….
#include<iostream> #include<windows.h> //for_sleep()_function #include<iomanip> // for_setwidth_function #include<fstream> #include<process.h> //For_exit(0) #include<conio.h> //for_getch() #include<string.h> #include<stdio.h> //for_gets() int k=0, sys, str,high=60; //For_student_object_handling using namespace std; class person { protected: char sex; int age; int count; char name[50]; public: int length; void readperson() { system("CLS"); cout<<"tt************************************************"; cout<<"nttttADD A NEW STUDENT "; cout<<"ntt************************************************"; cout<<"nn Good name please (Don't Use space; use '_') :"; cin>>name; cout<<"n Please Enter your age :"; cin>>age; cout<<"n Sex ? (M/F) :"; cin>>sex; } }; class student:public person //This_class_student_is_inherited_from_class_person. { protected: int roll; int avmark; public: void readstudent() { cout<<"nn Enter your Roll Number :";cin>>roll; cout<<"n Enter Your Average Mark( Out of hundred ) :";cin>>avmark; } int getroll() { return(roll); } void getdetails() { cout<<"nn Name :"<<name; cout<<"n Sex :"<<sex; cout<<"n Age :"<<age; cout<<"n Roll :"<<roll; cout<<"n Mark :"<<avmark; } void GetDetailsTable() //For_making_table_arrangement_of_students; { high--; if(str<=7) //For_maintaining_the_exact_form; One_extra_t_is_used_after_name; cout<<"ntt"<<name<<"tt"<<sex<<"t"<<age<<"t"<<roll<<"t"<<avmark<<"n"; else cout<<"ntt"<<name<<"t"<<sex<<"t"<<age<<"t"<<roll<<"t"<<avmark<<"n"; } int getmark() { return(avmark); } void prtname() { cout<<name; } char GetSex() { return sex; } }stu[61];// Class_Defnition_completed void main() //Beggining_main_function_HERE { void SortBySex(); void SortItOnMark(); void SortItOnRoll() ; ofstream fout; ifstream fin; start: //For_returning_into_main_menu fin.close(); fout.close(); fin.open("student.dat", ios::app|ios::binary|ios::in); int num=0; //Making_input_buffer_zero_after_function_returning_through_start: while(fin) // Taking Student details into memory { fin.read((char *)&stu[num], sizeof(stu[num])); ++num; } //File_input_completed ! sys=num-1; int p1=100, p2=50; system("color f1"); int k, Ru, rank(0), rankm(0); system("CLS"); cout<<"tt************************************************"; cout<<setw(62)<<"MAIN MENU"; cout<<"ntt************************************************"; cout<<"nnn 1.Student Details"<<"n 2.Best Student"<<"n 3.Get Mark"<<"n 4.Add a new student"<<"n 5.View all students"<<"n 6.Exittttttttt99.Reset all!!!"<<"nnn Enter your selection :"; cin>>k; switch(k) { //switch_starts case 1:system("cls"); int flag; flag=0; cout<<"tt************************************************"; cout<<"nttttSTUDENT DETAILS"; cout<<"ntt************************************************"; cout<<"nnEnter Roll Number :"; cin>>Ru; for (int i=0; i<60;++i) { if (stu[i].getroll()==Ru) { flag=1; stu[i].getdetails(); } } if (!flag) cout<<"nnnnSorry...I cannot find a student with this roll number !"; cout<<"nnnnnPress Any key............."; if(_getch()) goto start; case 2:system("cls"); cout<<"tt************************************************"; cout<<"nttttTHE BEST STUDENT "; cout<<"ntt************************************************"; cout<<"nn Best Student is :"; for (int i=0; i<60; ++i) { if (stu[i].getmark()>rankm) { rankm=stu[i].getmark(); rank=i; } } stu[rank].getdetails(); cout<<"nnnnnPress Any key............."; if(_getch()) goto start; case 3:system("cls"); flag=1; cout<<"tt************************************************"; cout<<"nttttGET THE MARK "; cout<<"ntt************************************************"; cout<<"nnnPlease Enter Roll Number :"; cin>>Ru; for (int i=0; i<60;++i) { if (stu[i].getroll()==Ru) { flag=0; cout<<"nnn Mark of ";stu[i].prtname();cout<<" is "<<stu[i].getmark(); } } if(flag) cout<<"nnttSorry....No Such students; Try again !"; if(_getch()) //wait_for_any_input_via_keyboard goto start; break; case 4: //Add_student_menu stu[k].readperson(); stu[k].readstudent(); fout.open("student.dat", ios::out|ios::binary|ios::app); fout.write((char*)&stu[k], sizeof(student)); cout<<"nnntttFile saving accomplsihed !Please Restart this program "; fout.close(); fin.close(); cout<<"nnnnnn"; Sleep(2500); goto start; break; case 5: // View_all_students_table system("CLS"); int count, selection; char answer; answer='n'; count=0; cout<<sys; cout<<"tt************************************************"; cout<<"nttNamettSextAgetRolltMarkn"; cout<<"tt************************************************"; while (count<sys) { stu[count].GetDetailsTable(); count++; } cout<<"nnttDo you want to sort it now ? (y/n) :"; cin>>answer; if(answer=='y'||answer=='Y') { cout<<"n Sort By :nt1. Marknttt2.Rollnttttt3.By Sexnn"; cout<<"Enter :"; cin>>selection; switch(selection) { case 1: SortItOnMark();break; case 2: SortItOnRoll();break; case 3: SortBySex();break; default :cout<<"nBad Input !"; } } else goto start; cout<<"nnnn";system("pause"); goto start; case 6 : //Exit_Function system("CLS"); fin.close(); fout.close(); cout<<"nnnttt BYE !!!!!!!!!!!!!!!!!!!!!"; Sleep(1000); //wait_1_second_before_exiting exit(0); break; case 99 : // File-reset_option_begins char ans; system("CLS"); cout<<" You have choosen to delete all the user data from this program !.nnCaution :You cannot back up your data !nnFor further reference make a copy of file (student.dat) from source folder !"; cout<<"nn Are you sure want to erase all (y/n)? :"; cin>>ans; if (ans=='y'||ans=='Y') { ofstream fout; fout.open("student.dat", ios::out,ios::binary); cout<<"nnna"<<"taa Task accomplished Successfully !"; } else cout<<"nn"<<"atTask aborted, Now returning to main menu"; Sleep(2500); goto start; //File_reset_accomplished default : system("CLS"); cout<<"annntttBad input Recieved ! Try Again"; Sleep(1000); goto start; break; } //switch ended return; } // Main()_over void SortItOnRoll() //Student_Details_table_sorted_on_mark { high=60; int car=sys; cout<<"tt************************************************"; cout<<"nttNamettSextAgetRolltMarkn"; cout<<"tt************************************************n"; int first=0, place; while(car) {first=0; for(int t=0; t<(high); ++t) { if(first<=stu[t].getroll()) { first=stu[t].getroll(); place=t; } } stu[place].GetDetailsTable(); stu[place]=stu[high]; car--; } } //Function_completed void SortItOnMark() //Student_Details_table_sorted_on_mark { high=60; int car=sys; cout<<"tt************************************************"; cout<<"nttNamettSextAgetRolltMarkn"; cout<<"tt************************************************n"; int first=0, place; while(car) {first=0; for(int t=0; t<(high); ++t) { if(first<=stu[t].getmark()) { first=stu[t].getmark(); place=t; } } stu[place].GetDetailsTable(); stu[place]=stu[high]; car--; } } //Function_completed void SortBySex() //Student_Details_table_sorted_on_Sex { high=60; int car=sys; cout<<"tt************************************************"; cout<<"nttNamettSextAgetRolltMarkn"; cout<<"tt************************************************n"; for(int t=0; t<sys; ++t) { if(stu[t].GetSex()=='f'||stu[t].GetSex()=='F') { stu[t].GetDetailsTable(); } else continue; } cout<<endl; for(int t=0; t<sys; ++t) { if(stu[t].GetSex()=='m'||stu[t].GetSex()=='M') { stu[t].GetDetailsTable(); } else continue; } } //Function_completed
Screenshots
| MENU |
| Student Table |
Suggested Read : C++ Library Management Program with Source Code

Leave a Reply
You must be logged in to post a comment.