Operaciones básicas de entrada y salida
En este último paso, crearemos un programa que demuestre diversas operaciones de entrada y salida en C++. Entender cómo interactuar con los usuarios a través de la entrada y la salida es crucial para crear programas interactivos.
- En el WebIDE, crea un nuevo archivo llamado
io_operations.cpp
.
- Abre
io_operations.cpp
en el editor y escribe el siguiente código:
#include <iostream>
#include <iomanip> // For setprecision
#include <string> // For string operations
using namespace std;
int main() {
string name;
int age;
double height;
// Input operations
cout << "Enter your name: ";
getline(cin, name); // Reads a full line, including spaces
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height in meters: ";
cin >> height;
// Output operations
cout << "\n--- Your Information ---\n";
cout << "Name: " << name << endl;
cout << "Age: " << age << " years" << endl;
// Setting precision for floating-point output
cout << fixed << setprecision(2);
cout << "Height: " << height << " meters" << endl;
// Using width and fill for formatted output
cout << "\nFormatted Age Display:\n";
cout << setw(10) << setfill('.') << left << "Age" << setw(5) << right << age << endl;
return 0;
}
Desglosemos los componentes clave de este programa:
-
Encabezados adicionales:
#include <iomanip>
: Este encabezado proporciona manipuladores de entrada/salida como setprecision
y setw
.
#include <string>
: Este encabezado es para operaciones con cadenas, aunque a menudo se incluye implícitamente con <iostream>
.
-
Operaciones de entrada:
getline(cin, name)
: Esto lee una línea completa de entrada, incluyendo espacios. Es útil para leer nombres o frases.
cin >> age
: Esto lee un solo valor en la variable age
. El operador >>
se utiliza para la entrada.
-
Operaciones de salida:
cout << "Text" << variable << endl
: Esta es la operación básica de salida. El operador <<
se utiliza para la salida.
endl
: Esto agrega una nueva línea y vacía el búfer de salida.
-
Formateo de la salida:
cout << fixed << setprecision(2)
: Esto establece la salida de números de punto flotante para mostrar siempre 2 decimales.
setw(10)
: Esto establece el ancho del siguiente campo de salida en 10 caracteres.
setfill('.')
: Esto establece el carácter de relleno en '.' para cualquier espacio vacío en un campo.
left
y right
: Estos establecen la alineación de la salida dentro de su campo.
Para compilar y ejecutar el programa:
-
En el panel de terminal de tu WebIDE, asegúrate de estar en el directorio correcto.
-
Compila el programa con:
g++ -o io_operations io_operations.cpp
-
Ejecuta el programa con:
./io_operations
Cuando ejecutes el programa, te pedirá que ingreses tu nombre, edad y altura. Después de ingresar esta información, el programa la mostrará de nuevo en un formato adecuado.
Problemas comunes a tener en cuenta:
- Si tu programa omite la entrada del nombre, probablemente sea debido a un carácter de nueva línea que queda en el búfer de entrada. Para solucionar esto, puedes agregar
cin.ignore();
antes de getline(cin, name);
.
- Asegúrate de ingresar un número válido para la edad y la altura. Ingresar valores no numéricos puede causar un comportamiento inesperado.
Este programa demuestra cómo manejar diferentes tipos de entrada, incluyendo cadenas con espacios, y cómo formatear la salida para una mejor legibilidad. Estas habilidades son esenciales para crear programas interactivos y amigables con el usuario en C++.