Ir al contenido principal

Programando en C++

C++ es un lenguaje muy potente y flexible... ¡C++ es EL LENGUAJE! Es un lenguaje de bajo o medio nivel, ya que mucho de lo que dice o se redacta no está formado por palabras sino por símbolos. Si comparamos con Pascal, que en este lenguaje la apertura y cierre de conjuntos se dan por las palabras clave BEGIN (comience) y END (final), sus expresiones de apertura y cierre de conjuntos son las llaves { y }.
Es flexible en la medida que se puede "sobrecargar" las funciones, es decir, para una misma función elegir la cantidad de parámetros a ingresar, cosa que no todos los lenguajes pueden realizar.

El programa más sencillo en C puede ser el siguiente:

int main() {
   int Ejemplo;
   return 0; 
 } 
Es un programa que no realiza cosa alguna, simplemente es. Para este ejemplo lo único que hace es crear una variable del tipo entera (int) de 2 bytes (según la arquitectura y sistema del equipo) que nosotros nombramos como Ejemplo. La última instrucción dice que la función main() termina y devuelve el valor 0.

El programa principal se redacta en esta función main(). Para la definición de ella, en el ejemplo, el main() tiene que devolver un valor entero (int). Por eso, el 0 es un 0 entero.
Por regla práctica, devolver un valor 0 al finalizar el main() significa que el programa no ha pasado por ningún "daño". Devolver otro valor sería un error específico (a cargo del programador). Y esta devolución se procesa al Sistema Operativo (SO); es éste el que se encarga de aceptar la devolución del programa y dejarle via libre para interpretarla. Un usuario que cree un script/batch para trabajar en el SO puede recurrir al resultado que tus programas generen. Por ejemplo, si tu programa elige entre varias opciones, y a partir de ellas el usuario del SO necesita tomar decisiones sobre algún archivo que eliminar o carpeta que crear, las puede tomar con, por ejemplo, para el DOS, una variable de entorno ERRORLEVEL. Pero eso es otra historia.

El siguiente programa es ampliación del lenguaje C en su lenguaje C++ y es a éste en el que me voy a enfocar para creación de sistemitas. Requiere de unas clases (objetos) especializadas que se llaman Streams (traducción de Curso, Cauce, Corriente, Correntada, Dirigido, etc.). De ellas nos vamos a estar enfocándonos en Streams de Salida de datos (hacia la salida de la pantalla, el Standard Out) y Stream de Entrada de datos (desde la entrada estándard, el teclado); y mucho más luego para trabajar con archivos como si fueran Streams (fstream, ifstream, ofstream).


#include < iostream >
using namespace std;

  int main() {
    char tuNombre[20]; int tuEdad;
    cout << "Hola, este es el primer mensaje" << endl;
    cout << "Ingresá tu nombre: "; 
    cin >> tuNombre;
    cout << "Ingresá tu edad: ";
    cin >> tuEdad;

    cout << "Bienvenid@ " << tuNombre << " de " << tuEdad << " años de edad." << endl;
    cin.get();

    return 0;
  }
El programa incluye la librería (pseudolibrería) iostream (clases para los streams de Entrada y Salida, In/Out) y necesita, para ahorrarnos escritura, utilizar el dominio de espacios (namespace) std (seguramente viene de Estándar). Esta librería nos habilita para trabajar con los objetos cout (para la salida estándar) y cin (para la entrada estándar), y el objeto endl (final del renglón, end of line).

Ingresados en el main() lo primero que hace es solicitar memoria para las variables tuNombre (20 caracteres de memoria) y tuEdad (un entero, 2 bytes de memoria). Sin este renglón no podríamos trabajar en los siguientes.
Para el objeto cout, que es un stream de salida, por convención se le eligió el doble signo <<, y para los objetos streams de entrada el >>; de manera que se pueda ilustrar el cauce/dirigido de cómo se moverán los datos.
cout sirve para mostrar mensajes en la pantalla (y puede servir para impresoras y archivos, también existiría esa opción).
cin sirve para pedir ingreso de teclas desde el teclado, y una vez que se hizo Enter, que se apretó esa tecla, se graba la información en la variable correspondiente (tuNombre con  sus caracteres, y tuEdad con números).
Al finalizar cout emite un mensaje de la forma, por ejemplo, "Bienvenid@ Carlos de 28 años de edad." seguido de un Enter (bajar renglón). Luego se hace una pausa con la instrucción cout.get(); de la cual no se sale hasta apretar Enter.
Por final cerrar el sistema con valor 0 (un "todo está bien").

Comentarios

Entradas populares de este blog

Probando ChatGPT - Mapa conceptual con Mermaid

 Había conversado con ChatGPT acerca de cuidado de las plantas e hidroponía. Luego de unos días me di cuenta que quizás también podría saber acerca de crear Mapas conceptuales. Salió lo siguiente; le falta un concepto para crear correctamente mapas conceptuales (la relación entre los conceptos), pero podría ser algo para ayudarnos a corregir mejor. El texto original era el que cito a continuación, pero le agregué explícitamente que me armara un "mapa conceptual" utilizando el lenguaje Mermaid, un lenguaje descriptivo que permite construir gráficos diversos, entre ellos Mapas conceptuales, generando un archivo SVG. ``` Hacé un mapa conceptual en lenguaje Mermaid con el siguiente texto, redactado anteriormente: "La hidroponía es un método de cultivo que se utiliza para cultivar plantas sin suelo utilizando una solución nutriente y agua. Algunas plantas pueden cultivarse con éxito mediante hidroponía, mientras que otras necesitan el suelo para crecer y prosperar. De las pl...

Conectar a Servidor Node.JS desde VB6 o VBA

El presente código sirve tanto para Visual Basic 6.0 (sí, todavía sirve, todavía sirve!) como para Visual Basic para Aplicaciones (Excel o VBA). ' Si estamos en Visual Basic para Aplicaciones agregar la referencia ' WinHTTP, en el menú Herramientas, Referencias, Microsoft WinHTTP Services Function Solicitar( _ ByVal URLBase As String _ , Optional ByVal Puerto As Integer = 80 _ , Optional ByVal Seccion As String = "" _ , Optional ByVal Metodo As String = "GET" _ ) As String On Error GoTo solucion #If VBA6 Then Dim objXML As New WinHttpRequest #ElseIf Win32 Then Dim objXML As Object Set objXML = CreateObject("MSXML2.ServerXMLHTTP") #End If objXML.Open Metodo, URLBase & ":" & Puerto & "/" & Seccion, False objXML.send If (objXML.Status = 404) Then Solicitar = "404 Error" Else Solicitar = objXML.responseText End If Se...