На этом шаге мы приведем простой пример использования потоковых классов.
Следующий пример демонстрирует работу с потоковыми классами. Программа читает два вещественных числа и выводит их произведение.
//--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include <cstdlib> #include <conio.h> //необходимо для getch() #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused using namespace std; std::string ToRus(const std::string &in) { char *buff = new char [in.length()+1]; CharToOem(in.c_str(),buff); std::string out(buff); delete [] buff; return out; } int main (int argc, char* argv[]) { double x, y; // Операнды // Вывод заголовка cout << ToRus("Умножение 2-х вещественных чисел") << endl; // Чтение первого операнда cout << ToRus("Первый операнд: "); if (! (cin >> x)) { // Ошибка ввода // => вывести сообщение и завершить программу с кодом ошибки cerr << ToRus("Ошибка при чтении 1-го операнда") << endl; return EXIT_FAILURE; } // Чтение второго операнда cout << ToRus("Второй операнд: "); if (! (cin >> y)) { // Ошибка ввода // => вывести сообщение и завершить программу с кодом ошибки cerr << ToRus("Ошибка при чтении 2-го операнда") << endl; return EXIT_FAILURE; } // Вывод операндов и результата cout << x << ToRus(" умноженное на ") << y << ToRus(" равно ") << x * y << endl; getch(); return 0; } //---------------------------------------------------------------------------
Результат работы приложения выглядит так:
Рис.1. Пример работы приложения
Со следующего шага мы начнем рассматривать основные потоковые классы и объекты.