Базовые операции ввода и вывода
На этом последнем этапе мы создадим программу, которая демонстрирует различные операции ввода и вывода в C++. Понимание того, как взаимодействовать с пользователями через ввод и вывод, является важным аспектом создания интерактивных программ.
- В WebIDE создайте новый файл с именем
io_operations.cpp
.
- Откройте
io_operations.cpp
в редакторе и введите следующий код:
#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;
}
Разберем ключевые компоненты этой программы:
-
Дополнительные заголовочные файлы:
#include <iomanip>
: Этот заголовочный файл предоставляет манипуляторы ввода-вывода, такие как setprecision
и setw
.
#include <string>
: Этот заголовочный файл используется для операций с строками, хотя часто он неявно включается с <iostream>
.
-
Операции ввода:
getline(cin, name)
: Эта функция считывает целую строку ввода, включая пробелы. Она полезна для считывания имен или предложений.
cin >> age
: Эта операция считывает одно значение в переменную age
. Оператор >>
используется для ввода.
-
Операции вывода:
cout << "Text" << variable << endl
: Это базовая операция вывода. Оператор <<
используется для вывода.
endl
: Этот манипулятор добавляет новую строку и очищает буфер вывода.
-
Форматирование вывода:
cout << fixed << setprecision(2)
: Эта команда устанавливает вывод чисел с плавающей точкой с двумя знаками после запятой.
setw(10)
: Эта функция устанавливает ширину следующего поля вывода в 10 символов.
setfill('.')
: Эта функция устанавливает символ заполнения '.' для пустых мест в поле.
left
и right
: Эти манипуляторы устанавливают выравнивание вывода внутри поля.
Для компиляции и запуска программы:
-
В панели терминала WebIDE убедитесь, что вы находитесь в правильной директории.
-
Скомпилируйте программу с помощью команды:
g++ -o io_operations io_operations.cpp
-
Запустите программу с помощью команды:
./io_operations
При запуске программы она попросит вас ввести ваше имя, возраст и рост. После ввода этой информации программа отобразит ее в отформатированном виде.
Общие проблемы, на которые стоит обратить внимание:
- Если ваша программа пропускает ввод имени, это, вероятно, из-за символа новой строки, оставшегося в буфере ввода. Чтобы исправить это, вы можете добавить
cin.ignore();
перед getline(cin, name);
.
- Убедитесь, что вы вводите корректные числа для возраста и роста. Ввод нечисловых значений может привести к непредвиденному поведению.
Эта программа демонстрирует, как обрабатывать различные типы ввода, включая строки с пробелами, и как форматировать вывод для лучшей читаемости. Эти навыки являются важными для создания удобных для пользователя, интерактивных программ на C++.