Создать обработчики событий для остальных пунктов меню
Перейдем к написанию обработчиков событий для пункта меню «Работа с матрицей». Напишем две функции: для формирования матрицы датчиком случайных чисел и для поиска максимального значения и поместим их в библиотечный файл с исходными кодами. Для этого щелкнем правой кнопкой мыши в Обозревателе решений на папке Файлы исходного кода, далее вызовем меню правой кнопкой мыши. В появившемся меню выберем: Добавить -> Создать Элемент. В открывшемся окне вписываем название файла – Matrica.cpp и нажимаем Добавить.
В файл поместим следующий код:
#pragma once
#include "stdafx.h"
#include "stdlib.h" //библиотека содержит функцию rand()
void form(int matr[5][5])
{
int i,j;
for (i=0;i<5;i++)
for(j=0;j<5;j++)
matr[i][j]=rand()%100-40;
}
int Maximum(int matr[5][5])
{int i,j;int m=0;
for (i=0;i<5;i++)
for(j=0;j<5;j++)
if(matr[i][j]>m)
m=matr[i][j];
return m;
}
Следующим шагом нужно добавить заголовочный файл Matrica.h в проект. Для этого щелкнем правой кнопкой мыши в Обозревателе решений на папке Заголовочные файлы, далее меню Добавить -> Создать Элемент, вписываем название файла – Matrica.h и нажимаем Добавить. В данном файле будет содержаться прототипы (заголовки) разработанных функций и описание общих переменных. Добавляем туда следующий исходный код:
static int A[5][5]; //Описание матрицы
void form(int matr[5][5]);
int summa(int matr[5][5]);
Далее подключаем этот файл к проекту с помошью директивы #include – Открываем главный файл проекта:form_lab3.cpp и добавляем туда после строчки #include "stdafx.h" следующий код:
#include "Matrica.h"
Теперь наш заголовочный файл подключен к проекту и все готово к созданию обработчиков событий.
Приведите обработчики событий выбора пунктов меню «форматирование» и «обработка» к следующему виду:
//формирование матрицы датчиком случайных чисел
private: System::Void формированиеToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
int i,j;
System::String^s=gcnew String("");
form(A); //вызов функции Form()
// Вывод матрицы в окно MessageBox
for (i=0;i<5;i++)
{
for(j=0;j<5;j++)
s=s+System::Convert::ToString(A[i][j])+"\t";
s=s+"\r\n";
}
MessageBox::Show(s," Матрица");
}
//обработка матрицы
private: System::Void обработкаToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
int max;
max=Maximum(A); //вызов функции Maximum()
label1->Text="Значение максимума=" +System::Convert::ToString(max);
}
Используя окно сообщений MessageBox, создадим обработчики событий для вывода информации о разработчике и задания по обработке матрицы.
Процедуру обработки события «выход» приведем к следующему виду:
private: System::Void выходToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
this->Close();
}
Откомпилируйте проект и проверьте работу всех пунктов меню.
Дата добавления: 2015-02-10; просмотров: 659;