Mini-lib para hacer graficos en consola (versiones en C y C++)

Iniciado por HardForo, 22 Abril 2016, 22:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

HardForo

Presento una mini-libreria para dibujar en modo texto en C / C++ de forma muy sencilla y es facil de extender.




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
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

ivancea96

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)

HardForo

#2
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
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

ivancea96

iostream es de C++.
Los namespaces son de C++.

HardForo

#4
 :P
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

MAFUS

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, ...

HardForo

Cita de: 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, ...

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.
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

ivancea96

"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.

HardForo

#8
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 :)
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

MAFUS

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.