viernes, julio 29, 2016

C++ metodos y colores


Continuando con C++ en linux quise crear metodos tal y como los hago en C# y no es muy diferente pero en C++ debes crear el metodo primero y despues invocarlo, de otra forma lo que se tiene que hacer es un prototipo del metodo y lo llamo metodo solo porque es el nombre con el que estoy acostumbrado, en otras partes les llamaran funciones la unica diferencia es que el metodo es declarado como parte de una clase y una funcion es independiente de la clase.

Creamos el archivo

nano Colores.cpp

Codigo:


#include <iostream>

using namespace std;

//Mensajes
void Mensaje(string Mensaje, string Color = "Rojo")
{
    if(Color.compare("Negro")==0)
        Color = "30m";
    if(Color.compare("Rojo")==0)
        Color = "31m";
    if(Color.compare("Verde")==0)
        Color = "32m";
    if(Color.compare("Amarillo")==0)
        Color = "33m";
    if(Color.compare("Azul")==0)
        Color = "34m";
    if(Color.compare("Magenta")==0)
        Color = "35m";
    if(Color.compare("Cyan")==0)
        Color = "36m";
    if(Color.compare("Blanco")==0)
        Color = "37m";

    cout << "\033[0;"+Color << Mensaje << " \033[0m\n";
}
//Mensajes

int main(int argc, char *argv[])
{
    // \033 es ESC para empezar ESC[0;31m Significa 0 texto normal (1 es bold)
    // y 31m significa rojo y \033[0m para terminar y resetear
    // cout << "\033[0;30m Negro text \033[0m\n";
    // cout << "\033[0;31m Rojo text \033[0m\n";
    // cout << "\033[0;32m Verde text \033[0m\n";
    // cout << "\033[0;33m Amarillo text \033[0m\n";
    // cout << "\033[0;34m Azul text \033[0m\n";
    // cout << "\033[0;35m Magenta text \033[0m\n";
    // cout << "\033[0;36m Cyan text \033[0m\n";
    // Este ultimo pone el color blanco pero con un background azul
    // cout << "\033[0;37;44m Blanco text \033[0m\n";

    Mensaje("Mensaje color rojo","Rojo");
    Mensaje("Mensaje color verde","Verde");
}


Aqui vemos varias cosas, tenemos un metodo (funcion) que se llama Mensaje el cual recibe dos parametros, el Mensaje y el color del mensaje y manda a consola el mensaje en el color que se le halla enviado.

Los comentarios empiezan con "//" y todo lo que este delante de ellos sera ignorado por el compilador.

Y el metodo (funcion) esta declarado antes de mi metodo (funcion) main para que no me arroje errores al quererlo compilar por llamar un metodo que no ha sido declarado al momento de llamarlo.

Compilamos con el siguiente comando

g++ Colores.cpp -o Colores
Y ejecutamos desde consola con el siguiente comando

./Colores

C++ Hola mundo en linux


Hace poco empeze a realizar pequeños programas en C++ dentro de linux y estos son los pasos que tuve que seguir para configurar mi ambiente en linux, actualmente estoy utilizando Cub que es una combinacion de Chrome OS y Ubuntu 14.04.

Primero actualizamos nuestro sistema e instalamos el paquete que contendra nuestro compilador g++


sudo apt-get update
sudo apt-get install build-essential

Nuestro primer programa
nano hola.cpp
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
   cout << "Hola mundo";
}
Para compilarlo usamos el siguiente comando
g++ hola.cpp -o hola

Para ejecutarlo desde consola es con el siguiente comando
./hola