Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Cjt_estudiants.hh"
- /* Pre: el paràmetre implícit no està ple */
- /* Post: b = indica si el p.i. original conté un estudiant amb el dni d'est;
- si b = fals, s'ha afegit l'estudiant est al paràmetre implícit */
- void Cjt_estudiants::afegir_estudiant(const Estudiant &est, bool& b){
- int pos=cerca_dicot(vest, 0, nest-1, est.consultar_DNI());
- b = vest[pos].consultar_DNI() == est.consultar_DNI();
- if(not b){
- for(int i=nest-1; i>=pos ; --i) vest[i]=vest[i-1];
- //coloco l'element
- ++nest;
- vest[pos] = est;
- //Hay que racalcular nota máxima
- recalcular_posicio_imax();
- }
- //Fet :) 10/10
- }
- /* Pre: cert */
- /* Post: el paràmetre implicit no conté cap estudiant sense nota */
- void Cjt_estudiants::eliminar_estudiants_sense_nota()
- {
- //Lightning speed
- vector<Estudiant> aux(nest);
- //para tener luego el size
- int count = 0;
- for(int i=0; i<nest; ++i){
- if(vest[i].te_nota()){
- aux[count] = vest[i];
- ++count;
- //Tendre el vector ordenado y solo con los que tienen nota
- }
- }
- nest = count;
- //Ahora tranfiero el vector al vector standrad
- for(int i=0; i<nest; ++i){
- vest[i] = aux[i];
- }
- recalcular_posicio_imax();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement