Título: Mini-lib para hacer graficos en consola (versiones en C y C++) Publicado por: HardForo en 22 Abril 2016, 22:29 pm Presento una mini-libreria para dibujar en modo texto en C / C++ de forma muy sencilla y es facil de extender.
(http://i.imgur.com/m9cNtuL.png) (http://hardforo.com/thread-179.html) Funciones: void setcursor(int x, int y); void right(int inc); void left(int inc); void up(int inc); void down(int inc); void dot(int x, int y, char c); void dotAt(char c); void xblock(int x, int y, int len, char c); void yblock(int x, int y, int len, char c); void sline(int x1,int y1, int x2, int y2, char c); void slineto(int x2, int y2, char c); void line(int x1, int y1, int delta_x, int delta_y, int len, char c); void lineto(int delta_x, int delta_y, int len, char c); void diamond(int h, char c); void rectangle(int h, int w, char c); void rect(int x1, int y1, int x2, int y2, char c); void triangle(int h, int angle, char c); Hay una version en C y otra en C++ y las pueden ver aqui (http://goo.gl/9Nrdv3) Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: ivancea96 en 23 Abril 2016, 13:21 pm Un detalle: Guarda la coherencia con las librerías: Si usas C++ y librerías de C++, utiliza todas las de C++ xD (cstdio, cstdlib y cmath)
Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: HardForo en 23 Abril 2016, 14:45 pm Se ha solventado ya el asunto del uso de librerias y se mantendrán (mientras esté en desarrollo) dos versiones distintas: C y C++ ;D
Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: ivancea96 en 23 Abril 2016, 15:19 pm iostream es de C++.
Los namespaces son de C++. Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: HardForo en 23 Abril 2016, 15:26 pm :P
Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: MAFUS en 23 Abril 2016, 15:38 pm Se refiere a las cabeceras stdio, math, stdlib, etc.
Mientras en C son stdio.h, math.h, stdlib.h, ... En C++ son cstdio, cmath, cstdlib, ... Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: HardForo en 23 Abril 2016, 16:12 pm Se refiere a las cabeceras stdio, math, stdlib, etc. Mientras en C son stdio.h, math.h, stdlib.h, ... En C++ son cstdio, cmath, cstdlib, ... Es que uso solo cabeceras .h excepto para iostream que he leido que desde la estandarización de C no es más iostream.h (en compiladores modernos) Entonces, salvo por el comentario de los namespace (corregido) no veo que estoy usando de C++ realmente. Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: ivancea96 en 23 Abril 2016, 16:15 pm "cout" es un objeto de la clase "ostream". Tiene el "operador <<" para enviarle datos.
En C ni hay clases, ni sobrecargas de operadores. Si quieres usar C y no C++, en primer lugar, compila con un compilador de C y no de C++ xD Luego, quita iostream y pon "stdio.h". Ahí tienes printf y scanf, entre otras. Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: HardForo en 23 Abril 2016, 17:06 pm Respecto de cout tienes "razón" (no discuto), al agregar la opcion -lstdc++ sin embargo GCC lo compila sin problemas.
--- EDIT: gracias Ivan, arreglado (no mas cout) ya que por suerte (diseño) solo tenia que tocar render() y eran 2 lineas de codigo :) Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: MAFUS en 23 Abril 2016, 18:18 pm A ver, esto es porqué no me gusta lo de C/C++, la gente tiende a mezclarlos.
C estándar, sin extensiones de compiladores ni otras historias, no tiene sobrecargas; sus archivos de cabecera son los terminados en .h; no necesita castings en los punteros a void. Mientras C++ es todo lo contrario en estos puntos. Título: Re: Dibuje una pirámide, rombo,.... pacman xD Publicado por: HardForo en 23 Abril 2016, 21:02 pm Ciertamente @MAFUS, de hecho voy a hacer dos versiones diferentes para C y C++ desde ahora.
(de momento uso malloc() y free() en C++ pero el programa no tiene bugs conocidos y funciona bien) |