La entrada y salida por consola (o I/O por consola) se refiere a la interacción entre un programa y el usuario a través de la línea de comandos.
En C++, esto se logra utilizando flujos de entrada y salida proporcionados por la biblioteca estándar.
| Comando | Concepto | Descripción |
|---|---|---|
std::cin | Entrada | Recibir datos desde la entrada estándar (generalmente el teclado). |
std::cout | Salida | Enviar datos a la salida estándar (generalmente la pantalla). |
std::cerr | Error | Enviar mensajes de error a la salida estándar de errores. |
std::clog | Advertencias | Similar a std::cerr, pero se utiliza para mensajes de advertencia. |
Entrada de datos
std::cin es el objeto de flujo de entrada estándar en C++. Permite leer datos desde la entrada estándar y se usa comúnmente para leer valores introducidos por el usuario a través del teclado.
Para leer datos de std::cin, se utiliza el operador de extracción (>>):
#include <iostream>
int main() {
int number;
std::cout << "Introduce un número entero: ";
std::cin >> number;
std::cout << "El número introducido es: " << number << std::endl;
return 0;
}
En este ejemplo,
- El programa solicita al usuario que introduzca un número entero.
std::cin >> number;lee el valor introducido por el usuario- Lo almacena en la variable
number.
Salida de datos
std::cout es el objeto de flujo de salida estándar en C++. Se utiliza para mostrar datos en la consola y se usa comúnmente para enviar información al usuario.
Para enviar datos a std::cout, se utiliza el operador de inserción (<<):
#include <iostream>
int main() {
std::cout << "Hola, Mundo!" << std::endl;
return 0;
}
Aquí, std::cout << "Hola, Mundo!" << std::endl; envía el texto “Hola, Mundo!” a la consola, seguido de un salto de línea (std::endl).
Errores y advertencias
Ejemplos prácticos
Calculadora básica
A continuación, un ejemplo de una calculadora básica que utiliza std::cin y std::cout para realizar operaciones aritméticas simples.
#include <iostream>
int main() {
double num1, num2;
char op;
std::cout << "Introduce dos números: ";
std::cin >> num1 >> num2;
std::cout << "Introduce una operación (+, -, *, /): ";
std::cin >> op;
switch(op) {
case '+': std::cout << "Resultado: " << num1 + num2 << std::endl; break;
case '-': std::cout << "Resultado: " << num1 - num2 << std::endl; break;
case '*': std::cout << "Resultado: " << num1 * num2 << std::endl; break;
case '/': std::cout << "Resultado: " << num1 / num2 << std::endl; break;
default: std::cout << "Operación no válida" << std::endl;
}
return 0;
}
Lectura de datos y reporte
Este ejemplo muestra cómo leer datos de entrada y luego reportar esos datos al usuario.
#include <iostream>
#include <string>
int main() {
std::string name;
int age;
std::cout << "Introduce tu nombre: ";
std::getline(std::cin, name);
std::cout << "Introduce tu edad: ";
std::cin >> age;
std::cout << "Hola, " << name << ". Tienes " << age << " años." << std::endl;
return 0;
}
