Primeros pasos en c++
Hola a todos. Estoy dando mis primeros pasos en C++. Tengo el siguiente problema. Me están enseñando a hacer cosas en Windows con turbo c++. Quiero ir adaptando todo lo que vaya aprendiendo a Gnu-Linux y de momento no lo he logrado. Tengo este algoritmo que ejecuto sin problemas en turbo c++ en Güindous: #include #include void main() { clrscr();textmode(BW80); gotoxy(35,12);printf ("HOLA"); gotoxy(20,22);printf("Presione una tecla para seguir");getch(); } Como podrán ver la idea es tan simple como lograr que en la pantalla se lea Hola y luego presione cualquier tecla para seguir. Por lo que he investigado conio.h no existe en gnu-linux y se debe reemplazar por ncurses.h clrscr debiera ser con otra sintaxis que si no me equivoco sería clear. Gotoxy también debe ser reemplazado no sé bien si por move. Es decir con el tema de la portabilidad de un algoritmo tan corto he sufrido sendos dolores de cabeza porque me interesa más la programación en Gnu-Linux que en Windows. Entonces como para ir llendo a la par les pido ayuda para dilucidar como transporto este mismo algoritmo a Debian y lo ejecuto ya que fui reemplazando conio.h y los demás que menciono y lo intenté muchas veces pero cada vez que trataba de compilar me daba con g++ uno o más errores, cuando me daba uno modificaba el archivo y los errores aumentaban. Por otro lado si saben de tutoriales, manuales etc que se puedan bajar para ir viendo en paralelo c++ en Debian mientras me lo enseñan en turbo c++. Muchas gracias.
Re: Primeros pasos en c++
Hola Polo! Yo tb estoy dando mis primeros pasos en C++ (orientado a windows, por desgracia..) y como tu dices seria genial poder ir aprendiendo en paralelo (a mi tambien me interesa mas el entorno Linux). Asi es que te agradecere que vayas compartiendo los recursos que encuentres por ahi. Un saludo a t...@s
Re: Primeros pasos en c++
DaniWeTT escribió: Hola Polo! Yo tb estoy dando mis primeros pasos en C++ (orientado a windows, por desgracia..) y como tu dices seria genial poder ir aprendiendo en paralelo (a mi tambien me interesa mas el entorno Linux). Asi es que te agradecere que vayas compartiendo los recursos que encuentres por ahi. Un saludo a t...@s Hola Dani y Polo y demás compañeros. Sin ánimo de ofensa ni nada parecido, creo que lo que mas se adapta a las necesidades de ambos es un grupo, foro, o lista específico para C++. Les sugiero que busquen mediante google "grupo usuarios c++" y encontrarán verdaderas joyas, se lo aseguro. Éxito en la noble meta que se han trazado. Juan Lavieri -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: Primeros pasos en c++
DaniWeTT wrote: Hola Polo! Yo tb estoy dando mis primeros pasos en C++ (orientado a windows, por desgracia..) y como tu dices seria genial poder ir aprendiendo en paralelo (a mi tambien me interesa mas el entorno Linux). Asi es que te agradecere que vayas compartiendo los recursos que encuentres por ahi. Un saludo a t...@s Aquí tienen algo de material. http://www.linux-os.com.ar/linuxos/tag/C Salu2. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: Primeros pasos en c++
El vie, 28-08-2009 a las 02:49 -0400, Polo Oyarzún escribió: > > > Hola a todos. Estoy dando mis primeros pasos en C++. Tengo el > siguiente problema. Me están enseñando a hacer cosas en Windows con > turbo c++. Quiero ir adaptando todo lo que vaya aprendiendo a > Gnu-Linux y de momento no lo he logrado. > Tengo este algoritmo que ejecuto sin problemas en turbo c++ en > Güindous: > > #include > #include > void main() > { > clrscr();textmode(BW80); > gotoxy(35,12);printf ("HOLA"); > gotoxy(20,22);printf("Presione una tecla para seguir");getch(); > > } Hola, lo que tu código hace es mostrar la palabra "Hola" en una posición determinada de la pantalla. Esto lo hace usando las funciones declaradas en conio.h, que es una librería propia del MS-DOS, no pertenece al estándar de C/C++. En GNU/Linux no existe una alternativa "directa", así que yo simplemente removería las líneas "gotoxy" :P Ncurses es un conjunto de "widgets" para la consola (botones, menús, barras de progreso, etc.), no creo que sea la solución ideal para tu problema. Un libro muy bueno para aprender C++ (no C) es "Thinking in C++" de Bruce Eckel. Está disponible en formato digital en la página del autor y está bajo la licencia Creative Commons: www.mindview.net (en inglés, aunque hay algunas traducciones sin terminar al español). Otro también muy bueno es "The C++ Language" de Bjarne Stroustrup (uno de los creadores del lenguaje). Pero este lo tenés que comprar ;) Lo que NO te recomiendo es aprender ningún lenguaje de programación desde un tutorial de la web, y mucho menos un lenguaje tan complejo como C++, ya que si no tenés los fundamentos teóricos necesarios, es muy difícil que llegues a entender completamente cómo funcionan las cosas y por qué hace lo que hace. Otra cosa más: en C++ la función main tiene que devolver un valor del tipo "int", no void. Seguro uno de los errores que te daba al compilar con g++. Saludos y espero que te sirva. :D -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: Primeros pasos en c++
El vie, 28-08-2009 a las 02:49 -0400, Polo Oyarzún escribió: > > > Hola a todos. Estoy dando mis primeros pasos en C++. Tengo el > siguiente problema. Me están enseñando a hacer cosas en Windows con > turbo c++. Quiero ir adaptando todo lo que vaya aprendiendo a > Gnu-Linux y de momento no lo he logrado. > Tengo este algoritmo que ejecuto sin problemas en turbo c++ en > Güindous: > > #include > #include > void main() > { > clrscr();textmode(BW80); > gotoxy(35,12);printf ("HOLA"); > gotoxy(20,22);printf("Presione una tecla para seguir");getch(); > > } > > Como podrán ver la idea es tan simple como lograr que en la pantalla > se lea Hola y luego presione cualquier tecla para seguir. Por lo que > he investigado conio.h no existe en gnu-linux y se debe reemplazar por > ncurses.h clrscr debiera ser con otra sintaxis que si no me equivoco > sería clear. Gotoxy también debe ser reemplazado no sé bien si por > move. > Es decir con el tema de la portabilidad de un algoritmo tan corto he > sufrido sendos dolores de cabeza porque me interesa más la > programación en Gnu-Linux que en Windows. > Entonces como para ir llendo a la par les pido ayuda para dilucidar > como transporto este mismo algoritmo a Debian y lo ejecuto ya que fui > reemplazando conio.h y los demás que menciono y lo intenté muchas > veces pero cada vez que trataba de compilar me daba con g++ uno o más > errores, cuando me daba uno modificaba el archivo y los errores > aumentaban. Por otro lado si saben de tutoriales, manuales etc que se > puedan bajar para ir viendo en paralelo c++ en Debian mientras me lo > enseñan en turbo c++. > Muchas gracias. Hola Polo, la lista Debian es para asuntos relativos a Debian o temas generales sobre GNU/Linux, creo que lo que tú necesitas es un foro de programadores (C, C++ de preferencia) sobre GNU/Linux. Los hay y bastantes en la red. Sugiero te suscribas a alguno de estos y hagas estas consultas específicas de programación allí. conio.h es un header que no pertenece a las librerías estándar de C y es sólo para W$. GNU/Linux tiene su propia librería, por cierto muchísimo más competente en crear aplicaciones con interfaces de consola que conio.h, esta es curses.h . Tutoriales ... http://www.bulma.net/body.phtml?nIdNoticia=2004 http://es.tldp.org/Tutoriales/NCURSES/tutorial-ncurses.html http://heather.cs.ucdavis.edu/~matloff/UnixAndC/CLanguage/Curses.pdf -- Saludos, Mauricio J. Adonis C. --- Usuario Linux # 482032 Usuario Ubuntu # 25554 Ubuntu Code of Conduct - 1.0.1 signatario (FD9329AC66C0907805831BF8E8D0B29A3AE3D244) --- signature.asc Description: Esto es una parte de mensaje firmado digitalmente
Re: Primeros pasos en c++
El vie, 28-08-2009 a las 02:49 -0400, Polo Oyarzún escribió: > > > Hola a todos. Estoy dando mis primeros pasos en C++. Tengo el > siguiente problema. Me están enseñando a hacer cosas en Windows con > turbo c++. Quiero ir adaptando todo lo que vaya aprendiendo a > Gnu-Linux y de momento no lo he logrado. > Tengo este algoritmo que ejecuto sin problemas en turbo c++ en > Güindous: > > #include > #include > void main() > { > clrscr();textmode(BW80); > gotoxy(35,12);printf ("HOLA"); > gotoxy(20,22);printf("Presione una tecla para seguir");getch(); > > } > > Como podrán ver la idea es tan simple como lograr que en la pantalla > se lea Hola y luego presione cualquier tecla para seguir. Por lo que > he investigado conio.h no existe en gnu-linux y se debe reemplazar por > ncurses.h clrscr debiera ser con otra sintaxis que si no me equivoco > sería clear. Gotoxy también debe ser reemplazado no sé bien si por > move. > Es decir con el tema de la portabilidad de un algoritmo tan corto he > sufrido sendos dolores de cabeza porque me interesa más la > programación en Gnu-Linux que en Windows. > Entonces como para ir llendo a la par les pido ayuda para dilucidar > como transporto este mismo algoritmo a Debian y lo ejecuto ya que fui > reemplazando conio.h y los demás que menciono y lo intenté muchas > veces pero cada vez que trataba de compilar me daba con g++ uno o más > errores, cuando me daba uno modificaba el archivo y los errores > aumentaban. Por otro lado si saben de tutoriales, manuales etc que se > puedan bajar para ir viendo en paralelo c++ en Debian mientras me lo > enseñan en turbo c++. > Muchas gracias. Ese codigo es C , no C++ y tenes que compilarlo con gcc Las funciones de conio.h podes reemplazarlas por una mugre como: void clrscr(void) { int i; for (i = 0; i < 100; i++) putchar('\n'); } int gotoxy(int x, int y) { char essq[100]; char xstr[100]; char ystr[100]; sprintf(xstr, "%d", x); sprintf(ystr, "%d", y); essq[0] = '\0'; strcat(essq, "\033["); strcat(essq, ystr); strcat(essq, "d"); strcat(essq, "\033["); strcat(essq, xstr); strcat(essq, "G"); printf("%s", essq); return 0; } /* asqueroso pero util para reemplazar los "features de conio.h en los ejercicios que te dan para empezar */ signature.asc Description: Esto es una parte de mensaje firmado digitalmente
Re: Primeros pasos en c++
Más fácil (más corto al menos): #define clrscr() printf("\e[2J") #define gotoxy(x, y) printf("\e[%d;%df", y, x) Más "conio" en https://arco.esi.uclm.es/svn/public/misc/ansicolor/ansicolor.h Saludos 2009/8/29 Angel Claudio Alvarez : > El vie, 28-08-2009 a las 02:49 -0400, Polo Oyarzún escribió: >> >> >> Hola a todos. Estoy dando mis primeros pasos en C++. Tengo el >> siguiente problema. Me están enseñando a hacer cosas en Windows con >> turbo c++. Quiero ir adaptando todo lo que vaya aprendiendo a >> Gnu-Linux y de momento no lo he logrado. >> Tengo este algoritmo que ejecuto sin problemas en turbo c++ en >> Güindous: >> >> #include >> #include >> void main() >> { >> clrscr();textmode(BW80); >> gotoxy(35,12);printf ("HOLA"); >> gotoxy(20,22);printf("Presione una tecla para seguir");getch(); >> >> } >> >> Como podrán ver la idea es tan simple como lograr que en la pantalla >> se lea Hola y luego presione cualquier tecla para seguir. Por lo que >> he investigado conio.h no existe en gnu-linux y se debe reemplazar por >> ncurses.h clrscr debiera ser con otra sintaxis que si no me equivoco >> sería clear. Gotoxy también debe ser reemplazado no sé bien si por >> move. >> Es decir con el tema de la portabilidad de un algoritmo tan corto he >> sufrido sendos dolores de cabeza porque me interesa más la >> programación en Gnu-Linux que en Windows. >> Entonces como para ir llendo a la par les pido ayuda para dilucidar >> como transporto este mismo algoritmo a Debian y lo ejecuto ya que fui >> reemplazando conio.h y los demás que menciono y lo intenté muchas >> veces pero cada vez que trataba de compilar me daba con g++ uno o más >> errores, cuando me daba uno modificaba el archivo y los errores >> aumentaban. Por otro lado si saben de tutoriales, manuales etc que se >> puedan bajar para ir viendo en paralelo c++ en Debian mientras me lo >> enseñan en turbo c++. >> Muchas gracias. > > Ese codigo es C , no C++ y tenes que compilarlo con gcc > > Las funciones de conio.h podes reemplazarlas por una mugre como: > > void clrscr(void) { > int i; > for (i = 0; i < 100; i++) > putchar('\n'); > } > > int gotoxy(int x, int y) { > char essq[100]; > char xstr[100]; > char ystr[100]; > sprintf(xstr, "%d", x); > sprintf(ystr, "%d", y); > essq[0] = '\0'; > strcat(essq, "\033["); > strcat(essq, ystr); > strcat(essq, "d"); > strcat(essq, "\033["); > strcat(essq, xstr); > strcat(essq, "G"); > printf("%s", essq); > > return 0; > } > > /* asqueroso pero util para reemplazar los "features de conio.h en los > ejercicios que te dan para empezar */ > > > -- «...aunque termine en cambio qué? cambio.» Stewie -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org