Foros del Web » Programación para mayores de 30 ;) » Programación General »

gotoxy de C

Estas en el tema de gotoxy de C en el foro de Programación General en Foros del Web. Bueno, pues estoy empezando con este lenguaje, ya que creo que es la base para todos los demás. Muestro el codigo fuente del programa: #include ...

  #1 (permalink)  
Antiguo 28/05/2004, 03:26
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta gotoxy de C

Bueno, pues estoy empezando con este lenguaje, ya que creo que es la base para todos los demás. Muestro el codigo fuente del programa:

#include <stdio.h>
#include <conio.h>

int main()
{
printf( "Hola" );
gotoxy(5,10);
getch();
return 0;
}

Mi problema es que me da error en la función gotoxy al compilar. Quisiera saber que es lo que hago mal, ya que si quito el gotoxy, el programa va bien, así que debe de ser de eso. También he probado a ponerlo delante de printf, pero sigue dando error. Espero que me puedan responder. Gracias de antemano.
  #2 (permalink)  
Antiguo 28/05/2004, 03:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 19 años, 10 meses
Puntos: 0
Creo que te hace falta la libreria dos.h, o stdlib.h no estoy seguro, porque no tengo en el curro nada de C para mirarlo. Pero casi al 80% que te hace falta dos.h, si es que estas trabajando en msdos, con un compilador como el Turboc++ o borland c++.
__________________
Alguien sabe como es?
  #3 (permalink)  
Antiguo 28/05/2004, 03:56
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
no, estoy trabajando con Dev-C++. Lo iba a poner antes, pero se me olvidó... Voy a probar de todas formas agregándole esas librerías, ya contaré los resultados
  #4 (permalink)  
Antiguo 28/05/2004, 03:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
no, añadiendole esas librerías me sigue sin funcionar. Por cierto, uso el Dev-C++ en Windows 2000 NT. Gracias de todas formas.
  #5 (permalink)  
Antiguo 28/05/2004, 04:04
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 19 años, 10 meses
Puntos: 0
podrias poner el mesaje de error que te da el compilador?
__________________
Alguien sabe como es?
  #6 (permalink)  
