Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. #include "Cjt_estudiants.hh"
  2.  
  3. /* Pre: el paràmetre implícit no està ple */
  4. /* Post: b = indica si el p.i. original conté un estudiant amb el dni d'est;
  5.    si b = fals, s'ha afegit l'estudiant est al paràmetre implícit */
  6. void Cjt_estudiants::afegir_estudiant(const Estudiant &est, bool& b){
  7.     int pos=cerca_dicot(vest, 0, nest-1, est.consultar_DNI());
  8.     b = vest[pos].consultar_DNI() == est.consultar_DNI();
  9.     if(not b){
  10.         for(int i=nest-1; i>=pos ; --i) vest[i]=vest[i-1];
  11.         //coloco l'element
  12.         ++nest;
  13.         vest[pos] = est;
  14.         //Hay que racalcular nota máxima
  15.         recalcular_posicio_imax();
  16.     }
  17.     //Fet :) 10/10
  18.    
  19. }
  20.  
  21.  
  22. /* Pre: cert */
  23. /* Post: el paràmetre implicit no conté cap estudiant sense nota */
  24. void Cjt_estudiants::eliminar_estudiants_sense_nota()
  25. {
  26.     //Lightning speed
  27.     vector<Estudiant> aux(nest);
  28.     //para tener luego el size
  29.     int count = 0;
  30.     for(int i=0; i<nest; ++i){
  31.         if(vest[i].te_nota()){
  32.             aux[count] = vest[i];
  33.             ++count;
  34.             //Tendre el vector ordenado y solo con los que tienen nota
  35.         }
  36.     }
  37.     nest = count;
  38.         //Ahora tranfiero el vector al vector standrad
  39.     for(int i=0; i<nest; ++i){
  40.             vest[i] = aux[i];
  41.     }
  42.         recalcular_posicio_imax();
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement