• Viernes 8 de Noviembre de 2024, 23:00

Autor Tema:  pasar estructuras a funciones en c++  (Leído 2081 veces)

cabeto14

  • Nuevo Miembro
  • *
  • Mensajes: 17
  • Nacionalidad: co
    • Ver Perfil
pasar estructuras a funciones en c++
« en: Lunes 18 de Enero de 2010, 23:57 »
0
hola. estoy haciendo un programa para practicar estructuras. el programa dice:

"Escribir un programa que almacene en un array los nombres y números de teléfono de 10 personas. El programa debe leer los datos introducidos por el usuario y guardarlos en memoria. Después debe ser capaz de buscar el nombre correspondiente a un número de teléfono y el teléfono correspondiente a una persona. Ambas opciones deben se accesibles a través de un menú, así como la opción de salir del programa. El menú debe tener esta forma, más o menos:
a) Buscar por nombre
b) Buscar por número de teléfono
c) Salir
Pulsa una opción:
"

para eso hice 3 funciones una para ingresar (quiero hacer el programa mas complicado), una para buscar por numero y otra para buscar por el nombre. haciendo mi programa me encuentro con la necesidad de pasar la estructura por referencia a las funciones.hice mi estructura de la siguiente manera: cree dos arreglos miembro, uno de tipo char y otro de tipo int y un arreglo de tipo estructura asi:
Código: C++
  1.  
  2. struct info{
  3.       char nombre [20];
  4.       int numero [10];
  5.   }plantilla[10];
  6.  
  7.  

entonces mi pregunta es como puedo pasar ese arreglo de estructura a una función por referencia y por valor.

gracias.

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: pasar estructuras a funciones en c++
« Respuesta #1 en: Martes 19 de Enero de 2010, 01:17 »
0
Cita de: "cabeto14"
mi pregunta es como puedo pasar ese arreglo de estructura a una función por referencia y por valor.

Los arreglos en C/C++ siempre se pasan por referencia, no es posible pasarlos por valor.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

cabeto14

  • Nuevo Miembro
  • *
  • Mensajes: 17
  • Nacionalidad: co
    • Ver Perfil
Re: pasar estructuras a funciones en c++
« Respuesta #2 en: Martes 19 de Enero de 2010, 19:05 »
0
ok muchas gracias por la aclaracion. pero.. como se pasan?

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: pasar estructuras a funciones en c++
« Respuesta #3 en: Martes 19 de Enero de 2010, 20:10 »
0
Tomando de ejemplo la estructura que pusiste en tu primer mensaje, seria algo como:

Código: C++
  1.  
  2. #include <cstdio>
  3. struct info{
  4.       char nombre [20];
  5.       int numero [10];
  6.   }plantilla[10];
  7.  
  8. void funcion1(info plantilla[])
  9. {
  10. }
  11.  
  12. int main()
  13. {
  14.     funcion1(plantilla);
  15.     return 0;
  16. }
  17.  
  18.  

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

cabeto14

  • Nuevo Miembro
  • *
  • Mensajes: 17
  • Nacionalidad: co
    • Ver Perfil
Re: pasar estructuras a funciones en c++
« Respuesta #4 en: Miércoles 20 de Enero de 2010, 03:54 »
0
muchisimas gracias profesor x. una cosa mas como seria la declaracion si la estructura se encuentra en la funcion main? por ahi vi que se utiliza el operador :: pero no estoy seguro.

gracias