Antiguo 28/05/2004, 04:41
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
[Linker error] undefined reference to `gotoxy'

Eso es exactamente el error que pone abajo, en una especie de log.
  #7 (permalink)  
Antiguo 28/05/2004, 05:08
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 19 años, 10 meses
Puntos: 0
he buscado un ejemplo del gotoxy con ese compilador, y...

#include <stdio.h> /*getchar printf*/
#include <conio.h> /*clrscr*/
#include <dos.h>

int main(void) {

printf("Hola");
clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n\n Hola");
getchar();
clrscr();
gotoxy(12,40);
printf("Esssai");
gotoxy(1,25);
delay(2000);
clrscr();
printf("Esssai");
delay(2000);
clrscr();
printf("Esssai");
}

... y lo curioso es que le da el mismo error sobre el delay pero no dicen nada del gotoxy. Prueba otro compilador, quizas ese compilador da problemas con funciones de msdos
__________________
Alguien sabe como es?
  #8 (permalink)  
Antiguo 28/05/2004, 05:39
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
El problema es que estas tratando de compilar codigo de 16 bits (DOS) con un compilador de 32 bits (Windows). Jamas te va a funcionar.

http://www.c0d3rz.com.ar/foro/viewtopic.php?t=56

Saludos,
Mariano.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 28/05/2004 a las 05:45
  #9 (permalink)  
Antiguo 28/05/2004, 07:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 19 años, 9 meses
Puntos: 0
urgh... muchas gracias. Si no llega a ser por ti, me quedo ahi estancadisimo... que compilador me recomiendas?
P.D.: muchas gracias, fonsypool por tu empeño en ayudarme
  #10 (permalink)  
Antiguo 28/05/2004, 07:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
Supongo que el Turbo C++, realmente no me dedico a la programacion para DOS.

Saludos,
Mariano.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 28/05/2004, 21:33
 
Fecha de Ingreso: marzo-2004
Ubicación: Lerdo en Duragno Mexico
Mensajes: 27
Antigüedad: 20 años
Puntos: 0
No compañero ese no es el problema, Devcpp no incorpora la libreria conio por defecto ya que no es estandar para C.

Pero si la puedes usar de las siguientes dos maneras:
1.-tienes que agregar el archivo "conio.c" que esta en la carpeta inlcude de tu Devcpp al proyecto de tu programa, y listo asi funciona.

2.-Copia el archivo "conio.h" que esta en la carpeta include del Devcpp y ponlo en la carpeta donde este tu archivo fuente, y agrega la linea "
#include <conio.c>"

para mas info busca en la ayuda de DEVCPP conio.h en las FAQs ahi te lo explica.

NO cambies el Devcpp, por nada

Última edición por wario64; 28/05/2004 a las 21:39
  #12 (permalink)  
Antiguo 29/05/2004, 02:10
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
http://www.c-view.org/soft/devcpp/faq.html#conio

"Why can't I use conio.h functions like clrsrc()?
Because conio.h is not part of the C standard. It is a Borland extension, and works only with Borland compilers (and perhaps some other commercial compilers). Dev-C++ uses GCC, the GNU Compiler Collection, as it's compiler. GCC is originally a UNIX compiler, and aims for portability and standards-compliance.

If really can't live without them, you can use Borland functions this way:
Include conio.h to your source, and add C:\Dev-C++\Lib\conio.o to "Further Object Files" in Project Options (where C:\Dev-C++ is where you installed Dev-C++).
Please note that conio support is far from perfect. I only wrote it very quickly."

http://www14.brinkster.com/aditsu/de...faq.html#conio

[Linker error] undefined reference to `clrscr'
Why can't I use conio.h functions like clrscr, gotoxy etc?
First you should note that conio.h is a Borland extension, NOT a standard header, so Dev-C++ and MinGW are in no way required to support it. If you really want to use it, then add conio.c to your project (you can find it in the include folder), or if you have the compiled conio.o then you just need to link it. If the results are still not satisfactory, then use the native Windows console functions.
New: I provide and maintain an updated version of conio (and also winbgim) at http://www14.brinkster.com/aditsu/console/ that will probably solve some problems.


Sigo considerando que no deberias intentar usar ese codigo en Windows, con toda seguridad ese codigo fue compilado originalmente para 16 bits y no para 32 bits, pero hace como mejor te parezca.

__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 29/05/2004 a las 06:35
  #13 (permalink)  
Antiguo 29/05/2004, 14:47
 
Fecha de Ingreso: marzo-2004
Ubicación: Lerdo en Duragno Mexico
Mensajes: 27
Antigüedad: 20 años
Puntos: 0
Otra vez la burra al trigo...

Claro que no esta soportado la libreria conio.h por completo pero la que se utiliza es una modificada para Mingw no la borland
  #14 (permalink)  
Antiguo 29/05/2004, 16:15
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
No se que queres decir con la burra al trigo, pero intentar usar codigo de 16 bits en 32 bits me parece una total estupidez teniendo los servicios de Windows disponibles.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 29/05/2004 a las 16:40
  #15 (permalink)  
Antiguo 13/05/2005, 00:47
Avatar de daidalos  
Fecha de Ingreso: enero-2005
Mensajes: 437
Antigüedad: 19 años, 2 meses
Puntos: 7
Pregunta ¿como incluir conio? AYUDAAA!!!

estoy tratando de aprender programación, uso windows xp, baje el curso de "el rincon del c" , y en la segunda leccion aparece un ejercicio con conio. el compilador Dev-C++ version 4.9.9.0 que estoy usando me genera un error, revise el foro del rincon del C y hay un tema relacionado que dice que tengo que usar una emulacion de conio y da esta direccion para descargarla, segui todos los pasos, puse los archivos donde la expliacion de la emulacion dice y no funciona!!!

el ejercicio es este:

#include <stdio.h>
#include <conio.h>

