Operações Básicas de Entrada e Saída
Nesta etapa final, criaremos um programa que demonstra várias operações de entrada e saída em C++. Entender como interagir com os usuários por meio de entrada e saída é crucial para criar programas interativos.
- No WebIDE, crie um novo arquivo chamado
io_operations.cpp
.
- Abra
io_operations.cpp
no editor e digite o seguinte 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;
}
Vamos analisar os componentes-chave deste programa:
-
Headers Adicionais:
#include <iomanip>
: Este header fornece manipuladores de entrada/saída como setprecision
e setw
.
#include <string>
: Este header é para operações de string, embora seja frequentemente incluído implicitamente com <iostream>
.
-
Operações de Entrada:
getline(cin, name)
: Isso lê uma linha completa de entrada, incluindo espaços. É útil para ler nomes ou frases.
cin >> age
: Isso lê um único valor na variável age
. O operador >>
é usado para entrada.
-
Operações de Saída:
cout << "Text" << variable << endl
: Esta é a operação básica de saída. O operador <<
é usado para saída.
endl
: Isso adiciona uma nova linha e libera o buffer de saída.
-
Formatação da Saída:
cout << fixed << setprecision(2)
: Isso define a saída de números de ponto flutuante para sempre mostrar 2 casas decimais.
setw(10)
: Isso define a largura do próximo campo de saída para 10 caracteres.
setfill('.')
: Isso define o caractere de preenchimento para '.' para quaisquer espaços vazios em um campo.
left
e right
: Estes definem o alinhamento da saída dentro de seu campo.
Para compilar e executar o programa:
-
No painel do terminal do seu WebIDE, certifique-se de estar no diretório correto.
-
Compile o programa com:
g++ -o io_operations io_operations.cpp
-
Execute o programa com:
./io_operations
Quando você executa o programa, ele solicitará que você insira seu nome, idade e altura. Depois de inserir essas informações, o programa as exibirá de volta para você de maneira formatada.
Problemas comuns a serem observados:
- Se o seu programa pular a entrada do nome, é provável que seja devido a um caractere de nova linha deixado no buffer de entrada. Para corrigir isso, você pode adicionar
cin.ignore();
antes de getline(cin, name);
.
- Certifique-se de inserir um número válido para idade e altura. Inserir valores não numéricos pode causar um comportamento inesperado.
Este programa demonstra como lidar com diferentes tipos de entrada, incluindo strings com espaços, e como formatar a saída para melhor legibilidade. Essas habilidades são essenciais para criar programas C++ interativos e fáceis de usar.