Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zad_p1.doc
Скачиваний:
60
Добавлен:
17.03.2016
Размер:
3.71 Mб
Скачать

Самостоятельная работа № IV Сложение двух целых чисел.

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

1. В первой строке программы запишите директиву препроцессора #include <iostream.h>, она включает в программу содержание заголовочного файла iostream.h, без которой компилятор не поймет определенные в ней функции cout.

2. Объявите переменные, тип данных int. Это значит, что эти переменные всегда будут содержать целые значения, т.е. целые числа, такие как 7, -11, 0, 31914.

3.Оператор

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

  1. Оператор

,

использует объект входного потока cin и операцию взять из потока », чтобы получить от пользователя значение. Объект cin забирает вводимую информа­цию из стандартного потока ввода, которым обычно является клавиатура. О предыдущем операторе можно сказать так: «cin дает значение первого целого числа».

Объекты потоков cout и cin вызывают взаимодействие между пользова­телем и компьютером. Поскольку это взаимодействие напоминает диалог, часто говорят о диалоговом расчете или интерактивном расчете.

5-6.аналогично 3-4.

7. Оператор присваивания

рассчитывает сумму переменных integer1 и integer2 и присваивает результат переменной sum, используя операцию присваивания =. Оператор читается так: «sum получает, значение, равное integerl + integer2». Оператор присваивания используется в большинстве расчетов.

8. Оператор

печатает символьную строку Сумма равна, затем численное значение перемен­ной sum, за которым следует endl (аббревиатура словосочетания «end line» — конец строки) — так называемый манипулятор потока. Манипулятор endl выводит символ новой строки и затем «очищает буфер вывода». Это просто означает, что в некоторых системах, где выводы накапливаются в вычисли­тельной машине до тех пор, пока их не станет достаточно, чтобы «имело смысл печатать на экране», endl вызывает немедленную печать на экране всего накопленного.

Заметим, что предыдущий оператор выводит множество значений разных типов. Операция поместить в поток «знает», как выводить каждую единицу данных. Многократное использование операции поместить в поток («) в одном операторе называется сцепленной операцией поместить в поток. Таким образом, не обязательно иметь множество операций вывода для вывода множества фрагментов данных.

В операторах вывода можно также выполнять вычисления. Мы могли бы объединить два предыдущих оператора в один

cout << "Suma ravna" << integerl + integer2 << endl;

Результат выполнения программы:

Самостоятельная работа № V Немного более сложное приложение.

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

При построении этого приложения используйте новые типы компонентов – окна редактирования LebeledEdit. Для разнообразия выводите результат не в метку Label, а в панель Panel, чтобы испытать новый компонент.

Откройте новое приложение. Перенесите на него со страницы библиотеки Additional два окна редактирования с присоединенными к ним метками LebeledEdit, а со страницы библиотеки Standard – одну метку Label для надписи, одну панель Panel и одну кнопку Button.

Измените надписи в метках компонентов LabeledEdit на что-то осмысленное. Например на «Число 1» «Число2» «Результат» или на «Ширина» «Высота» «Площадь». Для этого щелкните на символе «+» в свойстве EditLabel этих компонентов и измените надпись в свойстве Caption раскрывшихся списков свойств меток. По­лезно задать для меток жирный шрифт.

Замените свойство Caption вашей кнопки, например, на «Расчет». Очистите свойство Caption у панели. В свойстве Text (текст) окон редактирования задайте «1» — начальное значение текста.

Попробуйте поварьировать такими свойствами панели, как Bevellnner и BevelOuter, которые определяют вид (утопленный — bvLowered или выпуклый bvRaised) основного поля и рамки панели. Например, можете установить Bevellnner = bvLowered и BevelOuter = bvRaised.

Осталось написать обработчик щелчка кнопки. Как и в предыдущей работе сделайте двойной щелчок на компоненте Button1 на форме. Единственный оператор этого обработчика может иметь вид:

Panel1->Caption = LabeledEdit1->Text + " * " +

LabeledEdit2->Text + " = " +

FloatToStr (StrToFloat(LabeledEdit1->Text) *

StrToFloat(LabeledEdit2->Text));

Попробуем проанализировать этот оператор. Начало его вам уже знакомо: вы присваиваете свойству Caption компонента Panel1 значение выражения, указан­ного в правой части оператора. Это выражение должно иметь тип строки текста. Начинается строка с текста, введенного пользователем в окно редактирования LabeledEdit1 — этот текст хранится в свойстве Text. Затем вы прибавляете к это­му тексту символы « * ». Знак « + » в выражениях для строк означает конкатена­цию — сцепление двух строк символов. Затем аналогичным образом к строке до­бавляется текст второго окна редактирования и символы « = ». После этого мы хо­тим вставить в строку результат перемножения двух целых чисел. Этот результат будет числом и, чтобы вставить его в текст, надо сначала преобразовать это число в строку. Эту операцию выполняет функция FloatToStr(...), которая преобразует заданный ей параметр типа действительного числа в строку символов. Осталось получить само произведение двух чисел. Но числа заданы пользователем в виде текстов — строк символов в окнах редактирования. Прежде, чем перемножать, эти строки надо перевести в числа. Эту операцию выполняют функции StrToFloat(), преобразующие символьное изображение числа в его значение типа действитель­ного числа. Знак '*', указанный между двумя функциями StrToFloat, обозначает операцию умножения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]