ENTRADA Y SALIDA DE DATOS EN C++ (cin y cout)

 

La mayoría de programas informáticos, además de llevar a cabo el procesamiento de información y toma de decisiones a partir de distintos resultados, también requieren de la interacción entre el usuario y la máquina, esto se realiza mediante el ingreso y salida de datos del programa. 

La forma más sencilla de llevar a cabo esta interacción usuario maquina es realizando la entrada de datos por medio del teclado y la salida de datos visualmente por pantalla y esta es la forma que se explicará en esta publicación. 

En el lenguaje de programación C++, existen diferentes instrucciones que nos permiten realizar este proceso de forma sencilla como por ejemplo los comandos cincoutprintf y scanf. A continuación, vamos a explicar que hacen y como se utilizan las instrucciones cin y cout y para el caso de las instrucciones printf y scanf las abordaremos más adelante en otra publicación. 

 

Comandos cin y cout: 

Estas instrucciones son utilizadas para entrada (cin) y salida (cout) de datos, son las estándar del lenguaje C++ y hacen parte de la librería para entrada y salida de datos llamada “iostream”. 

Para poder hacer uso de estas instrucciones, primero se debe: 

  • Incluir a la librería iostream que las contiene. 
  • Hacer la declaración de uso de las funciones estándar. 

include iostream

 

Algunos programadores no están muy de acuerdo con hacer la declaración de uso de funciones estándar en una única línea como se ve en la imagen anterior “using namespace std;”, sino que recomiendan hacer esta declaración individualmente y cada vez que se vaya a utilizar alguno de estos dos comandos agregando un std:: antes de utilizar un cin o un cout. 

Ya habiendo hecho estos procesos, si vamos a proceder a ver como se utilizan el cin y el cout. 

 

Uso de la instrucción cout: 

La instrucción cout es utilizada como método de salida de datos por pantalla (realiza una impresión en pantalla). La sintaxis de uso de esta instrucción (forma de escribir correctamente la instrucción) es la siguiente: 

cout<<”Mensaje a imprimir”; 

Como vemos, tan solo hay que escribir la sentencia cout seguida del operador << y por último el mensaje que se quiere imprimir, este mensaje debe ir encerrado entre comillas “ ” lo cual indicara que se va a imprimir una cadena de texto. 

¿Pero si queremos imprimir el valor guardado en una variable?, en este caso el procedimiento no es tan diferente, lo único que tenemos que hacer es cambiar la cadena de texto por el nombre de la variable de la que queremos imprimir el valor (sin las comillas). Por ejemplo, si tenemos una variable entera llamada edad y queremos imprimir su valor, entonces haríamos lo siguiente: 

cout<<edad; 

Con esto ya estaríamos imprimiendo en pantalla el valor guardado en la variable edad. 

 

Concatenar impresiones con cout: 

El concatenar impresiones es simplemente unir varias impresiones que se quieran hacer de diferentes datos en una sola impresión. Para esto, lo único que hacemos es utilizar el operador << en medio de cada dato que queramos incluir en la impresión. Por ejemplo: 

cout<<”Mi edad es: ”<<edad; 

 

Saltos de línea con cout: 

En ocasiones se requiere hacer un salto de línea en una impresión. Ya sea para terminar la impresión y que lo próximo que se imprima aparezca en la línea siguiente o porque lo que queremos imprimir lo necesitamos en varias líneas. Para hacer esto, vamos a mencionar dos opciones. 

  • Utilizar en comando endl, este comando significa que se va a terminar la línea y que lo siguiente que se imprima va a aparecer en la línea inferior. Se utiliza de la siguiente forma. 

cout<<”texto linea 1”<<endl<<”texto linea 2”<<endl; 

  • Utilizar el formato de texto “\n”, este al igual que la opción anterior hace un salto de línea, la diferencia es que al ser un formato de texto, su inclusión se hace dentro de las comillas del texto que se está imprimiendo. Se utiliza de la siguiente forma: 

cout<<”texto linea 1 \ntexto linea 2”; 

 

Uso de la instrucción cin: 

La instrucción cin, es utilizada para la entrada de datos por medio del teclado. La sintaxis de uso de esta instrucción es la siguiente: 

cin>>NombreDeLaVariable; 

Como podemos observar, para este caso lo único que hay que hacer es escribir la instrucción cin, seguida del operador >> y por último colocar el nombre de la variable en la que queremos guardar el dato que el usuario va a ingresar. 

Con esta instrucción se debe tener cuidado que la variable en la que se va a guardar el dato, sea del mismo tipo que el dato que va a ingresar el usuario. Ya que, si por ejemplo la variable es de tipo int y el usuario ingresa un texto, esto va a generar un error en el programa. 

Pero más adelante en otra publicación explicaremos como solucionar este tipo de errores. 

Por último, para terminar esta publicación vamos a hacer un ejemplo sencillo con todo lo que se ha explicado hasta el momento: 

 

Ejemplo de uso de instrucciones cout y cin: 

En este ejemplo vamos a hacer un programa que le solicite al usuario datos básicos, los guarde en unas variables y por último imprima en pantalla toda esta información. 

Lo primero que vamos a hacer es incluir las librerías del programa y hacer la declaración de uso de funciones estándar. 

 

Luego, dentro de la función main () que es la función principal del programa, se declaran las variables en las que se van a guardar los datos ingresados por el usuario. Recuerden que siempre es recomendable darle un valor inicial a la variable cuando se está declarando. 

 

Se solicitan los datos del usuario haciendo impresiones en pantalla con la instrucción cout y se reciben y se guardan en sus respectivas variables utilizando la instrucción cin. 

 

Por último, se imprimen los datos que ingresó el usuario utilizando la instrucción cout y los dos métodos explicados para hacer saltos de línea. 

 

En el paso anterior se utilizaron las dos formas de hacer los saltos de línea con el fin de mostrar la forma en la que se podrían utilizar, sin embargo, cada uno de ustedes puede utilizar con el que se sienta más cómodo. 

Por último, el programa completo quedaría de la siguiente forma: 

 

Y su funcionamiento sería el siguiente: 

ANTERIOR PUBLICACIÓN SOBRE PROGRAMACIÓN EN C++: Operadores lógicos y de comparación en C++

SIGUIENTE PUBLICACIÓN SOBRE PROGRAMACIÓN EN c++: Entrada y salida de datos en C++ (printf y scanf)

Iván Cuadros Acosta

Licenciado en Electrónica y Especialista en Edumática con experiencia en docencia universitaria. Apasionado por la electrónica y la programación.