elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Error en funcion..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Error en funcion..  (Leído 2,725 veces)
Wazzp

Desconectado Desconectado

Mensajes: 34


We have seen the fall of the elite...


Ver Perfil
[C++] Error en funcion..
« en: 27 Enero 2011, 19:20 pm »

Esto es lo que tengo.. en BuscarNombre() Me tira un error.. dice que no se puede comparar puntero y entero.. Se me ocurrio que podria llegar a buscar asi pero parece que no.. Help?



Código
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. struct Persona{
  7.        char Nombre[50];
  8.        int NumTel;
  9. } Plantilla[10];
  10.  
  11. int i,Elec;
  12.  
  13. char BuscarNombre();
  14. int BuscarNumero();
  15.  
  16.  
  17. int main()
  18. {
  19.    cout<<"Ingrese 10 nombres seguidos del numero de telefono.."<<endl;
  20.    cout<<endl;
  21.    for (i=0; i<10; i++)// Se completa el array.
  22.    {
  23.        cin>> Plantilla[i].Nombre;
  24.        cin>> Plantilla[i].NumTel;
  25.    }
  26.    //-----------------------------------------------------
  27.    //           Menu + Opciones                          *
  28.    //-----------------------------------------------------
  29.  
  30.    cout<<"-----------------------------------------"<<endl;
  31.    cout<<"Elige una de las siguientes opciones.."<<endl;
  32.    cout<<"1.- Buscar segun el nombre."<<endl;
  33.    cout<<"2.- Buscar segun el numero de telefono."<<endl;
  34.    cout<<"3.- Salir."<<endl;
  35.    cout<<endl;
  36.    cin>>Elec;
  37.  
  38.    switch(Elec)
  39.    {
  40.        case '1': BuscarNombre();
  41.        case '2': BuscarNumero();
  42.        break;
  43.    }
  44.  
  45.  
  46.  
  47.  getchar();
  48.  return 0;
  49. }
  50.  
  51.  
  52.    char BuscarNombre()
  53.    {
  54.        int BNombre;
  55.        cout<<"Has elegido buscar segun el nombre.."<<endl;
  56.        cout<<"Introduce el nombre de la persona que buscas..."<<endl;
  57.        cin>>BNombre;
  58.        for(i=0; i<10; i++)
  59.        if(BNombre==Plantilla[i].Nombre)
  60.        {
  61.            cout<<Plantilla[i]
  62.            return 0;
  63.        }
  64.    }
  65.  


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [C++] Error en funcion..
« Respuesta #1 en: 27 Enero 2011, 19:29 pm »

Estás intentando comparar un entero(BNombre) con Nombre que es un arreglo de char, fijate en los tipos de datos de tus campos en la estructura. Si quieres comparar busca las funciones que hay en cstring, strcmp() concretamente, aunque después la puedas sustituir por strncmp().

Además aquí:
Código
  1. if(BNombre==Plantilla[i].Nombre)
  2.        {
  3.            cout<<Plantilla[i]
  4.            return 0;
  5.        }

Te falta un punto y coma en el cout.

Saludos.


« Última modificación: 27 Enero 2011, 19:46 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Wazzp

Desconectado Desconectado

Mensajes: 34


We have seen the fall of the elite...


Ver Perfil
Re: [C++] Error en funcion..
« Respuesta #2 en: 28 Enero 2011, 19:47 pm »

Ahh si dsp de mandarlo note lo del " ; " En el cout, gracias.. Ahora leo algo de esas funciones.. si lo termino lo pongo.. aunque es un programa tonto xD

EDIT: Aca va el programa.. si alguien podria tomarse la molestia de probarlo me haria un gran favor.. ya toy llegando tarde a una reunion x_x..

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. struct Persona{
  8.        char Nombre[50];
  9.        int NumTel;
  10. } Plantilla[10];
  11.  
  12. int i,Elec;
  13.  
  14. char BuscarNombre();
  15. int BuscarNumero();
  16.  
  17.  
  18. int main()
  19. {
  20.    cout<<"Ingrese 10 nombres seguidos del numero de telefono.."<<endl;
  21.    cout<<endl;
  22.    for (i=0; i<10; i++)// Se completa el array.
  23.    {
  24.        cin>> Plantilla[i].Nombre;
  25.        cin>> Plantilla[i].NumTel;
  26.    }
  27.    //-----------------------------------------------------
  28.    //           Menu + Opciones                          *
  29.    //-----------------------------------------------------
  30.  
  31.    cout<<"-----------------------------------------"<<endl;
  32.    cout<<"Elige una de las siguientes opciones.."<<endl;
  33.    cout<<"1.- Buscar segun el nombre."<<endl;
  34.    cout<<"2.- Buscar segun el numero de telefono."<<endl;
  35.    cout<<"3.- Salir."<<endl;
  36.    cout<<endl;
  37.    cin>>Elec;
  38.  
  39.    switch(Elec)
  40.    {
  41.        case '1': BuscarNombre();
  42.        case '2': BuscarNumero();
  43.        break;
  44.    }
  45.  
  46.  getchar();
  47.  return 0;
  48. }
  49.  
  50.  
  51.    char BuscarNombre()
  52.    {
  53.        char BNombre[50];
  54.        cout<<"Has elegido buscar segun el nombre.."<<endl;
  55.        for (i=0; i<10; i++)
  56.        {
  57.            cin>>BNombre;
  58.            if (strcmp (BNombre, Plantilla[i].Nombre) == 0)
  59.            {
  60.                cout << Plantilla[i].NumTel;
  61.            }
  62.        }
  63.      return 0;
  64.    }
  65.  
  66.  
  67.    int BuscarNumero()
  68.    {
  69.        int BNumero;
  70.        for (i=0; i<10; i++)
  71.        {
  72.            cin>>BNumero;
  73.            if (BNumero == Plantilla[i].NumTel)
  74.            {
  75.                cout << Plantilla[i].NumTel;
  76.            }
  77.        }
  78.      return 0;
  79.    }
« Última modificación: 29 Enero 2011, 22:02 pm por Wazzp » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines