КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Потоковый ввод-вывод в Си++
Программируя на языке Си++, можно пользоваться средствами ввода-вывода стандартной библиотеки Си, подключаемой с помощью заголовочного файла stdio.h, как это делалось выше. Однако в Си++ имеются свои специфические средства ввода-вывода Это библиотека классов, подключаемая к программе с помощью файла iostream.h. В этой библиотеке определены в качестве объектов стандартные символьные потоки со следующими именами: сin — стандартный поток ввода с клавиатуры; cout — стандартный поток вывода на экран. Ввод данных интерпретируется как извлечение из потока сin и присваивание значений соответствующим переменным. В Си++ определена операция извлечения из стандартного потока, знак которой >>. Например, ввод значений в переменную х реализуется оператором cin>>x; Вывод данных интерпретируется как помещение в стандартный поток cout выводимых значений. Выводиться могут тексты, заключенные в двойные кавычки, и значения выражений. Знак операции помещения в поток <<. Примеры использования потокового вывода: cout<<a+b; соut<<"\nРезультат="<<Y; cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl; Из приведенных примеров видно, что в выходном потоке можно использовать управляющие символы, как и при использовании функции printf(); перед каждым элементом вывода нужно ставить знак операции <<. Элемент вывода endl является так называемым манипулятором, определяющим перевод курсора на новую строку (действует аналогично управляющему символу \n). В процессе потокового ввода-вывода происходит преобразование из формы внешнего символьного представления во внутренний формат и обратно. Тип данных и необходимый формат определяются автоматически. Стандартные форматы задаются специальными флагами форматирования, которые устанавливаются с помощью функции setf(). Кроме того, на формат отдельных выводимых данных можно влиять путем применения специальных манипуляторов. Здесь мы не будем подробно разбирать эти вопросы. Перепишем программу из примера 1 в варианте с использованием потокового ввода-вывода Си++. Упражнения 1. При выполнении программы с клавиатуры была введена следующая символьная последовательность: 32.4 87 0.05 4567 2314.45 <Enter> Как будет выглядеть на экране результат работы программы? 2. Приведенная ниже программа решает следующую задачу: идет k-я секунда суток. Определить, сколько целых часов (Н) и целых минут (М) прошло с начала суток. Например, если k= 13257 = 3 х 36000 + 40 x 60 + 57, то H = 3, М = 40. Вывести на экран фразу: «Это...часов...минут». Вместо многоточий поставить вычисленные значения Н и М. Разобрать, как работает данная программа. Переписать ее с использованием потокового ввода-вывода Си++. 3. Составить программу решения обратной задачи по отношению к предыдущей: дано количество часов и минут, прошедших от начала суток. Определить количество секунд. 4. Составить программу вычисления объема и площади поверхности куба по данной длине ребра. 5. Составить программу для вычисления корней квадратного уравнения.
Дата добавления: 2014-01-03; Просмотров: 1782; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |