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#include <list>
#include "Persona.h"
#include "Util.h"
#ifndef MANPERSONAS_H
#define MANPERSONAS_H
using namespace std;
std::list<Persona>lista;
static int maxIdP = 0;
int getMaxIdP(){
return ++maxIdP;
}
Persona getPhantom(){
Persona p;
p.id = 0;
p.nom ="";
p.ape ="";
return p;
}
Persona getRow(std::string xnom){
for(Persona p : lista){
if(p.nom == xnom){
return p;
}
}
return getPhantom();
}
Persona getRow(int xid){
for(Persona p : lista){
if(p.id == xid){
return p;
}
}
return getPhantom();
}
bool create(const Persona& p){
if(getRow(p.nom).nom != ""){
return false;
}
else{
lista.push_back(p);
return true;
}
}
bool update(const Persona& p){
Persona per = getRow(p.id);
if(per.nom != p.nom){
if(getRow(p.nom).nom != ""){
return false;
}
}
lista.push_back(p);
}
void deleted(const Persona& p){
}
std::list<Persona> read(){
return lista;
}
#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.