miércoles, 3 de abril de 2013

INICIACIÓN Y APRENDIZAJE DE PROGRAMACIÓN-C++-CAP 1


Programa C++ ión
Esta sección ayudará a los que se estén iniciando en la programación en C++ con Borland a desarrollar programas más rápidamente gracias al uso de rutinas que engloban el uso de sentencias repetitivas, como el printf(…), textcolor(…), gotoxy(…), etc.
También incorporaré rutinas para crear menús fácilmente, impresión de texto, impresión de números, recuadros de diversos tipos, etc.
Hoy facilitaremos la impresión de variables de texto (char) en pantalla.
Como sabéis, para imprimir texto en color en una zona concreta de la pantalla hay que usar las funciones gotoxy(columna, fila) para situarse en la zona de la pantalla en donde queremos pintar el dato, textcolor(…) y textbackground(…)para poner color de texto y color de fondo y por último el cprintf(…) con el formato correspondiente.
Pues bien, en nuestro código fuente esto quedaría así (más o menos):
gotoxy(10,20);            //situarse en la columna 10, fila 20
textcolor(10);            //texto en verde brillante
textbackground(4);        //fondo en granate
cprintf(“Este es el dato nombre: %s”, variablecharnombre);

Si tuviéramos que pintar una ficha de datos con 15 variables, realizar esto sería bastante tedioso. Para mejorar esta situación podemos implementar una rutina (función) que realice estos pasos. La función podría tener este aspecto:

Void TxtPinta (int Fila , int Columna, int Tinta, int Papel, char Dato[80]);
{
     gotoxy(Columna, Fila);
//Aquí pondríamos un control de Papel Brillante(1)
textcolor (Tinta);
textbackground (Papel);
cprintf(“%s”, Dato);
}

De manera que en nuestro programa solo tendríamos que escribir:

TxtPinta(20, 10, LIGHTGREEN, RED, MyTexto);

Como se aprecia, esto es mucho más rápido y más legible a la hora de revisar el código fuente.

Adicionalmente, si queremos que el fondo sea brillante, por ejemplo pintar con Tinta GRANATE sobre Papel ROJO,  nuestra rutina debería incorporar el siguiente control:

If (Papel > 7) Tinta=Tinta+128; //(1)

Ejemplo completo:

#include<conio.h>
#include<stdio.h>
#include<string.h>

//==============================================================
// Definimos los Colores
//==============================================================
#define NEGRO        0
#define AZUL         1
#define VERDE        2
#define CYAN         3
#define GRANATE      4
#define MORADO       5
#define MARRON       6
#define BLANCO       7
#define GRIS         8
#define AZULB        9
#define VERDEB       10
#define CYANB        11
#define ROJO         12
#define LILA         13
#define AMARILLO     14
#define BLANCOB      15
#define BRILLO       128

//==============================================================
// Función Texto Pinta
//==============================================================
void TxtPinta (int Fila, int Columna, int Tinta, int Papel, char Txt[80])
{
gotoxy (Columna, Fila);
     if (Papel>7) Tinta=Tinta+BRILLO;
textcolor(Tinta);
textbackground(Papel);
cprintf(Txt);
}
//==============================================================
// Programa Principal
//==============================================================
void main()
{
int Fila, Columna, Tinta, Papel;
char Text[80];
char OtroText[1][80];
Fila=3;
Columna=20;
Papel=AZUL;          //Azul oscuro
Tinta=CYANB;         //Azul claro brillante

strcpy(Text," Prueba FUNCION TxtPinta ");
TxtPinta (Fila, Columna, Tinta, Papel, Text);

strcpy(OtroText[0]," Tabla0 FUNCION TxtPinta ");
TxtPinta (Fila+2, Columna, Tinta, Papel, OtroText[0]);

strcpy(OtroText[1]," Tabla1 FUNCION TxtPinta ");
TxtPinta (Fila+3, Columna, Tinta, Papel, OtroText[1]);

TxtPinta (Fila++, Columna++, GRANATE, ROJO, “Prueba de TxtPinta”);

getch();
}
//==============================================================
// FIN Programa Principal
//==============================================================

Esta función será muy útil en el 99,99% de los casos que queramos imprimir texto en pantalla. Como habréis observado está limitada a textos de 80 caracteres de longitud. Queda para los más avezados modificar la rutina para que pueda imprimir textos más largos.

Si os ha gustado suscribíos a mi canal y compartid esta entrada.

Gracias a todos.

¡¡Hasta la semana que viene!!

Descarga borland:

http://adf.ly/M2R8f

/* lo que yo hago ___________________________*/ /*___________________________________________________________*/