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

 

 


Tema destacado: Curso de javascript por TickTack


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

Desconectado Desconectado

Mensajes: 45


Ver Perfil
No reconoce las variables en funciones
« en: 23 Diciembre 2012, 18:32 pm »

Tengo un programa con varias funciones, pero al compilar me da error
"'lo que sea" undeclared (first used in this function)

void recuento (int t[N][M], int k, char dt[]);


y en el main está puesto
recuento(train,k,datosout);    estando todo esto declarado en el main.

No entiendo por qué da error si se supone que con la llamada se declaran las variables dentro de la funcion :|


En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #1 en: 23 Diciembre 2012, 18:58 pm »

subi el codigo completo. Saludos


En línea

Ahorrate una pregunta, lee el man
twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #2 en: 23 Diciembre 2012, 21:45 pm »

Si sube el codigo porfavor, porque asi no es mucho lo que podemos hacer  :-\
En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #3 en: 23 Diciembre 2012, 22:42 pm »

Busca en que punto declaras N y M, si no lo encuentras , allí tienes el problema ....


Saludos
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #4 en: 24 Diciembre 2012, 13:29 pm »

Buscaré lo de N y M, gracias :)
El código es muy largo (al menos para mi..) 150 lineas, pensé que subirlo seria caos :P
En línea

muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #5 en: 24 Diciembre 2012, 15:57 pm »

N y M están definidas al principio con
#define N 100
#define M 100
asi que por eso no deberia dar problema, no? :|
En línea

flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #6 en: 24 Diciembre 2012, 17:32 pm »

pone la parte del codigo...como pasas los datos desde main a la funcion recuento
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #7 en: 25 Diciembre 2012, 13:01 pm »

#include <stdio.h>
#include <string.h>
#define N 100
#define M 100
void introduceNombre (char dc[N],char dp[N],char dr[N],char dt[N]);
void main(){
  int k,i;
    char datosout[N], datoscomp[N],datosobt[N],datosreal[N];
    float train[N][M], real[N][M], test[N][M], dist[N];

    do{
        printf("Introduzca un numero IMPAR");
        scanf("%d",&k);
    }
    while(k%2==0);

    introduceNombre(datoscomp,datosobt,datosreal,datosout);

}
Y la funcion es:
void introduceNombre (char dc[N],char dp[N],char dr[N],char dt[N])
{
    printf("Introduce nombre de archivo sin extension");
    gets(datoscomp);
    strcpy(datosobt,datoscomp);
    strcpy(datosreal,datoscomp);
    strcpy(datosout,datoscomp);
    strcat(datoscomp,".train");
    strcat(datosobt,".test");
    strcat(datosreal,".real");
    strcat(datosout,".out");
}


(Después tiene más funciones y eso, pero el error es el mismo en todas)
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: No reconoce las variables en funciones
« Respuesta #8 en: 25 Diciembre 2012, 16:36 pm »

Buenas!!

Los errores ocurren porque utilizas en la función introduceNombre las variables datoscomp, datosobt..... cuando esas variables las tienes definidas en el main, es decir, que solo las puedes usar en el main. Los parámetros que le pasas a la función son dc, dp, dr y dt, así que debes usar estos:

Código
  1. void introduceNombre (char dc[N],char dp[N],char dr[N],char dt[N]) {
  2.    printf("Introduce nombre de archivo sin extension");
  3.    gets(dc);
  4.    strcpy(dp,dc);
  5.    strcpy(dr,dc);
  6.    strcpy(dt,dc);
  7.    strcat(dc,".train");
  8.    strcat(dp,".test");
  9.    strcat(dr,".real");
  10.    strcat(dt,".out");
  11. }
  12.  

Lee sobre el alcance de las variables.
Para que se modifique el valor de los parámetros debes pasarlos por referencia.
Main debe devolver un entero.

Saludos
En línea

Breakbeat como forma de vida
muymuyperdido

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: No reconoce las variables en funciones
« Respuesta #9 en: 25 Diciembre 2012, 20:41 pm »

OMG, muchísimas gracias!
¡Vaya error tonto!
Solucionado :D
Pero al compilar y ejecutar me sale un mensaje de error de windows que el programa dejo de funcionar :|
« Última modificación: 25 Diciembre 2012, 20:52 pm por muymuyperdido » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda Python+TK] Sobre variables y funciones
Scripting
xassiz_ 3 3,846 Último mensaje 4 Marzo 2010, 21:21 pm
por xassiz_
Error en mysql funciones y variables.
PHP
turion 6 2,277 Último mensaje 14 Julio 2014, 15:56 pm
por turion
Eclipse no me reconoce las funciones getch() y cls()
Programación C/C++
momo75 4 4,367 Último mensaje 13 Enero 2015, 18:16 pm
por momo75
problema con variables creadas en funciones
Java
4dr14n31t0r 2 1,571 Último mensaje 19 Noviembre 2015, 02:20 am
por furciorifa
No me reconoce las variables.
Programación C/C++
kondrag_X1 8 3,200 Último mensaje 14 Enero 2016, 12:57 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines