Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MrCookie40 en 29 Mayo 2017, 03:17 am



Título: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MrCookie40 en 29 Mayo 2017, 03:17 am
Ayuda, tengo este codigo y lo quiero copilar en Lenguaje C, el problema es que en la linea 9 ("int x,y,x0,y0;" me da el siguiente error " [Warning] built-in function 'y0' declared as non-function" y no se el porque, estoy programando en Dev C++ porque es donde me pidieron el programa xd

Código:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>


char c;
char tecla;
int x,y,x0,y0;
int laberint[21][66];
char grafica[20];  
char true;

 void gotoxy(int x,int y){  
      HANDLE hcon;  
      hcon = GetStdHandle(STD_OUTPUT_HANDLE);  
      COORD dwPos;  
      dwPos.X = x;  
      dwPos.Y= y;  
      SetConsoleCursorPosition(hcon,dwPos);  
 }  
int main(){  
     gotoxy(28,0);  
    printf("Bienvenido al laberinto xd");
gotoxy(28,1);  
    printf("Para jugar, usa las letras A, S, D, W");
     gotoxy(28,2);  
    printf(" A = Izquierda\n S = Abajo\n D = Derecha \n W = Arriba ");
gotoxy(28,6);  
    printf("Disfrutalo");
     gotoxy(28,7);  
    printf("Presiona cualquier tecla para empezar...");
    tecla=getch();

x0=34;
y0=8;


for (x=35;x<=65;x++)
for (y=5;y<=20;y++)
{
laberint[y][x]=rand()%2;  
}
laberint[x0][y0]=0;
x=x0;
y=y0;

while(true)
{
system("CLS");
grafica[0]=0;
for(y0=0;y0<20;y0++)
{
for(x0=0;x0<65;x0++)
{
if(x0==x&&y0==y)
sprintf(grafica,"%s%c",grafica, 42);
else if(laberint[y0][x0]>0)
sprintf(grafica,"%s%c",grafica, 219);
else
sprintf(grafica,"%s%c",grafica, ' ');

}
if(y0<21)
sprintf(grafica,"%s%s",grafica,"\n");
}
puts(grafica);



c=getch();
switch(c)
{
case 'a':
if(x>0)
if(laberint [y][x-1]==0)
x--;
break;
case 'd':
if(x<79)
if(laberint [y][x+1]==0)
x++;
break;
case 'w':
if(y>0)
if(laberint [y-1][x]==0)
y--;
break;
case 's':
if(y<25)
if(laberint [y+1][x]==0)
y++;
break;
case 27:
exit(0);
default:
system("CLS");
}
}
return 0;
}





Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: engel lex en 29 Mayo 2017, 03:38 am
Dev c por alguna razón incluye librerías no solicitadas... o tal vez está incluida en conio.h, o tal vez windows.h... y0, y1 y y2 son funciones matemáticas incluidas en math.h... el error es que estás usando una funcion como nombre de variable


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MrCookie40 en 29 Mayo 2017, 03:39 am
Dev c por alguna razón incluye librerías no solicitadas... o tal vez está incluida en conio.h, o tal vez windows.h... y0, y1 y y2 son funciones matemáticas incluidas en math.h... el error es que estás usando una funcion como nombre de variable

¿Entonces que es lo que debo hacer xd? la verdad soy muy novato en esto hahaha


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: engel lex en 29 Mayo 2017, 03:40 am
usa un noombre de variable diferente a y0... usa y_0


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MrCookie40 en 29 Mayo 2017, 03:43 am
usa un noombre de variable diferente a y0... usa y_0

Ya lo he intentado, pero al hacer de esto solo muestra los "printf" y al teclear algo este se finaliza...


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: engel lex en 29 Mayo 2017, 03:47 am
wow acabo de notar que tu eres el del laberinto XD montaste eso rapido!

cambia y0 por y_0 y muestra como quedó tu código


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MrCookie40 en 29 Mayo 2017, 03:48 am
wow acabo de notar que tu eres el del laberinto XD montaste eso rapido!

cambia y0 por y_0 y muestra como quedó tu código

Hahaha, si, soy yo xdxd, asi quedo el codigo...
Código:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>


char c;
char tecla;
int x,y;
int x0,y_0;
int laberint[21][66];
char grafica[20]; 
int true;

 void gotoxy(int x,int y){ 
      HANDLE hcon; 
      hcon = GetStdHandle(STD_OUTPUT_HANDLE); 
      COORD dwPos; 
      dwPos.X = x; 
      dwPos.Y= y; 
      SetConsoleCursorPosition(hcon,dwPos); 
 } 
int main(){ 
     gotoxy(28,0); 
    printf("Bienvenido al laberinto xd");
gotoxy(28,1); 
    printf("Para jugar, usa las letras A, S, D, W");
     gotoxy(28,2); 
    printf(" A = Izquierda\n S = Abajo\n D = Derecha \n W = Arriba ");
gotoxy(28,6); 
    printf("Disfrutalo");
     gotoxy(28,7); 
    printf("Presiona cualquier tecla para empezar...");
    tecla=getch();

x0=34;
y_0=8;


for (x=35;x<=65;x++)
for (y=5;y<=20;y++)
{
laberint[y][x]=rand()%2; 
}
laberint[x0][y_0]=0;
x=x0;
y=y_0;

while(true)
{
system("CLS");
grafica[0]=0;
for(y_0=0;y_0<20;y_0++)
{
for(x0=0;x0<65;x0++)
{
if(x0==x&&y_0==y)
sprintf(grafica,"%s%c",grafica, 42);
else if(laberint[y_0][x0]>0)
sprintf(grafica,"%s%c",grafica, 219);
else
sprintf(grafica,"%s%c",grafica, ' ');

}
if(y_0<21)
sprintf(grafica,"%s%s",grafica,"\n");
}
puts(grafica);



c=getch();
switch(c)
{
case 'a':
if(x>0)
if(laberint [y][x-1]==0)
x--;
break;
case 'd':
if(x<79)
if(laberint [y][x+1]==0)
x++;
break;
case 'w':
if(y>0)
if(laberint [y-1][x]==0)
y--;
break;
case 's':
if(y<25)
if(laberint [y+1][x]==0)
y++;
break;
case 27:
exit(0);
default:
system("CLS");
}
}
system("pause");
}





Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: engel lex en 29 Mayo 2017, 03:54 am
tu getch de movimiento está fuera del ciclo, por lo que al presionarlo, el programa llega a su fin

hasta donde llega? (te recomiendo aprender a usar el debugger (depurador) de tu ide (devc++) para que puedas navegar con más facilidad estos problemas


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MrCookie40 en 29 Mayo 2017, 04:01 am
tu getch de movimiento está fuera del ciclo, por lo que al presionarlo, el programa llega a su fin

hasta donde llega? (te recomiendo aprender a usar el debugger (depurador) de tu ide (devc++) para que puedas navegar con más facilidad estos problemas

Pues al correr el programa solo llega hasta la linea "Presiona cualquier tecla para empezar..." y al teclear algo pues finaliza...


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: engel lex en 29 Mayo 2017, 04:06 am
no puedo probar tu codigo porque ando en linux, pero revisé bien, tu getch si está en el while...

pero creo que deberías usar directamente printf para mostrar en lugar de cargarlo en una variable y puego usar puts...


Título: Re: Ayuda con este problema "[Warning] built-in function 'y0' declared as non-functi
Publicado por: MAFUS en 29 Mayo 2017, 10:32 am
Lo que he visto. Comprimo el código para poner las sentencias que generan el error cerca:
Código:
int laberint[21][66];
x0=34;
y_0=8;
laberint[x0][y_0]=0;

Obviamente laberint es escrito muy lejos de su límite.