• Martes 12 de Noviembre de 2024, 20:52

Autor Tema:  Como arreglo este código?  (Leído 2949 veces)

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Como arreglo este código?
« en: Martes 30 de Junio de 2009, 00:58 »
0
Hola, soy nuevo en c++ y estoy viendo el manual de c.conclase.net, y no he podido resolver este problema:


Tengo este código pero no me funciona  :wacko:
Código: C++
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Persona {
  5.    char Nombre[20];
  6.    char Telefono[9];
  7.    char* GetNombre()
  8.    {
  9.        return Nombre;
  10.    }
  11.    char* GetTelefono()
  12.    {
  13.        return Telefono;
  14.    }
  15.    void SaveNombre(n[20])
  16.    {
  17.        Nombre = n[20];
  18.        return;
  19.    }
  20.    void SaveTelefono(t[9])
  21.    {
  22.        Telefono = t[9];
  23.        return;
  24.    }
  25. };
  26.  
  27.  
  28. int main()
  29. {
  30.     Persona personas[20];
  31.     char opc, n[20], t[9];
  32.     int npersona = 0;
  33.    
  34.     do
  35.     {
  36.         cout << "Eliga una opción" << endl
  37.              << "a) Ingresar una persona" << endl
  38.              << "b) Buscar por nombre" << endl
  39.              << "c) Buscar por teléfono" << endl
  40.              << "d) Salir" << endl;
  41.         cin >> opc;
  42.        
  43.         switch(opc)
  44.         {
  45.             case 'a': cout << "Nombre: " << endl;
  46.                       cin >> n;
  47.                       personas[npersona].SaveNombre(n);
  48.                       cout << "Teléfono: " << endl;
  49.                       cin >> t;
  50.                       personas[npersona].SaveTelefono(t);
  51.                       npersona++;
  52.                       break;
  53.             case 'b': if(not npersona)
  54.                       {
  55.                           cout << "No hay personas" << endl;
  56.                           break;
  57.                       }
  58.                       for(int i = 0; i < npersona; i++)
  59.                       {
  60.                           if(personas[i].GetNombre == personas[npersona].GetNombre)
  61.                           {
  62.                               cout << "Nombre Encontrado:" << endl
  63.                                    << "Nombre: " << personas[i].Nombre << endl
  64.                                    << "Telefono: " << personas[i].Telefono << endl;
  65.                           }
  66.                           break;
  67.                       }
  68.                       cout << "Nombre no encontrada" << endl;
  69.                       break;
  70.             case 'c': if(not npersona)
  71.                       {
  72.                           cout << "No hay personas" << endl;
  73.                           break;
  74.                       }
  75.                       for(int i = 0; i < npersona; i++)
  76.                       {
  77.                           if(personas[i].GetTelefono == personas[npersona].GetTelefono)
  78.                           {
  79.                               cout << "Telefono Encontrado:" << endl
  80.                                    << "Nombre: " << personas[i].GetNombre << endl
  81.                                    << "Telefono: " << personas[i].GetTelefono << endl;
  82.                           }
  83.                           break;
  84.                       }
  85.                       cout << "Telefono no encontrado" << endl;
  86.                       break;
  87.             case 'd': opc = '0';
  88.                       break;
  89.             default: opc = '1';
  90.                      cout << "Opción no Válida" << endl;
  91.                      break;
  92.         }
  93.     }while(opc != '0');
  94.    
  95.     return 0;  
  96. }
  97.  

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #1 en: Martes 30 de Junio de 2009, 09:46 »
0
¿Que es lo que no funciona de ese codigo?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #2 en: Martes 30 de Junio de 2009, 23:48 »
0
La verdad no sé simplemente me lanza muchos errores, que no entiendo ya que soy nuevito en esto de C++, trabajo en ubuntu con geany como IDE, lo puedes compilar para ver, porque me lanza muchos errores que no entiendo, si me pudieran ayudar sería genial ;)

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #3 en: Miércoles 1 de Julio de 2009, 00:06 »
0
Bueno, de a poco:

Cuando quieras pasar cadenas usa char *variable y despues strncpy si tenes un tamaño especifico en el destino, ejemplo:

Código: C++
  1. void SaveNombre(char *n)
  2. {
  3.   strncpy(Nombre, n, sizeof(Nombre) - 1);
  4. }
  5.  


not es !.

