comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Arreglo de registro como parametro

  • 9 Respuestas
  • 2020 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« en: Septiembre 17, 2015, 09:11:22 pm »
Resulta que tengo el siguiente código:

Cita de: cpp
#include <iostream>

using namespace std;

#define TAM_MAX_REGISTROS 20

 struct{
        int numRegistro;
        string mes;
        string RCF;
        string concepto;
        float monto;

    }ingresoReg[TAM_MAX_REGISTROS];

    struct{
        int numRegistro;
        string mes;
        string concepto;
        float monto;
    }gastoReg[TAM_MAX_REGISTROS];

Y lo voy a pasar como parametro en una función, que es:
Código: C++
  1. void Guardar_i(ingresoReg ing[], int nReg)
  2.         {
  3.                 int i;
  4.  
  5.         ofstream archivo("ingresos.txt",ios::out);
  6.  
  7.         if(!archivo)
  8.         {
  9.             cout << "No se pudo abrir el archivo" << endl;
  10.             exit(1);
  11.         }
  12.  
  13.         for(i=0; i<nReg; i++)
  14.         {
  15.             cout << ing[i].numRegistro << "\t" << ing[i].mes << "\t\t" << ing[i].monto << "\t" << ing[i].RCF
  16.                 << "\t\t" << ing[i].concepto << endl;
  17.             }
  18.  
  19.                 archivo.close();
  20.         }
  21.  

Y la uso de la siguiente manera:
Código: C++
  1. Guardar_i(ingresoReg,nReg);
  2.  

El error es:
Citar
blablabla\archivo.h|34|error: variable or field 'Guardar_i' declared void|
blablabla\archivo.h|34|error: 'ingresoReg' was not declared in this scope|
blablabla|34|error: expected primary-expression before 'int'|

Probé de la siguiente forma:
Código: C++
  1. void Guardar_i(struct ingresoReg ing[], int nReg)
  2.  

Y tampoco, he buscado y probado todo lo que he encontrado en google y no funciona, de tanto que he probado ya ni sé qué estoy haciendo  ::) xD
¿Cuál es el problema? y ¿Cómo puedo solucionarlo?
Zalu2!
« Última modificación: Septiembre 24, 2015, 01:58:50 pm por Gabriela »
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    3.33%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« Respuesta #1 en: Septiembre 18, 2015, 07:39:51 am »
Te hablo desde el lado java porque de C de momento no tengo ni idea:

Cuando se declara un método se le dice si es public private proteted etc sino se  declara nada el  método es comprendido como public.

Después le sigue :sino quieres que retorne ningún dato entonces se pone void o si quieres que retorne algo pues tienes que poner el dato a devolver sea  String Interger , Array[]  o lo que sea.

A continuación van los parámetros en estos parámetros hay que declarar el tipo de dato que va a necesitar  y nombre y creo que aquí es donde tienes el problema por lo que veo le estás pasando por parámetro esto ingresoReg ing[] creo que está mal declarado y luego no lo utilizas en el  método.

Ya de antemano hablo desde mi ignorancia en C pero como tienen  cierta similitud  a java he intentado ayudarte a ver si algún experto en C te ilumina mejor que yo.



No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #2 en: Septiembre 18, 2015, 05:34:03 pm »
No es un método, es una función no tiene porqué ser "public o private", la función que usa el "struct" como parámetro es void, no sé a qué te refieres, quizás no me expliqué bien.

El registro "ing" si que se usa en la función, tampoco sé a qué te refieres con que "no lo utilizo".

He probado con muchas cosas y no me funcionó:
struct ingresoReg ing[]
struct ingresoReg[] ing

entre otras y nada, alguien sabe cómo solucionarlo?
Zalu2
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Moy

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Septiembre 19, 2015, 12:10:45 am »
creo que es asi


Código: C++
  1. void Guardar_i(struct ingresoReg ing[], int nReg){}


y esto:

Código: C++
  1.  struct{
  2.         int numRegistro;
  3.         string mes;
  4.         string RCF;
  5.         string concepto;
  6.         float monto;
  7.  
  8.     }ingresoReg[TAM_MAX_REGISTROS];
  9.  
  10.     struct{
  11.         int numRegistro;
  12.         string mes;
  13.         string concepto;
  14.         float monto;
  15.     }gastoReg[TAM_MAX_REGISTROS];

deberia ser asi

Código: C++
  1.  struct ingresoReg[TAM_MAX_REGISTROS]{
  2.         int numRegistro;
  3.         string mes;
  4.         string RCF;
  5.         string concepto;
  6.         float monto;
  7.  
  8.     }
  9.  
  10.     struct gastoReg[TAM_MAX_REGISTROS]{
  11.         int numRegistro;
  12.         string mes;
  13.         string concepto;
  14.         float monto;
  15.     }

prueba y me dices.

saludos
Código: C++
  1. :)

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #4 en: Septiembre 20, 2015, 01:08:38 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
creo que es asi


Código: C++
  1. void Guardar_i(struct ingresoReg ing[], int nReg){}


Así lo tengo

No tienes permisos para ver links. Registrate o Entra con tu cuenta

deberia ser asi

Código: C++
  1.  struct ingresoReg[TAM_MAX_REGISTROS]{
  2.         int numRegistro;
  3.         string mes;
  4.         string RCF;
  5.         string concepto;
  6.         float monto;
  7.  
  8.     }
  9.  
  10.     struct gastoReg[TAM_MAX_REGISTROS]{
  11.         int numRegistro;
  12.         string mes;
  13.         string concepto;
  14.         float monto;
  15.     }

prueba y me dices.

saludos

Es irrelevante -> No tienes permisos para ver links. Registrate o Entra con tu cuenta) el struct funciona igual.
Sigo sin solucionar el problema  :'(
Zalu2
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Moy

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Septiembre 20, 2015, 05:02:36 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
creo que es asi


Código: C++
  1. void Guardar_i(struct ingresoReg ing[], int nReg){}


Así lo tengo

No tienes permisos para ver links. Registrate o Entra con tu cuenta

deberia ser asi

Código: C++
  1.  struct ingresoReg[TAM_MAX_REGISTROS]{
  2.         int numRegistro;
  3.         string mes;
  4.         string RCF;
  5.         string concepto;
  6.         float monto;
  7.  
  8.     }
  9.  
  10.     struct gastoReg[TAM_MAX_REGISTROS]{
  11.         int numRegistro;
  12.         string mes;
  13.         string concepto;
  14.         float monto;
  15.     }

prueba y me dices.

saludos

Es irrelevante -> No tienes permisos para ver links. Registrate o Entra con tu cuenta) el struct funciona igual.
Sigo sin solucionar el problema  :'(
Zalu2


no es irrelevante de hecho el struct va asi

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
struct IDENTIFICADOR {} OBJETO;
xD

prueba ponerles un identificador y al final tu objeto asi

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
struct cualquiercosa{
        int numRegistro;
        string mes;
        string RCF;
        string concepto;
        float monto;
 
    }ingresoReg[TAM_MAX_REGISTROS];
 
    struct cualquiercosa{
        int numRegistro;
        string mes;
        string concepto;
        float monto;
    }gastoReg[TAM_MAX_REGISTROS];

Código: C++
  1. :)

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #6 en: Septiembre 20, 2015, 06:29:00 pm »
Me refiero a que es irrelevante porque el error no está ahi.

Es lo mismo, lo que tenía a esto, por dar un ejemplo.

Código: C++
  1.  
  2. struct regIngreso{
  3.         int numRegistro;
  4.         string mes;
  5.         string RCF;
  6.         string concepto;
  7.         float monto;
  8.  
  9. regIngreso ingresoReg[TAM];
  10.  
  11.     };

El asunto está en el paso como parametro.
¿Alguien sabe cómo puedo solucionarlo?
Zalu2
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #7 en: Septiembre 20, 2015, 11:43:03 pm »
Creo que con esto resolvés el problema

Código: C++
  1.  
  2. struct Ingreso {
  3.     int numRegistro;
  4.     string mes;
  5.     string RCF;
  6.     string concepto;
  7.     float monto;
  8.  
  9. } ingresoReg[TAM_MAX_REGISTROS];
  10.  
  11. struct Gasto {
  12.     int numRegistro;
  13.     string mes;
  14.     string concepto;
  15.     float monto;
  16. } gastoReg[TAM_MAX_REGISTROS];
  17.  
  18. void guardar_i(Ingreso ing[], int nReg) { /*...*/ }
  19.  

Saludos!
WhiZ


Desconectado Moy

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Septiembre 21, 2015, 03:57:03 am »
WhiZ es lo mismo que intento explicarle xD pero parece que no me explique bien y si esta ahi el problema

blablabla\archivo.h|34|error: variable or field 'Guardar_i' declared void|
blablabla\archivo.h|34|error: 'ingresoReg' was not declared in this scope|
blablabla|34|error: expected primary-expression before 'int'|

no te toma el ingresoReg por que no le habias puesto un identificador xD

y como lo que usabas no era un identificador te daba error en la funcion igual
y lo de blablabla\archivo.h|34|error: variable or field 'Guardar_i' declared void|

es por que seguro estaba justo arriba de la funcion y como el struct estaba mal declarado afectaba las lineas de abajo y tiraba ese error

bueno espero que con el ejemplo de WhiZ ya soluciones tu problema

saludos
« Última modificación: Septiembre 21, 2015, 04:01:45 am por Moy »
Código: C++
  1. :)

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #9 en: Septiembre 22, 2015, 08:50:57 pm »
Gracias por la ayuda, creo que tengo que cambiar de libros jaja  ::)
Zalu2
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 6987
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2181
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 2838
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3414
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 2931
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made