![](/user_photo/2706_HbeT2.jpg)
- •Содержание работы
- •1 Элементы языка с
- •1.1 Символы
- •2 Простые типы данных
- •3 Операции над числовыми данными
- •4 Объявление переменных
- •5 Структура программы на с
- •7 Директива #define
- •9 Библиотека математических функций
- •Содержание работы
- •1 Условный оператор if
- •Пример 1 Поиск наибольшего значения
- •Пример 2 Определение принадлежности точки фигуре
- •2 Составной оператор
- •Пример 3 Проверка условия существования треугольника
- •3 Вложенный оператор
- •Пример 4 Вложенное ветвление
- •4 Оператор выбора switch
- •Содержание работы
- •1 Определение цикла
- •Пример 1 Виды циклов
- •Задание 1
- •2 Оператор цикла for
- •3 Оператор цикла while
- •4 Оператор цикла do while
- •5 Табулирование функций
- •Пример 2 Табулирование непрерывной функции
- •Пример 3 Табулирование сложной функции
- •6 Вычисление конечных сумм и произведений
- •Пример 4 Вычисление суммы
- •Пример 5 Вычисление произведения
- •7 Управляющие конструкции break, continue, return, goto
- •Содержание работы
- •1 Понятие и описание массивов
- •Пример 1 Объявление одномерного массива
- •Пример 2 Объявление двумерного массива
- •2 Одномерные массивы Пример 3 Ввод элементов одномерного массива
- •Пример 4 Нахождение суммы и среднего значения элементов массива
- •Пример 5 Нахождение наибольшего элемента массива и его номера
- •3 Двумерные массивы (матрицы)
- •Пример 6 Суммирование матриц
- •4 Символьные массивы
- •Пример 7 Описание символьного массива
- •Пример 8 Сравнение строк
- •5 Указатели и операции над указателями
- •Пример 9 Описание указателей
- •Пример 10 Операции над указателями
- •Пример 11 Сравнение указателей
- •6 Связь между массивом и указателем
- •Содержание работы
- •1 Модульное программирование
- •2 Объявление функции
- •Пример 1 Объявление функции
- •Задание 1
- •Это важно
- •2 Формальные и фактические параметры функции
- •Задание 3
- •Содержание работы
- •1 Создание класса
- •Пример 1 Объявление класса
- •Задание 1
- •Пример 2 Доступ к членам класса
- •Задание 2
- •2 Полиморфизм
- •Пример 3 Перегрузка функций
- •Задание 3
- •Содержание работы
- •1 Понятие формы. Конструктор форм Windows Forms
- •2 Элементы управления
- •3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения
- •Пример 2 Создание идентификационной формы
- •Пример 3 Изменение параметров MessageBox.Show
- •5 Анализ кода
- •6 Расчетные формы Пример 4 Создание расчетной формы
- •Пример 5 Создание простейшего меню
- •7 Создание оконных приложений на базе mfc
6 Расчетные формы Пример 4 Создание расчетной формы
Создадим оконное приложение для расчета амортизационных отчислений по формуле
где S0 – начальная стоимость имущества, SN – остаточная стоимость имущества, N – срок эксплуатации.
1 Создаем форму с тремя полями textBox1, textBox2, textBox3;
С пятью метками label1 – label5 и одной кнопкой (рисунок 34).
Рисунок 34 – Форма
Ответ поместим в label5, поэтому надпись label5 удаляем.
2 Дважды щелкаем по кнопке Ok и в текущее положение курсора вставляем строки
int s0=Convert::ToInt32(textBox1->Text);
int sN=Convert::ToInt32(textBox2->Text);
int N=Convert::ToInt32(textBox3->Text);
float a;
a=(s0-sN)/N;
label5->Text=Convert::ToString(a);
Команда Convert::ToInt32 преобразует текст, введенный в поля textBox1, textBox2, textBox3 в целочисленный формат, т.к. данные введенные в текстовые поля воспринимаются только как текст, и, следовательно, арифметические действия невозможны.
Команда Convert::ToString(a); преобразует числовой результат a в строковый (String).
3 Выполним тестирование программы. Определим ежегодные амортизационные отчисления на оборудование начальной стоимостью 3 млн. руб., сроком эксплуатации 10 лет и остаточной стоимостью 500 тыс. руб. (рисунок 35).
Рисунок 35 – Результат расчета
Задание 6
Выполните все этапы создания расчетной формы, описанные в примере 4. Исключите возможность ошибочного ввода данных (например, ввода отрицательных значений, нулевого значения срока эксплуатации т.п.).
Пример 5 Создание простейшего меню
Создадим простейшее меню для приложения предыдущего примера.
Перетаскиваем управляющий элемент MenuStrip на форму приложения (рисунок 36).
Рисунок 36 – Добавление управляющего элемента MenuStrip на форму
Создаем выпадающее меню Файл с несколькими пунктами (рисунок 37).
Рисунок 37 – Создание меню
Сделаем активным простейший пункт – Выход. Дважды щелкаем на пункте Выход, чтобы добавить код:
Close();
Программу можно совершенствовать. Например, предусмотреть экспорт результата в другое приложение, импорт исходных данных. Можно сделать так, что каждый раз, когда пользователь попытается закрыть приложение, приложение будет его спрашивать, действительно ли он хочет выйти и т.д.
Задание 7
Выполните все этапы создания простейшего меню, описанные в примере 5.
7 Создание оконных приложений на базе mfc
Пример 6
Создадим приложение для расчета амортизационных отчислений по формуле
где S0 – начальная стоимость имущества, SN – остаточная стоимость имущества, N – срок эксплуатации.
1 Запускаем Ms Visual C++. Создаем новый проект командой File®New, выбираем тип MFCAppWizard(exe), указываем имя проекта (рисунок 38).
Рисунок 38 – Создание нового проекта
Далее выбираем тип приложения Dialog based и следуем дальнейшим указаниям мастера создания приложений (рисунок 39).
Рисунок 39 – Выбор типа приложения
2 Создаем статические объекты на диалоговой панели в ресурсах проекта. Воспользуемся элементом панели Toolbox (рисунок 40).
Рисунок 40 - Создание статических объектов
В свойствах каждого объекта в поле Caption задаем текстовые строки «s0=», «sn=», «n =», «a =» соответственно.
3 Создаем поля Edit Control (рисунок 41), назначаем переменные-члены диалогового класса.
Рисунок 41 - Создание полей Edit Control
В свойствах каждого объекта в поле ID задаем идентификаторы ID_s0, ID_sn, ID_n, ID_a (рисунок 42).
Рисунок 42 - Задание идентификаторов
Для объектов, имеющих тип Edit Control, создаем переменные категории Value и типа float с именами m_s0, m_sn, m_n, m_a, являющимися членами диалогового класса (рисунок 43).
Рисунок 43 - Создание переменных, являющимися членами диалогового класса
4 Создадим кнопку (рисунок 44).
Рисунок 44 –Создание кнопки
В свойствах данного объекта в поле Caption задаем текстовую строку «вычислить», в поле ID задаем идентификатор IDC_solve.
Создаем функцию-обработчик сообщения, посылаемого кнопкой при одинарном щелчке (рисунок 45).
Рисунок 45 -Создание функции-обработчика сообщения, посылаемого кнопкой при одинарном щелчке
5 Вызываем исходный код, двойным щелчком по кнопке «Найти средние значения» и наполняем его следующим образом (рисунок 46)
Рисунок 46 – Исходный код
6 Запускаем процедуру компиляции и редактирования связей кода, нажимая кнопку «» на панели инструментов Visual C++, выполняем приложение, получаем следующий результат (рисунок 47):
Рисунок 47 – Результат выполнения
Пример 7
Создадим диалоговое приложение для расчета амортизационных отчислений по формуле
где S0 – начальная стоимость имущества, SN – остаточная стоимость имущества, N – срок эксплуатации
на основе объектно-ориентированного программирования.
1 Запускаем Ms Visual C++, создаем новый проект командой File®New, выбираем тип MFCAppWizard(exe), указываем имя проекта. Далее выбираем тип приложения Dialog based и следуем дальнейшим указаниям мастера создания приложений.
2 Аналогично предыдущей задаче создаем диалоговую панель: создаем статические объекты для исходных данных и результата расчета, а также поля Edit Control, назначаем переменные-члены диалогового класса.
3 Создаем новый класс MyClass (рисунок 48).
Рисунок 48 – Создание нового класса MyClass
Включим в класс MyClass функцию с именем amortiz() в качестве члена класса (рисунок 49).
Рисунок 49 – Добавление функции amortiz()
Включим в класс переменные типа float с именами s0, sn, n, a в качестве переменных-членов класса (рисунок 50).
Рисунок 50 – Добавление переменных класса
Формируем функцию расчета амортизационных отчислений (рисунок 51).
Рисунок 51 – Формирование функции расчета амортизационных отчислений
3 Создадим кнопку. Существенное отличие от предыдущей задачи будет иметь место при создании функции-обработчика кнопки “Solve”. Исходный код функции-обработчика сообщения, посылаемого кнопкой, выглядит следующим образом (рисунок 52):
Рисунок 52 - Исходный код функции-обработчика сообщения
4 Запускаем процедуру компиляции и редактирования связей кода, нажимая кнопку «» на панели инструментов Visual C++, выполняем приложение, получаем следующий результат (рисунок 53):
Рисунок 53 – Результат выполнения
Пример 8
Создадим диалоговое приложение для:
а) сравнения строк а и b;
б) объединения строк а и b.
Класс Cstring содержит все операции со строками. Он чрезвычайно полезен и является заметным достижением по сравнению с принятой в языке С интерпретацией строк как символьных массивов.
1 Запускаем Ms Visual C++, создаем новый проект командой File®New, выбираем тип MFCAppWizard(exe), указываем имя проекта. Далее выбираем тип приложения Dialog based и следуем дальнейшим указаниям мастера создания приложений.
2 Аналогично предыдущим задачам создаем поля Edit Control, назначаем переменные-члены диалогового класса. В свойствах каждого объекта в поле ID задаем идентификаторы ID_a, ID_b, ID_res.
Для объектов, имеющих тип Edit Control, создаем переменные типа CString с именами m_a, m_b, m_ res, являющимися членами диалогового класса.
3 Создадим кнопку.
В свойствах данного объекта в поле Caption задаем текстовую строку «Action=», в поле ID задаем идентификатор IDC_res. Создаем функцию-обработчик сообщения, посылаемого кнопкой при одинарном щелчке.
4 Вызываем исходный код, щелчком по кнопке «Action» и наполняем его следующим образом (рисунок 54):
в случае а)
в случае б)
Рисунок 54 – Исходные коды
6 Запускаем процедуру компиляции и редактирования связей кода, нажимая кнопку «» на панели инструментов Visual C++, выполняем приложение, получаем следующий результат (рисунок 55):
в случае а)
в случае б)
Рисунок 55 – Результаты выполнений
Пример 9
Создадим диалоговое приложение для вычисления значения степенной функции.
1 Запускаем Ms Visual C++. Создаем новый проект командой File®New, выбирает тип MFCAppWizard(exe), указываем имя проекта. Далее выбираем тип приложения Dialog based и следуем дальнейшим указаниям мастера создания приложений.
2 Создаем статические объекты.
Воспользуемся элементом панели .
3 Создаем поля Edit Control, назначаем переменные-члены диалогового класса.
В свойствах каждого объекта в поле ID задаем идентификаторы ID_x, ID_y, ID_res.
Для объектов, имеющих тип Edit Control, создаем переменные типа float с именами m_x, m_y, m_res, являющимися членами диалогового класса.
4 Добавляем функцию MyPow (рисунок 56).
Рисунок 56 - Добавление функции MyPow
5 Создадим кнопку.
В свойствах данного объекта в поле Caption задаем текстовую строку «Возвести в степень=», в поле ID задаем идентификатор IDC_res. Создаем функцию-обработчик сообщения, посылаемого кнопкой при одинарном щелчке.
Вызываем исходный код, щелчком по кнопке «Возвести в степень» и наполняем его следующим образом (рисунок 57):
Рисунок 57 –Исходный код
Запускаем процедуру компиляции и редактирования связей кода, нажимая кнопку «» на панели инструментов Visual C++, выполняем приложение, получаем следующий результат (рисунок 58):
Рисунок 58 – Результат выполнения
1