Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- class student{
- string name;
- int roll;
- string dept;
- vector<float> cgpa={0,0,0,0};
- float dgpa;
- public:
- init(char a[],int r,string d,vector<float> cg){
- string temp(a);
- name=temp;
- roll=r;
- dept=d;
- cgpa=cg;
- float sum=0;
- for(int i=0;i<4;i++){
- sum+=cg[i];
- }
- dgpa=sum/4.00;
- }
- student(){
- ;
- }
- void show_record(){
- cout<<"Name= "<<name<<"\n\n";
- cout<<"Roll= "<<roll<<"\n\n";
- cout<<"Dept.= "<<dept<<"\n\n";
- cout<<"CGPA1 CGPA2 CGPA3 CGPA4\n";
- cout<<"cgpa[0] cgpa[1] cgpa[2] cgpa[3]"<<"\n\n";
- cout<<"DGPA= "<<dgpa<<"\n\n";
- cout<<"\n\n\n\n";
- }
- bool is_roll(int r){
- return (r==roll);
- }
- student search_by_roll(vector<student> arr,int s){
- vector<student> temp;
- for(int i=0;i<arr.size();i++){
- if(arr[i].roll==s){
- temp.push_back(arr[i]);
- break;
- }
- }
- if(temp.size()==0){
- throw string("roll_not_found");
- }
- else{
- return temp[0];
- }
- }
- vector<student> search_by_dept(vector<student> arr,string d){
- vector<student> temp;
- for(int i=0;i<arr.size();i++){
- if(arr[i].dept==d){
- temp.push_back(arr[i]);
- }
- }
- return temp;
- }
- vector<student> search_by_dgpa(vector<student> arr,float g){
- vector<student> temp;
- for(int i=0;i<arr.size();i++){
- if(arr[i].dgpa>g){
- temp.push_back(arr[i]);
- }
- }
- return temp;
- }
- /*bool compy(student a,student b){
- return a.dgpa<b.dgpa;
- }*/
- vector<student> topper(vector<student> arr,string dept){
- student temp;
- vector<student> romie;
- romie=search_by_dept(arr,dept);
- temp=arr[0];
- /*sort(romie.begin(),romie.end(),compy);
- auto it=romie.end();
- it--;
- temp=*it;*/
- for(int i=1;i<arr.size();i++){
- if(temp.dgpa<arr[i].dgpa){
- temp=arr[i];
- }
- }
- romie=search_by_dgpa(romie,temp.dgpa);
- return romie;
- }
- };
- int main() {
- student temp;
- vector<student> arr;
- while(1){
- cout << "\033[2J\033[1;1H";
- cout<<"What do you want?\n";
- cout<<"1. Add Student\n";
- cout<<"2. Search Student\n";
- int choice;
- cin>>choice;
- switch(choice){
- case 1:
- {
- cout << "\033[2J\033[1;1H";
- cout<<"Addition Of Student\n\n\n\n";
- cout<<"Enter Student name= ";
- char name[20];
- fflush(stdin);
- gets(name);
- cout<<"Enter Roll Number= ";
- int roll;
- cin>>roll;
- cout<<"Enter Depatment= ";
- string dept;
- cin>>dept;
- cout<<"Enter CGPAS= ";
- vector<float> cgpa(4);
- for(int i=0;i<4;i++){
- cin>>cgpa[i];
- }
- student p;
- p.init(name,roll,dept,cgpa);
- arr.push_back(p);
- break;}
- case 2:
- {
- cout << "\033[2J\033[1;1H";
- cout<<"Search\n\n\n\n";
- cout<<"1.Search by Roll\n2.Search by Dept.\n3.Cut off DGPA";
- cout<<"\n4.Specific Dept. Topper\n5.All toppers";
- cout<<"\nAny other key to go to main menu";
- cout<<"\n\n\n\n";
- while(1){
- int choice;
- cin>>choice;
- switch(choice){
- case 1:
- {
- cout<<"Enter Roll= ";
- int roll;
- cin>>roll;
- try{
- student s=temp.search_by_roll(arr,roll);
- s.show_record();
- }
- catch(string std){
- cout<<"No Such Roll\n\n\n\n";
- }
- break;}
- case 2:
- {
- cout<<"Enter Department= ";
- string dept;
- cin>>dept;
- vector<student> students;
- students=temp.search_by_dept(arr,dept);
- if(students.size()==0){
- cout<<"No Student in this department or " ;
- cout<<"department does ";
- cout<<"not exist^_^\n\n\n\n";
- }
- else{
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- }
- break;}
- case 3:
- {
- cout<<"Enter DGPA= ";
- float dgpa;
- cin>>dgpa;
- vector<student> students;
- students=temp.search_by_dgpa(arr,dgpa);
- if(students.size()==0){
- cout<<"I think it is only you\n\n\n\n";
- }
- else{
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- }
- break;}
- case 4:
- {
- cout<<"Enter Department= ";
- string dept;
- cin>>dept;
- vector<student> students;
- students=temp.topper(arr,dept);
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- break;}
- case 5:
- {
- cout<<"CSE toppers\n";
- string dept="CSE";
- vector<student> students;
- students=temp.topper(arr,dept);
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- cout<<"IT toppers\n";
- dept="IT";
- students=temp.topper(arr,dept);
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- cout<<"CT toppers\n";
- dept="CT";
- students=temp.topper(arr,dept);
- for(int i=0;i<students.size();i++){
- students[i].show_record();
- }
- break;}
- default:
- {
- break;}
- }
- }
- break;}
- default:
- {
- break;}
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment