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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)  (Leído 2,962 veces)
LoQueSeaPI

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)
« en: 15 Septiembre 2016, 23:53 pm »

Hola a todos, estoy tratando de hacer la parte de un programa en el que lleno lo que es una nómina usando un arreglo bidimensional y luego éste arreglo lo quiero enviar a otra función en la que lo imprimiré; a parte de eso también quiero llamar a la función en la que se imprime el arreglo dentro de un menú, sin embargo me ha surgido un error tras otro. Se que todo se podría hacer dentro de una sola función, pero esto es una síntesis del programa (el programa en sí es muy largo y necesito de las funciones), creo que se podría hacer con punteros pero no tengo ni idea de como sería.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define filas 6
  5. #define columnas 4
  6.  
  7. int llenarNomina(int N[filas][columnas]);
  8. int mostrarNomina(int N[filas][columnas]);
  9.  
  10. void menu();
  11.  
  12. void main (){
  13.   menu();
  14. }
  15.  
  16. void menu(){
  17.   int opc;
  18.   printf("MENU\n");
  19.   printf("1. Nueva Nomina\n");
  20.   printf("2. Mostrar Todas las Nominas\n");
  21.   printf("Ingrese opcion: ");
  22.   scanf("%d",opc);
  23.  
  24.   switch(opc){
  25.      case 1:
  26.         /*Estoy tratando de hacer que cuando ingrese a la opcion 1, vaya directamente a la función llenarNomina*/
  27.         llenarNomina(int N[filas][columnas]); // Aca me da un severo error
  28.         break;
  29.      case 2:
  30.         mostrarNomina(int N[filas][columnas]);
  31.         break
  32.      default:
  33.         printf("Opcion Incorrecta");
  34. }
  35.  
  36. int llenarNomina(int N[filas][columnas]){
  37.   //ACA SE RELLENA EL ARREGLO
  38.   return N[filas][columnas];
  39. }
  40.  
  41. int mostrarNomina(int N[filas][columnas]){
  42.   //ACA SE IMPRIME EL ARREGLO
  43.   return N[filas][columnas];
  44. }
  45.  


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)
« Respuesta #1 en: 16 Septiembre 2016, 00:00 am »

Hola tienes que declarar primero el arreglo antes de llamar a las funciones mencionadas

Ejemplo:

Código
  1. void menu(){
  2. int N[filas][columnas];
  3.   int opc;
  4.   printf("MENU\n");
  5.   printf("1. Nueva Nomina\n");
  6.   printf("2. Mostrar Todas las Nominas\n");
  7.   printf("Ingrese opcion: ");
  8.   scanf("%d",opc);
  9.  
  10.   switch(opc){
  11.      case 1:
  12.         /*Estoy tratando de hacer que cuando ingrese a la opcion 1, vaya directamente a la función llenarNomina*/
  13.         llenarNomina(N); // Aca me da un severo error
  14.         break;
  15.      case 2:
  16.         mostrarNomina(N);
  17.         break
  18.      default:
  19.         printf("Opcion Incorrecta");
  20. }


En línea

LoQueSeaPI

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)
« Respuesta #2 en: 16 Septiembre 2016, 00:19 am »

Hola! He hecho lo que me has dicho y ha compilado, sin embargo cuando ingreso al menu de opciones y por ejemplo ingreso a la opcion 1, simplemente el programa finaliza de ejecutarse.  :-(
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Pasar/Recibir arreglo bidimensional en diversas funciones (Lenguaje C)
« Respuesta #3 en: 16 Septiembre 2016, 00:30 am »

Donde termina tu funcion menu?

falta un } para el switch o para la funcion, ademas ya estando en tu funcion llenarNomina no se que realice.. tal vez tratas de escribir fuera de los limites de la memoria o algun otro tipo de error.

saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Apuntador a arreglo bidimensional en c
Programación C/C++
UltimateDragoon 2 5,106 Último mensaje 3 Octubre 2011, 23:05 pm
por UltimateDragoon
Arreglo bidimensional
Programación C/C++
luiisyolmaan 2 2,958 Último mensaje 4 Octubre 2012, 14:31 pm
por leosansan
ordenar arreglo bidimensional
Programación C/C++
jona1107 1 4,996 Último mensaje 18 Noviembre 2012, 17:37 pm
por durasno
Arreglo de apuntadores vs. arreglo común en lenguaje C.
Programación C/C++
NOB2014 1 3,290 Último mensaje 1 Octubre 2016, 23:29 pm
por dato000
Pasar archivo de texto a un arreglo bidimensional en C
Programación C/C++
Philips 1 1,836 Último mensaje 17 Mayo 2019, 02:57 am
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines