Использование cout для вывода чисел — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Использование cout для вывода чисел

2021-12-11 23
Использование cout для вывода чисел 0.00 из 5.00 0 оценок
Заказать работу

ВЫВОД СООБЩЕНИЙ НА ЭКРАН

 

Все программы на C++, созданные нами ранее, использовали выходной поток cout для вывода сообщений на экран. В этой лекции мы будем использовать cout для вывода символов, целых чисел, например 1001, и чисел с плавающей точкой, например 0.12345.

Сейчас нам необходимо освоить следующие основные концепции:

· Для вывода символов и чисел на экран вы можете использовать выходной поток cout.

· В C++ можно использовать с cout специальные символы для вывода табуляции или новой строки и даже для воспроизведения звука на вашем компьютере.

· В C++ можно легко отображать числа в десятичном, восьмеричном (по основанию 8) или шестнадцатеричном (по основанию 16) формате.

· Используя в командной строке операционной системы операторы переназначения, вы можете перенаправить выходные сообщения своей программы, посылаемые в cout, с экрана в файл или на принтер.

· Используя выходной поток cerr, ваши программы могут посылать сообщения на стандартное устройство ошибок, избавляя пользователей от необходимости переназначения сообщений.

· Вы можете форматировать вывод вашей программы, используя модификатор setw внутри выходного потока.

Почти все создаваемые нами программы на C++ будут использовать cout для вывода сообщений на экран.

 

ИСПОЛЬЗОВАНИЕ cout ДЛЯ ВЫВОДА ЧИСЕЛ

До сих пор созданные нами программы использовали cout для вывода символьных строк (букв и чисел, взятых в кавычки). Теперь мы попробуем использовать cout для вывода чисел. Следующая программа 1001.СРР выводит число 1001 на ваш экран:

#include <iostream>

void main(void)

{

cout << 1001;

}

Когда мы откомпилируеи и запустим эту программу, на нашем экране будет отображено число 1001, как показано ниже:

С:\> 1001 <ENTER>

1001

Далее мы отредактируем программу и изменим оператор cout, чтобы вывести число 2002, как показано ниже:

cout << 2002;

Кроме отображения целых чисел (чисел без десятичной точки), cout также позволяет нашим программам отображать числа с плавающей точкой, например 1.2345. Следующая программа FLOATING.CPP использует cout для вывода числа 0.12345 на экран:

#include <iostream>

void main(void)

{

cout << 0.12345;

}

Откомпилируем и запустим эту программу. На экране появится следующий вывод:

С:\> FLOATING <ENTER>

0.12345


ВЫВОД НЕСКОЛЬКИХ ЗНАЧЕНИЙ ОДНОВРЕМЕННО

Как мы знаем, двойной знак "меньше" является операцией вставки (эта операция вставляет символы в выходной поток для отображения). С помощью cout мы можем использовать несколько операций вставки в пределах одного оператора. Например, следующая программа 1001ТОО.СРР использует эту операцию четыре раза для отображения числа 1001 на вашем экране:

#include <iostream>

void main(void)

(

cout << 1 << 0 << 0 << 1;

}

Когда мы откомпилируем и запустим эту программу, на экране появится следующее:

 

С:\> 1001TOO <ENTER>

1001

Каждый раз, когда в C++ встречается операция вставки, число или символы просто добавляются к тем, что находятся в настоящее время в выходном потоке. Следующая программа SHOW1001.CPP с помощью cout выводит символьную строку и число:

#include <iostream>

void main(void)

{

cout << "Мое любимое число равно " << 1001;

}

Обратите внимание, что пробел, следующий за словом равно (внутри кавычек), служит для отделения числа 1001 от этого слова. Без пробела число сливается со следующим словом (равно 1001). Подобным образом следующая программа 1001MID.CPP отображает число 1001 в середине символьной строки:

#include <iostream>

void main(void)

{

cout << "Число " << 1001 << " мне очень нравится";

}

Также следует обратить внимание на расстановку пробелов до и после числа 1001.

Наконец, следующая программа MIXMATCH.CPP комбинирует строки, символы, целые числа и числа с плавающей точкой внутри одного и того же выходного потока:

#include <iostream>

void main(void)

{

cout << "B " << 20 << " лет мой оклад был " << 493.34 << endl;

}

Если мы откомпилируем и запустим эту программу, на экране появится следующий вывод:

С:\> MIXMATCH <ENTER>

В 20 лет мой оклад был 493.34

 

Это строка один

Это строка два

Если мы не выводим символьную строку, можно поместить символ новой строки внутри одинарных кавычек. Например, следующая программа NEWLINES.CPP выводит числа 1, 0, 0 и 1, каждое на своей собственной строке:

#include <iostream>

void main(void)

{

cout << 1 << '\n' << 0 << '\n' << 0 << '\n' << 1;

}

В дополнение к использованию символа новой строки для продвижения курсора в начало следующей строки в программах на С++ можно использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки:

#include <iostream>

void main(void)

{

cout << "А теперь..." << endl

<< "Учимся программировать на языке C++";

}

Как и ранее, когда мы откомпилируем и запустим эту программу, на экране будет отображен вывод программы в виде двух строк:

C:\> ENDL <ENTER>

А теперь

Учимся программировать на языке C++

Наконец, следующая программа ADDRESS.CPP выводит адрес издательства "Компьютер Price" в несколько строк:

#include <iostream>

void main(void)

{

cout << "Компьютер Price" << endl;

cout << "Санкт-Петербург" << endl;

cout << "ул.Маршала Говорова, 52" << endl;

cout << "офис 227А, 2-й этаж" << endl;

}

ДРУГИЕ СПЕЦИАЛЬНЫЕ СИМВОЛЫ

В дополнение к символу новой строки, позволяющему нашим программам продвигать курсор в начало новой строки, мы можем использовать специальные символы, перечисленные в табл. 4.1.

 


Таблица 4.1. Специальные символы для использования с cout.

Символ Назначение
Сигнальный (или звонок) символ
\b Символ возврата
\f Символ перевода страницы
\n Символ новой строки
\r Возврат каретки (не перевод строки)
\t Символ горизонтальной табуляции
\v Символ вертикальной табуляции
\\ Символ обратный слеш
\? Знак вопроса
\' Одинарные кавычки
\" Двойные кавычки
\0 Нулевой символ
\000 Восьмеричное значение, например \007
\xhhhh Шестнадцатеричное значение, например \xFFFF

 

< Примечание >

При использовании специальных символов, перечисленных в табл. 4.1, следует располагать их внутри одинарных кавычек, если вы используете данные символы сами по себе, например '\n', или внутри двойных кавычек, если вы используете их внутри строки, например "Привem\nMup!".

Следующая программа SPECIAL.CPP использует специальные символы сигнала (\а) и табуляции (\t) для выдачи звука на встроенный динамик компьютера и затем выводит слова Звонок Звонок Звонок, разделенные табуляцией:

#include <iostream>

void main(void)

{

cout << "3 вонок \a\t Звонок \a\t Звонок \a";

}

4.5 ВЫВОД ВОСЬМЕРИЧНЫХ И ШЕСТНАДЦАТЕРИЧНЫХ ЗНАЧЕНИЙ

Программы, представленные в этом уроке до сих пор, выводили числа в десятичном виде. В зависимости от назначения ваших программ вам, возможно, потребуется выводить числа в восьмеричном или шестнадцатеричном виде. Для этого можно разместить модификаторы dec, oct и hex внутри выходного потока. Следующая программа ОСТНЕХ.СРР использует эти модификаторы для вывода значений в десятичном, восьмеричном и шестнадцатеричном виде:

 

#include <iostream>

void main(void)

{

cout << " Восьмеричный: " << oct << 10 << ' ' << 20 << endl;

cout << " Шестнадцатеричный: " << hex << 10 << ' ' << 20 << endl;

cout << "Десятичный: " << dec << 10 << ' ' << 20 << endl;

}

Когда мы откомпилируем и запустим эту программу, на экране появится следующий результат:

С:\> OCTEX <ENTER>

Восьмеричный: 12 24

Шестнадцатеричный: а 14

Десятичный: 10 20

<Примечание>

Когда мы используем один из модификаторов для выбора восьмеричного, шестнадцатеричного или десятичного вывода, наш выбор будет оставаться в силе до тех пор, пока программа не закончится или пока мы не используем другой модификатор.

УПРАВЛЕНИЕ ШИРИНОЙ ВЫВОДА

Несколько предыдущих программ выводили числа на экран. Чтобы гарантировать правильное отображение этих чисел (с правильной расстановкой пробелов), программы включали пробелы до и после чисел. При выводе на cout или cerr наши программы могут указать ширину вывода каждого числа, используя модификатор setw (установка ширины). С помощью setw программы указывают минимальное количество символов, занимаемое числом. Например, следующая программа SETW.CPP использует модификатор setw для выбора ширины 3, 4, 5 и 6 для числа 1001. Чтобы использовать модификатор setw, ваша программа должна включать заголовочный файл iomanip.h:

#include <iostream.h>

#include <iomanip.h>

void main (void)

{

cout << " Мое любимое число равно " << setw(3) << 1001 << endl;

cout << "Мое любимое число равно" << setw(4) << 1001 << endl;

cout << "Мое любимое число равно" << setw(5) << 1001 << endl;

cout << "Мое любимое число равно" << setw(6) << 1001 << endl;

}

Когда вы откомпилируете и запустите эту программу, на экране появится следующий вывод:

С:\> SETW <ENTER>

Мое любимое число равно1001

Мое любимое число равно1001

Резюме

В этой лекции обсуждались вопросы использования cout для отображения вывода на экран. Все программы, которые вы создадите в процессе изучения оставшейся части книги, будут использовать cout для отображения вывода. Сейчас мы должны запомнить следующие основные концепции:

1. Выходной поток cout позволяет нам выводить символы и числа.

2. Используя специальные символы внутри выходного потока, наша программа может указать новую строку, табуляцию и другие специальные возможности.

3. Для продвижения курсора в начало следующей строки программы могут создать новую строку, используя символ \n или модификатор endl.

4. Модификаторы dec, oct и hex позволяют программам выводить значения в десятичном, восьмеричном и шестнадцатеричном виде.

5. Используя выходной поток cerr, программы могут записать сообщения в стандартное устройство ошибок операционной системы.

6. С помощью модификатора setw ваши программы могут управлять шириной вывода чисел.


Дополнительные примеры

Пример 1.

Здесь первая строка представляет собой комментарий. Начало и конец комментария ограничиваются парами символов /* и */. Все, что расположено между этими символами, компилятор игнорирует.

 

Вторая строка программы содержит директиву препроцессора:

 

#include <stdio.h>

 

Она сообщает компилятору информацию о необходимости подключить к тексту программы содержимое файла stdio.h, в котором находится описание (прототип) библиотечной функции printf () — функции вывода на экран.

Вся последующая часть программы называется блоком описания главной функции. Она начинается с заголовка главной функции:

 

Void main()

 

Любая программа на Си обязательно содержит главную функцию, имя которой — main. Слово void обозначает то, что главная функция не возвращает никаких значений в результате своего выполнения, а пустые скобки обозначают отсутствие аргументов. Тело главной функции заключается между парой фигурных скобок, следующих после заголовка.

 

Текст программы содержит всего лишь один исполняемый оператор — это оператор вывода на экран. Вывод осуществляется путем обращения к стандартной библиотечной функции printf(). В результате его выполнения на экран выведется текст:

 

Здравствуй, Мир!

 

Впереди данной строки и после нее будет пропущено по одной пустой строке, что обеспечивается наличием управляющих символов \n.

 

Следующий пример содержит программу, выполняющую те же самые действия, но написанную на Си++.

 

Пример 2.

 

// Ваша первая программа на Си++

#include <iostream.h>

Void main()

{

соut:"\n3дравствуй Мир!\n";

}

 

