Общие сведения о потоках ввода-вывода. Пример

   
На этом шаге мы приведем простой пример использования потоковых классов.

   
Следующий пример демонстрирует работу с потоковыми классами. Программа читает два вещественных числа и выводит их произведение.

//---------------------------------------------------------------------------

#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. Пример работы приложения

   
Со следующего шага мы начнем рассматривать основные потоковые классы и объекты.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий