четверг, 11 мая 2017 г.

Программа "RndTab_8x8"

Программа "RndTab_8x8"

Сегодня я расскажу как сделать программу, которая будет делать таблицу из 8 столбцов и 8 строк, в каждой ячейке будет каждый раз рандомное число. После чего таблицу из этих рандомных чисел программа будет записывать в блокнот.


1) Заходим с среду программирования.
2) Заходим в Solution Explorer и там выбираем папочку Header Files, а в ней ProgramDlg.h.
3) Там вписываем этот блок:

private:

COLORREF cf, c[25];
HFONT hold, hNew, hbk;
HPEN hPenOxy, hOldPen, pen;
HBRUSH m, oldm, brush;
CPen d, oldd;
CBitmap pic;
CRect rc, w, kw[30];

CString ms, t, z;

int Matrix[50][50];
int x1, y1, x2, y2, x3, y3, x4, y4;
int RH, RW, k, i, j, p, x, y, cx, cy, dx, dy;

bool fg;

Теперь открываем планшетку и берём из toolbox: static text, button(генерировать)

Добавляем переменную для статического текста (Е).
Добавляем обработчик событий для кнопки, в котором вставляем все это:

ms = "\n\tИсходная матрица:\n\n";
//Записываем в переменную данный текст
int a = 10;
int b = 99;
int TAB[8][8];
// ТАБ-наша таблица(матрица) 8х8
for (k = 0; k < 8; k++)
{
for (i = 0; i < 8; i++)
{
TAB[k][i] = a + rand() % (b - a + 1);
int p = TAB[k][i];
t.Format(L"\t%i", p);
ms += t;
}
ms += "\n";
}
E.SetWindowTextW(ms);


setlocale(LC_ALL, "rus");
CStdioFile inf(L"d:\\temp\\data.txt", CFile::modeCreate | CFile::modeWrite);
inf.WriteString(ms); // записать в файл
inf.Flush();
inf.Close();
ShellExecute(m_hWnd, L"open", L"d:\\temp\\data.txt", NULL, NULL, SW_SHOWDEFAULT);

Компилируем и получаем вот такую программу:


Теперь нажимаем на "ГЕНЕРИРОВАТЬ", получаем это:


Потом получаем открытый блокнот.

Спасибо за внимание.


Комментариев нет:

Отправить комментарий