Первое отличие от программы из примера 1 состоит в форме комментария. В Си++ можно использовать строчный комментарий, который начинается с символов // и заканчивается концом строки. Для организации вывода на экран к программе подключается специальная библиотека объектов, заголовочный файл которой имеет имя iostream.h. Вывод осуществляется посредством объекта cout из этой библиотеки.

 

В примере 1 используется механизм форматного ввода/вывода, характерный для Си. В примере 2 работает механизм потокового ввода/вывода, реализованный в Си++. Преемственность Си++ по отношению к Си выражается в том, что программа из примера 1 будет восприниматься компилятором Си++, т. е. эта программа исполнима в любой системе программирования, ориентированной на Си++.

Рассмотрим еще один пример программы на Си/Си++. Сопоставим ее с аналогичной программой на Паскале.

 

Пример 3. Деление простых дробей (см. разд. 3.1):

a/b: с/а = т/п

В этом примере появился целый ряд новых элементов по сравнению с предыдущим. Первая строка в теле главной функции является объявлением пяти переменных целого типа — int. Далее наряду с уже знакомым оператором форматного вывода на экран используется оператор форматного ввода с клавиатуры — scanf (). Это также стандартная функция из библиотеки ввода/вывода, подключаемая к программе с помощью файла stdio.h. Первый аргумент этой функции %d является спецификацией формата вводимых значений. В данном случае он указывает на то, что с клавиатуры будет вводиться целое число. Перед именем вводимой переменной принято писать символ &. Это необходимо делать для правильной работы функции scanf (). Смысл данного символа будет пояснен позже. В отличие от Паскаля в качестве знака присваивания используется символ =. Однако читать его надо как «присвоить». Спецификации формата %d используются и при организации вывода на экран целых чисел с помощью функции printf ().

ВЫВОД СООБЩЕНИЙ НА ЭКРАН

 

Все программы на C++, созданные нами ранее, использовали выходной поток cout для вывода сообщений на экран. В этой лекции мы будем использовать cout для вывода символов, целых чисел, например 1001, и чисел с плавающей точкой, например 0.12345.

Сейчас нам необходимо освоить следующие основные концепции:

· Для вывода символов и чисел на экран вы можете использовать выходной поток cout.

· В C++ можно использовать с cout специальные символы для вывода табуляции или новой строки и даже для воспроизведения звука на вашем компьютере.

· В C++ можно легко отображать числа в десятичном, восьмеричном (по основанию 8) или шестнадцатеричном (по основанию 16) формате.

· Используя в командной строке операционной системы операторы переназначения, вы можете перенаправить выходные сообщения своей программы, посылаемые в cout, с экрана в файл или на принтер.

· Используя выходной поток cerr, ваши программы могут посылать сообщения на стандартное устройство ошибок, избавляя пользователей от необходимости переназначения сообщений.

· Вы можете форматировать вывод вашей программы, используя модификатор setw внутри выходного потока.

Почти все создаваемые нами программы на C++ будут использовать cout для вывода сообщений на экран.

 

ИСПОЛЬЗОВАНИЕ cout ДЛЯ ВЫВОДА ЧИСЕЛ

До сих пор созданные нами программы использовали cout для вывода символьных строк (букв и чисел, взятых в кавычки). Теперь мы попробуем использовать cout для вывода чисел. Следующая программа 1001.СРР выводит число 1001 на ваш экран:

#include <iostream>

void main(void)

{

cout << 1001;

}

Когда мы откомпилируеи и запустим эту программу, на нашем экране будет отображено число 1001, как показано ниже:

С:\> 1001 <ENTER>

1001

Далее мы отредактируем программу и изменим оператор cout, чтобы вывести число 2002, как показано ниже:

cout << 2002;

Кроме отображения целых чисел (чисел без десятичной точки), cout также позволяет нашим программам отображать числа с плавающей точкой, например 1.2345. Следующая программа FLOATING.CPP использует cout для вывода числа 0.12345 на экран:

#include <iostream>

void main(void)

{

cout << 0.12345;

}

Откомпилируем и запустим эту программу. На экране появится следующий вывод:

С:\> FLOATING <ENTER>

0.12345



Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.082 с.