Entrada y Salida en C++

La biblioteca iostream

El núcleo del lenguaje C++ carece de sentencias que manejen entrada o salida. Las facilidades para el manejo de los flujos de entrada y salida (I/O) en C++ se toman de la biblioteca estándar llamada iostream, que vimos brevemente en la lección anterior. Esta biblioteca se encarga de manejar la secuencia de caracteres leídos desde el teclado y la secuencia de caracteres que se escriben en la pantalla.
La comunicacion con la computadora
La biblioteca iostream define dos objetos: cin, para manejar la entrada, y cout, para manejar la salida.

Un programa que lee y escribe

Para ilustrar un ejemplo sencillo de cómo utilizar la biblioteca iostream, vamos a hacer un programa que solicite al usuario que escriba un número en el teclado y luego lo escriba en la pantalla:


#include <iostream>

int main()
{
    std::cout << "Introduzca un numero: " << std::endl;

    int numero = 0;
    std::cin >> numero;

    std::cout << "El numero introducido es: " << numero << std::endl;

    return 0;
}

Escribir en la salida estándar

La primera sentencia dentro del cuerpo de main ejecuta una expresión:

std::cout << "Introduzca un numero: " << std::endl;
Una expresión está compuesta por uno o más operandos (std::cout, "Introduzca un numero: ") y un operador (<<). El operador << muestra un mensaje en la salida estándar. El prefijo std:: indica que los nombres cout y endl se definen en el espacio de nombres llamado std.

Leer de la entrada estándar

Después de pedir la entrada por teclado, lo siguiente es leer esa entrada. Para ello debemos definir una variable donde vamos a guardar lo que el usuario escriba:

int numero = 0;

La variable numero puede contener datos de tipo entero (int) y, al mismo tiempo que la declaramos, la inicializamos con el valor cero. La siguiente sentencia lee la entrada:

std::cin >> numero;

El operador de entrada (>>) se comporta igual que el operador de salida pero de manera inversa: lee los datos del flujo de entrada y almacena lo que lee en la variable indicada (numero).

Imprimir el valor leído

Lo que resta es imprimir el valor leído en la salida estándar:

std::cout << "El numero introducido es: " << numero << std::endl;

Esta sentencia es muy parecida a la primera, con la única diferencia de que además de la cadena de caracteres entre comillas, también imprime el valor contenido en la variable numero. Como vemos, el operador << puede manejar varios tipos de operandos en una misma sentencia.

cout puede evaluar expresiones

Con el siguiente ejemplo podemos ver que cout también tiene la capacidad de imprimir el resultado de una expresión aritmética. El programa pide al usuario introducir dos números enteros y luego imprime la suma en pantalla:

#include <iostream>

int main()
{
    std::cout << "Introduzca dos numeros: " << std::endl;

    int numero1 = 0, numero2 = 0;
    std::cin >> numero1 >> numero2;

    std::cout << "La suma de " << numero1 << " y " << numero2
              << " es: " << numero1 + numero2 << std::endl;

    return 0;
}
El operando "La suma de " es una cadena de texto; otros operandos son valores enteros como numero1 y numero2, y el resultado de la expresión aritmética numero1 + numero2. Todos los operandos se imprimen en la salida estándar.

Siguiente lección

Comentarios

Entradas populares de este blog

Desarrollo de videojuegos paso a paso con C++ y SFML

Curso SFML C++: Animación 2D — una pelota que rebota en la ventana (2 versiones del código)

Curso SFML C++: Dibujar un rectángulo con POO (RectangleShape paso a paso)