Основные операции ввода и вывода
На этом последнем этапе мы создадим программу, которая демонстрирует различные операции ввода и вывода в 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++.