Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2010, 15:34
joiner3700
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
por favor ayudenme con este error

buenas amigos tengo una pequeña duda con mi codigo me sale el siguiente error:

"no matching function for call to `coordenada::registrar(std::string&, std::string&, std::string&)' " y este

"candidates are: void coordenada::registrar(std::string*, std::string*, std::string*) "

y de vderdad no entiendo que significa, estoy usando clases pero como no las entiendo muy bien a lo mejor toy haciendo algo mal, en el programa Simplemente puedes agregar lugares y asociar los lugares a la persona que los registró, en otras palabras yo lo que quiero es saber los N lugares y quien los registró. como ven tengo que guardar los datos de varios usuarios y la unica manera que se me ocurrio es esta,

este es el codigo:
Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #define MAX 50
  4. using namespace std;
  5.  
  6. class coordenada
  7.                 {
  8.                 private:
  9.                        string lugar[MAX];
  10.                        string x[MAX];
  11.                        string y[MAX];
  12.                 public:
  13.                        void registrar(string a[],string b[],string c[]);
  14.                        string mostrar(string ax[],string b[],string c[]);
  15.                 };  
  16.  
  17. void coordenada::registrar(string a[],string b[],string c[])
  18.                             {
  19.                              char op2;
  20.                              do{
  21.                              cout<<"Ingrese nombre del lugar:"<<endl;
  22.                              cin>>a[MAX];
  23.                              this->lugar[MAX]=a[MAX];
  24.                              cout<<"Ingrese coordenada en x:"<<endl;
  25.                              cin>>b[MAX];
  26.                              this->x[MAX]=b[MAX];
  27.                              cout<<"Ingrese coordenada en y:"<<endl;
  28.                              cin>>c[MAX];
  29.                              this->y[MAX]=c[MAX];
  30.                              system("CLS");
  31.                              cout<<"registro exitoso";
  32.                              cout<<"Desea continuar?"<<endl;
  33.                              cout<<"1. no"<<endl;
  34.                              cout<<"1. cualquier otra tecla para continuar"<<endl;
  35.                              cout<<"su opcion fue la numero:";
  36.                              cin>>op2;
  37.                              }while(op2!='1');          
  38.                             };
  39. /*string coordenada::mostrar(string ax[],string b[],string c[])
  40.                                               {
  41.                                              
  42.                                               cout<<this->lugar[a];
  43.                                               cout<< this->x[a];
  44.                                               cout<< this->y[a];
  45.                                                                  
  46.                                               }*/
  47.  
  48.  
  49. class persona
  50.              {
  51.              public:
  52.                     string nombre;
  53.                     long int cedula;
  54.                     string id;
  55.              };
  56.  
  57. void parametros_incorrectos()
  58.                              {
  59.                               system("CLS");
  60.                               cout<<"parametros incorrectos";
  61.                               system("pause>nul");
  62.                               system ("CLS");      
  63.                              }
  64.  
  65. int main(int argc, char *argv[])
  66. {
  67.     //variables
  68.     char op1;
  69.     char op2;
  70.     string ax[MAX];
  71.     string bx[MAX];
  72.     string cx[MAX];
  73.     //--------------------------------
  74.    
  75.   coordenada *Newcoor= new coordenada;
  76.    persona *usuario= new persona;
  77.    
  78.     do{
  79.     system("CLS");
  80.     cout<<"---------------------------REGISTRO DE COORDENADAS------------------------------"<<endl;
  81.     cout<<"Indique accion:"<<endl;
  82.     cout<<"1. Agregar una coordenada al sistema"<<endl;
  83.     cout<<"2. Crear un usuario"<<endl;
  84.     cout<<"3. Salir"<<endl;
  85.     cout<<"su accion seleccionada fue:";
  86.     cin>>op1;
  87.     switch(op1)
  88.                {
  89.                case '1':
  90.                    
  91.                   system("CLS");
  92.                   Newcoor->registrar(ax[MAX],bx[MAX],cx[MAX]);
  93.                   system("pause>nul");  
  94.                break;
  95.                case '2':
  96.                break;
  97.                
  98.                case '3':
  99.                break;
  100.                default:
  101.                       parametros_incorrectos();
  102.                break;
  103.                
  104.                }
  105.    
  106.    
  107.     }while(op1!='3');
  108.     system("PAUSE");
  109.     return EXIT_SUCCESS;
  110. }

nota: se me dijo que debo usar solo clases