Uso de la funcion System en C++
La función system forma parte de la librería cstdlib, es una función de un uso muy especial, porque con ella se pueden hacer cosas muy variadas de forma indirecta, aunque de forma directa podemos decir que sirve para manipular la línea de comandos.
Usualmente se utiliza con el parámetro "pause" para pausar el programa, pero para este fin recomiendo más utilizar la función getch(); ¿por qué?, porque al utilizar system("pause"); aparecerá un mensaje que dice "Presione una tecla para continuar...", con getch(); podemos personalizar el mensaje para el usuario acorde a nuestra necesidad, a continuación les comparto algunos códigos que podemos implementar con la función system para realizar varias tareas.
Pausar el systema con system("pause");
#include <cstdlib>
int main(){
// Aqui el codigo
system("pause");
}
Cambiar el fondo y del texto en C++
Observe lo siguiente system("Color 4a"); para cambiar el color de la línea de comandos en C++ o el color del texto se utiliza la palabra color dentro de comillas, tras dejar un espacio después de la palabra color tenemos que utilizar un código de color donde el primer número o letra indicará el color del fondo y el segundo número o letra indicará el color del texto en el caso anterior se utilizó "4A", en el siguiente código puede observar cómo se implementa
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
system("Color 4a");
system("pause");
}
Cambie el "4" y la "a" para cambiar los colores, existe un número limitado de colores, en la siguiente tabla se enlistan los colores entre los que puede escoger.
Codigo | Color |
---|---|
0 | Negro |
1 | Azul |
2 | Verde |
3 | Celeste cielo |
4 | Rojo |
5 | Morado |
6 | Amarillo |
7 | Blanco hueso |
8 | Gris |
9 | Celeste |
a | Verde claro |
b | Celeste claro |
c | Rojo fuerte |
d | Morado oscuro |
e | Color crema |
f | Blanco puro |
Limpiar consola de todo el texto previo
Esto es muy útil si queremos realizar una nueva operación o sub proceso y queremos que el usuario ya no vea los datos que le dimos previamente, se utiliza con el parámetro cls que simboliza clear screen y traduce al español como limpiar pantalla.
system("cls");
Como poner un título a programa de consola en C++
Entre las utilidades que se le puede sacar a la función "system();" la más importante a mi parecer es la opción de colocar un título, esto se debe a que existen alternativas para pausar el sistema sin necesidad de 'system("pause")' y el tema de los colores de fondo y de letra no es tan necesario y en muchas ocasiones más bien pueden hacer sentir incomodo al usuario respecto a lo que está acostumbrado a usar, pero el tema de colocar un título a la ventana de nuestro programa por consola es muy útil y añade mayor profesionalismo a nuestros programas.
Esto podemos lograrlo en tan solo una línea de código donde indicaremos la etiqueta Title, y seguido de esta etiqueta separando nada más con un espacio colocaremos el nombre de nuestra ventana.
system( "Title Codigazo: Linea de comandos profesional" );
Si desea puede cambiar durante la ejecución de su aplicación el título, esto puede servir para indicar algún sub proceso de su programa por ejemplo que se llame "Calculadora" luego si el usuario elije la opción de sumar puede llamarse "Calculadora - Suma básica", o si elije la opción de restar "Calculadora - Resta básica", en la barra de titulo se pueden especificar muchas cosas y de ahí esa recomendación de cambiar el titulo cada vez que se necesité.
Como funciona System en C++
Quizá ya se ha dado cuenta que esta función lo que permite es ingresar comandos como si los estuviésemos ingresando por medio de la línea de comandos, entre esas comillas dobles especificamos el nombre del comando y los parámetros que ha de tener en caso que los necesite.
Conde fondo el comando System el progama se ejecuta pero queda una pantalla de fondo.
La pregunta es : Como hacer para que no aparezca esa pantalla de fondo ?