Ver Mensaje Individual
  #39 (permalink)  
Antiguo 18/03/2016, 18:07
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: headers, carpetas y menúes c++

Hola eferion y Instru, gracias por responder, verán intenté hacer que me ordene después de modificar pero no logré implementarlo, Instru hice lo que me dijiste de simplificar y borré el check, quedándome el código de esta forma:

Código C++:
Ver original
  1. #include <list>
  2. #include "Persona.h"
  3. #include "Util.h"
  4. #ifndef MANPERSONAS_H
  5. #define MANPERSONAS_H
  6. using namespace std;    
  7.     std::list<Persona>lista;
  8.     static int maxIdP = 0;
  9.     int getMaxIdP(){
  10.         return ++maxIdP;
  11.     }
  12.     Persona getPhantom(){
  13.         Persona p;
  14.         p.id = 0;
  15.         p.nom ="";
  16.         p.ape ="";
  17.         return p;
  18.     }
  19.     Persona getRow(std::string xnom){
  20.         for(Persona p : lista){
  21.             if(p.nom == xnom){
  22.                 return p;
  23.             }
  24.         }
  25.         return getPhantom();
  26.     }
  27.     Persona getRow(int xid){
  28.         for(Persona p : lista){
  29.             if(p.id == xid){
  30.                 return p;
  31.             }
  32.         }
  33.         return getPhantom();
  34.     }  
  35.     bool create(const Persona& p){
  36.         if(getRow(p.nom).nom != ""){
  37.             return false;
  38.         }
  39.         else{
  40.             lista.push_back(p);
  41.             return true;
  42.         }
  43.     }
  44.     bool update(const Persona& p){
  45.         Persona per = getRow(p.id);
  46.         if(per.nom != p.nom){
  47.             if(getRow(p.nom).nom != ""){
  48.                 return false;
  49.             }
  50.         }
  51.         lista.remove(per);
  52.         lista.push_back(p);
  53.     }
  54.     void deleted(const Persona& p){
  55.         lista.remove(p);        
  56.     }
  57.     std::list<Persona> read(){
  58.         return lista;        
  59.     }  
  60. #endif  /* MANPERSONAS_H */

Sinceramente y no se enojen conmigo, pero lo que me sugieren lo tengo que ver implementado, ya que busque en google ejemplos de editar con lista, y no encontré nada, intenté implementar los ejemplos con iteradores.....
Los punteros no les agarro la mano...
Les pido disculpas por lo que escribo.

Espero su respuesta y saludos.