Knobody

Untitled

Aug 12th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.10 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. class student{
  5.     string name;
  6.     int roll;
  7.     string dept;
  8.     vector<float> cgpa={0,0,0,0};
  9.     float dgpa;
  10. public:
  11.     init(char a[],int r,string d,vector<float> cg){
  12.         string temp(a);
  13.         name=temp;
  14.         roll=r;
  15.         dept=d;
  16.         cgpa=cg;
  17.         float sum=0;
  18.         for(int i=0;i<4;i++){
  19.             sum+=cg[i];
  20.         }
  21.         dgpa=sum/4.00;
  22.     }
  23.     student(){
  24.         ;
  25.     }
  26.     void show_record(){
  27.         cout<<"Name= "<<name<<"\n\n";
  28.         cout<<"Roll= "<<roll<<"\n\n";
  29.         cout<<"Dept.= "<<dept<<"\n\n";
  30.         cout<<"CGPA1    CGPA2    CGPA3    CGPA4\n";
  31.         cout<<"cgpa[0]    cgpa[1]    cgpa[2]    cgpa[3]"<<"\n\n";
  32.         cout<<"DGPA= "<<dgpa<<"\n\n";
  33.         cout<<"\n\n\n\n";
  34.     }
  35.     bool is_roll(int r){
  36.         return (r==roll);
  37.     }
  38.     student search_by_roll(vector<student> arr,int s){
  39.         vector<student> temp;
  40.         for(int i=0;i<arr.size();i++){
  41.             if(arr[i].roll==s){
  42.                 temp.push_back(arr[i]);
  43.                 break;
  44.             }
  45.         }
  46.         if(temp.size()==0){
  47.             throw string("roll_not_found");
  48.         }
  49.         else{
  50.             return temp[0];
  51.         }
  52.     }
  53.     vector<student> search_by_dept(vector<student> arr,string d){
  54.         vector<student> temp;
  55.         for(int i=0;i<arr.size();i++){
  56.             if(arr[i].dept==d){
  57.                 temp.push_back(arr[i]);
  58.             }
  59.         }
  60.         return temp;
  61.     }
  62.     vector<student> search_by_dgpa(vector<student> arr,float g){
  63.         vector<student> temp;
  64.         for(int i=0;i<arr.size();i++){
  65.             if(arr[i].dgpa>g){
  66.                 temp.push_back(arr[i]);
  67.             }
  68.         }
  69.         return temp;
  70.     }
  71.     /*bool compy(student a,student b){
  72.         return a.dgpa<b.dgpa;
  73.     }*/
  74.     vector<student> topper(vector<student> arr,string dept){
  75.         student temp;
  76.         vector<student> romie;
  77.         romie=search_by_dept(arr,dept);
  78.         temp=arr[0];
  79.         /*sort(romie.begin(),romie.end(),compy);
  80.         auto it=romie.end();
  81.         it--;
  82.         temp=*it;*/
  83.         for(int i=1;i<arr.size();i++){
  84.             if(temp.dgpa<arr[i].dgpa){
  85.                 temp=arr[i];
  86.             }
  87.         }
  88.         romie=search_by_dgpa(romie,temp.dgpa);
  89.         return romie;
  90.     }
  91. };
  92.  
  93. int main() {
  94.     student temp;
  95.     vector<student> arr;
  96.     while(1){
  97.         cout << "\033[2J\033[1;1H";
  98.         cout<<"What do you want?\n";
  99.         cout<<"1. Add Student\n";
  100.         cout<<"2. Search Student\n";
  101.         int choice;
  102.         cin>>choice;
  103.         switch(choice){
  104.             case 1:
  105.             {
  106.                 cout << "\033[2J\033[1;1H";
  107.                 cout<<"Addition Of Student\n\n\n\n";
  108.                 cout<<"Enter Student name= ";
  109.                 char name[20];
  110.                 fflush(stdin);
  111.                 gets(name);
  112.                 cout<<"Enter Roll Number= ";
  113.                 int roll;
  114.                 cin>>roll;
  115.                 cout<<"Enter Depatment= ";
  116.                 string dept;
  117.                 cin>>dept;
  118.                 cout<<"Enter CGPAS= ";
  119.                 vector<float> cgpa(4);
  120.                 for(int i=0;i<4;i++){
  121.                     cin>>cgpa[i];
  122.                 }
  123.                 student p;
  124.                 p.init(name,roll,dept,cgpa);
  125.                 arr.push_back(p);
  126.                 break;}
  127.        
  128.             case 2:
  129.                 {
  130.                 cout << "\033[2J\033[1;1H";
  131.                 cout<<"Search\n\n\n\n";
  132.                 cout<<"1.Search by Roll\n2.Search by Dept.\n3.Cut off DGPA";
  133.                 cout<<"\n4.Specific Dept. Topper\n5.All toppers";
  134.                 cout<<"\nAny other key to go to main menu";
  135.                 cout<<"\n\n\n\n";
  136.                 while(1){
  137.                     int choice;
  138.                     cin>>choice;
  139.                     switch(choice){
  140.                         case 1:
  141.                             {
  142.                             cout<<"Enter Roll= ";
  143.                             int roll;
  144.                             cin>>roll;
  145.                             try{
  146.                                 student s=temp.search_by_roll(arr,roll);
  147.                                 s.show_record();
  148.                             }
  149.                             catch(string std){
  150.                                 cout<<"No Such Roll\n\n\n\n";
  151.                             }
  152.                             break;}
  153.                         case 2:
  154.                         {
  155.                                 cout<<"Enter Department= ";
  156.                             string dept;
  157.                             cin>>dept;
  158.                             vector<student> students;
  159.                             students=temp.search_by_dept(arr,dept);
  160.                             if(students.size()==0){
  161.                                 cout<<"No Student in this department or " ;
  162.                                 cout<<"department does ";
  163.                                 cout<<"not exist^_^\n\n\n\n";
  164.                             }
  165.                             else{
  166.                                 for(int i=0;i<students.size();i++){
  167.                                     students[i].show_record();
  168.                                 }
  169.                             }
  170.                             break;}
  171.                         case 3:
  172.                         {
  173.                                 cout<<"Enter DGPA= ";
  174.                             float dgpa;
  175.                             cin>>dgpa;
  176.                             vector<student> students;
  177.                             students=temp.search_by_dgpa(arr,dgpa);
  178.                             if(students.size()==0){
  179.                                 cout<<"I think it is only you\n\n\n\n";
  180.                             }
  181.                             else{
  182.                                 for(int i=0;i<students.size();i++){
  183.                                     students[i].show_record();
  184.                                 }
  185.                             }
  186.                             break;}
  187.                         case 4:
  188.                         {
  189.                                 cout<<"Enter Department= ";
  190.                             string dept;
  191.                             cin>>dept;
  192.                             vector<student> students;
  193.                             students=temp.topper(arr,dept);
  194.                             for(int i=0;i<students.size();i++){
  195.                                 students[i].show_record();
  196.                             }
  197.                             break;}
  198.                         case 5:
  199.                         {
  200.                                 cout<<"CSE toppers\n";
  201.                             string dept="CSE";
  202.                             vector<student> students;
  203.                             students=temp.topper(arr,dept);
  204.                             for(int i=0;i<students.size();i++){
  205.                                 students[i].show_record();
  206.                             }
  207.                             cout<<"IT toppers\n";
  208.                             dept="IT";
  209.                            
  210.                             students=temp.topper(arr,dept);
  211.                             for(int i=0;i<students.size();i++){
  212.                                 students[i].show_record();
  213.                             }
  214.                             cout<<"CT toppers\n";
  215.                             dept="CT";
  216.                        
  217.                             students=temp.topper(arr,dept);
  218.                             for(int i=0;i<students.size();i++){
  219.                                 students[i].show_record();
  220.                             }
  221.                             break;}
  222.                         default:
  223.                             {
  224.                             break;}
  225.                     }
  226.                
  227.                 }
  228.             break;}
  229.         default:
  230.             {
  231.             break;}
  232.         }
  233.     }
  234.  
  235.     return 0;
  236. }
Add Comment
Please, Sign In to add comment