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)
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)
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
iostream es de C++.
Los namespaces son de C++.
:P
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, ...
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.
"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.
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 :)
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.
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)