[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 <stdio.h> 
> #include <conio.h> 
> 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 */


Attachment: signature.asc
Description: Esto es una parte de mensaje firmado digitalmente


Reply to: