Programación General > C/C++

 pasar estructuras a funciones en c++

(1/1)

cabeto14:
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++ --- struct info{      char nombre [20];      int numero [10];  }plantilla[10];  
entonces mi pregunta es como puedo pasar ese arreglo de estructura a una función por referencia y por valor.

gracias.

ProfesorX:

--- Cita de: "cabeto14" ---mi pregunta es como puedo pasar ese arreglo de estructura a una función por referencia y por valor.

--- Fin de la cita ---

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

Saludos :)

cabeto14:
ok muchas gracias por la aclaracion. pero.. como se pasan?

ProfesorX:
Tomando de ejemplo la estructura que pusiste en tu primer mensaje, seria algo como:


--- Código: C++ --- #include <cstdio>struct info{      char nombre [20];      int numero [10];  }plantilla[10]; void funcion1(info plantilla[]){} int main(){    funcion1(plantilla);    return 0;}  

cabeto14:
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

Navegación

[0] Índice de Mensajes

Ir a la versión completa