int main()
{
clrscr();
gotoxy( 20, 10 );
printf( "Estoy aqui" );

return 0;
}

y el error que bota es

92 C:\Dev-Cpp\include\conio.h nonnull argument references non-pointer operand (arg 1, operand 1)

si alguien sabe se lo agradeceria, en los foros he visto a principinates como yo con el mismo problema y nadie da razon, creo que tiene que ver con la manera en que reconoce los includes y donde estan guardados pero no estoy seguro
  #16 (permalink)  
Antiguo 13/05/2005, 01:38
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 10 meses
Puntos: 74
¿Para que complicarte la vida con librerias arcaicas y obsoletas?

La libreria conio.h no te hace falta para nada. clrsrc() limpia la pantalla al estilo del comando cls de MS-DOS y gotoxy() mueve el puntero a una posicion determinada. Segui adelante con el tutorial, te estas preocupando por una nimiedad.

Y si queres REALMENTE usar esas funciones baja el Turbo C++, el compilador donde estan implementadas.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #17 (permalink)  
Antiguo 13/05/2005, 08:17
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
No uses esas funciones.

Lo único que consiguen son que te centres en lo bonito que queda tu programa en vez de en lo que realmente importa.

Si estás aprendiendo, son inútiles.
Si estás haciendo un programa serio, entonces peudes usar la API de Windows que para eso está.
  #18 (permalink)  
Antiguo 13/05/2005, 13:43
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 4 meses
Puntos: 52
Bueno, yo digo que MaxExtreme tiene razon, tambien cuando recien aprendia C me encontre con el mismo problema, entonces deje: para que pongo los colorsitos y muevo el puntero? para que me sirve? para nada....
Mejor si realmente es necesatio usarlas, intento simularlas usando las funciones estandares de stdio y stdlib

Saludos
  #19 (permalink)  
Antiguo 13/05/2005, 14:43
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 18 años, 11 meses
Puntos: 47
Cita:
Iniciado por Instru
Bueno, yo digo que MaxExtreme tiene razon, tambien cuando recien aprendia C me encontre con el mismo problema, entonces deje: para que pongo los colorsitos y muevo el puntero? para que me sirve? para nada....
Mejor si realmente es necesatio usarlas, intento simularlas usando las funciones estandares de stdio y stdlib

Saludos
Eje!!! Yo tambien hice lo mismo cuando programaba en Borland C, de igual por mas bonito que quede sigue siendo bajo DOS. Hay que preocuparse mas por la programacion que por el diseño... aunque algo habrá que ponerle para que la presentación quede aceptable tambien
  #20 (permalink)  
Antiguo 13/05/2005, 14:58
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
Cita:
Iniciado por Developer9
Eje!!! Yo tambien hice lo mismo cuando programaba en Borland C, de igual por mas bonito que quede sigue siendo bajo DOS. Hay que preocuparse mas por la programacion que por el diseño... aunque algo habrá que ponerle para que la presentación quede aceptable tambien
Es en una simple consola... No es que deje de quedar o no bonito. La presentación no cuenta, lo que cuenta es conseguir lo que se pretende.

Por cierto, los programas de consola pueden quedar mucho mejor que los de "Windows", así que no generalicemos.

Si a mi los comandos de *nix me los hubieran puesto en ventanitas y tuviera que usar una para cada comando sería espantoso. También hay grabadores de CDs, reproductores, etc etc todo en consola. Y el uso suele ser más sencillo y eficaz:

"rec imagen.iso" ¿Alguien da más?
  #21 (permalink)  
Antiguo 13/05/2005, 16:48
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 19 años, 10 meses
Puntos: 0
Todo es evolucionar y hacerlo aparentemente mas facil para el usuario, fijo que prefieren pinchar 4 botones que escribir un comando y un nombre de archivo.

Asi ha ido evolucionando la humanidad, y se va reflejando en las maquinas. De un carro con rueda medio cuadradas quien iba a pensar que fuera evolucionar a un coche o similar.
__________________
Alguien sabe como es?
  #22 (permalink)  
Antiguo 13/05/2005, 17:43
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
Cita:
Iniciado por fonsypool
Todo es evolucionar y hacerlo aparentemente mas facil para el usuario, fijo que prefieren pinchar 4 botones que escribir un comando y un nombre de archivo.

Asi ha ido evolucionando la humanidad, y se va reflejando en las maquinas. De un carro con rueda medio cuadradas quien iba a pensar que fuera evolucionar a un coche o similar.
Eso será tu concepto de usuario Windows. Hay más tipos de usuarios...
  #23 (permalink)  
Antiguo 13/05/2005, 17:51
Avatar de daidalos  
Fecha de Ingreso: enero-2005
Mensajes: 437
Antigüedad: 19 años, 2 meses
Puntos: 7
gracias a todos

les hare caso y omitire esa parte de curso
  #24 (permalink)  
Antiguo 13/05/2005, 17:54
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
De nada
  #25 (permalink)  
Antiguo 13/05/2005, 17:54
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 19 años, 10 meses
Puntos: 0
yo no lo digo por windows. Lo digo todo en general. Un video por ejemplo no usa ningun sistema operativo. Yo no hablaba de como ha evolucionado de DOS a WINDOWS
__________________
Alguien sabe como es?
  #26 (permalink)  
Antiguo 14/05/2005, 02:08
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
Cita:
Iniciado por fonsypool
yo no lo digo por windows. Lo digo todo en general. Un video por ejemplo no usa ningun sistema operativo. Yo no hablaba de como ha evolucionado de DOS a WINDOWS
"Un video por ejemplo no usa ningun sistema operativo." ¿Perdón?

Lo que te he dicho es que hay aplicaciones que deben ser de consola porque es su misión, y que no siempre un programa con botoncitos es lo mejor. Y que no todos los usuarios quieren los botoncitos, como tú argumentas.
  #27 (permalink)  
Antiguo 14/05/2005, 14:27
 
Fecha de Ingreso: diciembre-2004
Mensajes: 475
Antigüedad: 19 años, 2 meses
Puntos: 4
hola:
Por que no utilizas el compilador DJGPP, yo lo utilzo y funciona de maravilla, yo programo en C, si te interesa el compilador envia un mail a [email protected]
con gusto te ayudare
  #28 (permalink)  
Antiguo 14/05/2005, 17:28
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 18 años, 11 meses
Puntos: 17
Cita:
Iniciado por crow78
hola:
Por que no utilizas el compilador DJGPP, yo lo utilzo y funciona de maravilla, yo programo en C, si te interesa el compilador envia un mail a [email protected]
con gusto te ayudare
No está preguntando nada de eso...
  #29 (permalink)  
Antiguo 15/03/2008, 08:45
Avatar de Omega_Cloud  
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Re: gotoxy de C

Es bien sabido que los buenos programadores rara vez utilizan entornos graficos para programar.

Pero he aqui mi cuestion, estoy en un aprieto, nececito ayuda, me atore con un ejercicio en el que esta involucrado el gotoxy, pero ya de plano no se como resolverlo:
Tengo que hacer que en pantalla aparesca lo siguiente:
*
* *
* * *
* * * *
* * * * *

Ya de plano no se que como hacerle, no hay problema a la hora de hacer bajar los asteriscos, el problema es a la hora de construir los niveles inferiores de la piramide.
Por favor, si alguien me pudiera dar una Pista.
  #30 (permalink)  
Antiguo 05/04/2008, 14:51
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 15 años, 11 meses
Puntos: 0
Sonrisa Re: gotoxy de C



Hola:

Sintaxis: gotoxy(columnas, filas);

columnas son hacia la derecha y las filas hacia abajo.

Si quieres que aumente una columna o bien la fila. Por ejemplo si estas dentro de un for:

for(x=0;x>n;x++)
{
gotoxy(10+x,8+x);printf("Hola");

}

Ahi aumentas una columna y una fila cada vez que entre en el for y por lo tanto cambiara de posicion.

A ver si te sirve.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:48.