Cuando llamas a un metodo tenes que usar (), aca no lo hiciste:
Código: C++
  1. if(personas[i].GetNombre == personas[npersona].GetNombre)
  2.  

Igual las cadenas hay que compararlas con strcmp:
Código: C++
  1. if(!strcmp(personas[i].GetNombre(), personas[npersona].GetNombre()))
  2.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #4 en: Miércoles 1 de Julio de 2009, 01:13 »
0
Wow, ya me di cuenta, muchas gracias, para usar strncpy tengo que agregar #include <string> cierto?

Una duda más, creo que hay una funcion para comparar cadenas, ya que me lanza un error al ocupar ==. En internet la vi, pero no entendi como se ocupaba.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #5 en: Miércoles 1 de Julio de 2009, 08:01 »
0
Si, busca documentacion cuando tengas dudas:
http://www.cplusplus.com/reference/clib ... ng/strncpy.

Podes usar strcmp, hay un ejemplo en mi anterior mensaje.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #6 en: Miércoles 1 de Julio de 2009, 22:04 »
0
Tienes razón y no me había dado cuenta, gracias por la web no la conocía, de ahora en adelante cuando tenga dudas de documentación buscare ahí para no molestar aquí. Muchas gracias por la ayuda, ojalá pueda devovlerla.

OFFTOPIC: El foro esta buenisimo, me gusto mucho, felicitaciones ;)

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #7 en: Miércoles 1 de Julio de 2009, 22:14 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #8 en: Miércoles 1 de Julio de 2009, 22:54 »
0
Uff, yo denuevo y por lo mismo, este código salio duro, mira, finalmente con todo lo que me dijiste quedo así, pero me sigue lanzando unos errores de variables en la función main.
Código: C++
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. struct Persona{
  6.     char Nombre[20];
  7.     char Fono[9];
  8.    
  9.     char GetName(){
  10.         return *Nombre;
  11.     }
  12.    
  13.     char GetFone(){
  14.         return *Fono;
  15.     }
  16.    
  17.     void SaveName(char *n){
  18.         strncpy(Nombre, n, sizeof(Nombre) - 1);
  19.     }
  20.    
  21.     void SaveFone(char *t){
  22.         strncpy(Fono, t, sizeof(Fono) - 1);
  23.     }
  24. };
  25.  
  26. int main(){
  27.     Persona personas[20];
  28.     char opc, fono[9], nombre[20];
  29.     int npersona=0;
  30.    
  31.     do {
  32.         cout << "Eliga que hacer" << endl        // Esto es el Menu
  33.              << "a) Ingresar una Persona" << endl
  34.              << "b) Buscar por nombre" << endl
  35.              << "c) Buscar por telefono" << endl
  36.              << "d) Salir" << endl;
  37.         cin >> opc;
  38.        
  39.         switch(opc) {
  40.             case 'a': cout << "Ha elegido Ingresar una Persona" << endl  // Ingresar una persona
  41.                            << "Nombre: ";
  42.                       cin >> nombre;
  43.                       personas[npersona].SaveName(nombre); //Guardamos el nombre
  44.                      
  45.                       cout << "Teléfono: ";
  46.                       cin >> fono;
  47.                       personas[npersona].SaveFone(fono); //Guardamos el Teléfono
  48.                      
  49.                       npersona++; //Aumentamos el numero de npersona para no sobreescribir datos
  50.                       break;
  51.                      
  52.             case 'b': if(!npersona){  // Busca por nombre y si no hay personas guardadas manda error
  53.                           cout << "Error, no hay personas" << endl;
  54.                           break;
  55.                       }
  56.                       cout << "Ingrese un nombre a buscar: " << endl;
  57.                       cin >> nombre;
  58.                       for(int i=0; i<npersona; i++){   // Buscamos si algun nombre calza
  59.                           if(!strcmp(personas[i].GetName(), nombre)) {
  60.                               cout << "Nombre encontrado" << endl
  61.                                    << "Nombre: " << personas[i].GetName << endl
  62.                                    << "Teléfono: " << personas[i].GetFone << endl << endl;
  63.                           }
  64.                           else {
  65.                               cout << "Nombre no encontrado" << endl;
  66.                           }
  67.                       }
  68.                       break;
  69.             case 'c': if(!npersona){   // Busca por telefono y si no hay personas guardadas manda error
  70.                           cout << "Error, no hay personas" << endl;
  71.                           break;
  72.                       }
  73.                       cout << "Ingrese un teléfono a buscar: " << endl;
  74.                       cin >> fono;
  75.                       for(int i=0; i<npersona; i++){  // Buscamos si algun telefono calza
  76.                           if(!strcmp(personas[i].GetFone(), fono)) {
  77.                               cout << "Teléfono encontrado encontrado" << endl
  78.                                    << "Nombre: " << personas[i].GetName << endl
  79.                                    << "Teléfono: " << personas[i].GetFone << endl << endl;
  80.                           }
  81.                           else {
  82.                               cout << "Teléfono no encontrado" << endl;
  83.                           }
  84.                       }
  85.                       break;
  86.             case 'd': opc = '0';
  87.                       break;
  88.             default: opc = '1';
  89.                      break;
  90.         }
  91.     }while(opc != '0');
  92.     return 0;
  93. }
  94.            
  95.  

Los errores son, y la verdad que no los entiendo.:
Citar
g++ -Wall -c "ejercicio.cpp" (en directorio: ---------------------)
ejercicio.cpp: In function ‘int main()’:
La compilación falló.
ejercicio.cpp:59: error: conversión inválida de ‘char’ a ‘const char*’
ejercicio.cpp:59: error:   argumento de inicialización 1 de ‘int strcmp(const char*, const char*)’
ejercicio.cpp:61: error: no match para ‘operator<<’ en ‘std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)((std::basic_ostream<char, std::char_traits<char> >*)((std::basic_ostream<char, std::char_traits<char> >*)std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)(& std::cout)), ((const char*)"Nombre encontrado")))->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>](std::endl [with _CharT = char, _Traits = std::char_traits<char>]))), ((const char*)"Nombre: ")) << personas.Persona::GetName’
/usr/include/c++/4.3/ostream:112: nota: los candidatos son: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:121: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:131: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:169: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:173: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:177: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:97: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:184: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:111: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:195: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:204: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:208: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:213: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:217: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:225: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:229: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:125: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]
ejercicio.cpp:76: error: conversión inválida de ‘char’ a ‘const char*’
ejercicio.cpp:76: error:   argumento de inicialización 1 de ‘int strcmp(const char*, const char*)’
ejercicio.cpp:78: error: no match para ‘operator<<’ en ‘std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)((std::basic_ostream<char, std::char_traits<char> >*)((std::basic_ostream<char, std::char_traits<char> >*)std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)(& std::cout)), ((const char*)"Tel3777777770337777777651fono encontrado encontrado")))->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>](std::endl [with _CharT = char, _Traits = std::char_traits<char>]))), ((const char*)"Nombre: ")) << personas.Persona::GetName’
/usr/include/c++/4.3/ostream:112: nota: los candidatos son: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& (*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:121: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:131: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:169: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:173: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:177: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:97: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:184: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:111: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:195: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:204: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:208: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:213: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:217: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:225: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/ostream:229: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.3/bits/ostream.tcc:125: nota:                     std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #9 en: Jueves 2 de Julio de 2009, 09:15 »
0
Mira el error:
ejercicio.cpp:59: error: conversión inválida de ‘char’ a ‘const char*’

strcmp compara cadenas y le estas pasando un caracter. Los Get con cadenas estaban bien antes, el tipo de retorno es char * (un char solo es un caracter nada, un puntero a char - char * - se usa para la direccion de comienzo de una cadena de caracteres). Asi van:

Código: C++
  1. char* GetName()
  2. {
  3.   return Nombre;
  4. }
  5. char* GetFone()
  6. {
  7.   return Fono;
  8. }
  9.  

Esto ya te lo habia dicho en el mensaje anterior, estas lineas siguen mal (lo haces dos veces en el codigo):
<< "Nombre: " << personas.GetName << endl
<< "Teléfono: " << personas.GetFone << endl << endl;

Estas poniendo GetName y GetFone como si fueran propiedades y son metodos (funciones de la clase), tenes que llamarlos con ().

Con esos cambios compila.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bermann

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #10 en: Jueves 2 de Julio de 2009, 21:59 »
0
Buenisimo y nuevamente disculpa todas las molestias, y de repetir las preguntas. Ya lo probé y funcionó de maravilla ;). Muchisimas gracias

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Como arreglo este código?
« Respuesta #11 en: Jueves 2 de Julio de 2009, 22:23 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.