Напевно усі читачі моєї статі дивилися фільм "Матриця". Напевно ви пам'ятаєте там зелений екран з цифрами та символами:
Так ось сьогодні ми спробуємо зробити програму яка буде нескінченно змінювати цифри і виводити їх в текстовому документі:
Почнемо!
Запускаємо Visual Studio та налаштовуємо там все. Після налаштування через Solution Explorer відкриваємо ProgramDlg.h
COLORREF cf, c[25];
HFONT hold, hNew, hbk;
Все готово!!!
Дякую за увагу!!!
Якщо вам не сподобалось програмувати та створювати діаграми передивіться усі частини фільму "Матриця")))!!!
Так ось сьогодні ми спробуємо зробити програму яка буде нескінченно змінювати цифри і виводити їх в текстовому документі:
Почнемо!
Запускаємо Visual Studio та налаштовуємо там все. Після налаштування через Solution Explorer відкриваємо ProgramDlg.h
Знизу видаляємо весь код, та замість нього пишемо
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;
DECLARE_MESSAGE_MAP()
public:
CStatic E;
};
Потім зверху вписуємо:
#define pi 3.14159265358979323846
Запускаємо проект:
#include "afxwin.h"
Після чого відкриваємо діалогову планшетку
Викликавши налаштування "Static" редагуємо в ID -> IDC_STATIC на IDC_E.
Взявши до рук інструменти з Toolbox майструємо ось таке діалогове вікно
Викликавши налаштування "Static" редагуємо в ID -> IDC_STATIC на IDC_E.
Викликавши налаштування "ГЕНЕРИРОВАТЬ" додаємо через Add Event Handler у код цю клавішу
Потім у доданому нами коді вписуємо:
ms = "\n\tИсходная матрица:\n\n";
int a = 10;
int b = 99;
int TAB[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);
Потім замість:
CProgramDlg::CProgramDlg(CWnd* pParent /*=NULL*/)
: CDialog(CProgramDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CProgramDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
c[0] = 0xFF00FF;
c[1] = 0xFFA500;
c[2] = 0xFFFF;
c[3] = 0x0C7800;
c[4] = 0x005690;
c[5] = 0xFFFF0000;
c[6] = 0xCC00AA;
c[7] = 0xAA5600;
c[8] = 0xAAAA;
c[9] = 0x00CC00;
c[10] = 0x090056;
c[11] = 0xF0F0F0;
fg = true;
SetWindowTextW(L"Program");
}
Вписуємо:
Вписуємо:
CProgramDlg::CProgramDlg(CWnd* pParent /*=NULL*/)
: CDialog(IDD_PROGRAM_DIALOG, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
srand((unsigned)time(NULL));
}
void CProgramDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
fg = true;
SetWindowTextW(L"Матрица случайных чисел");
DDX_Control(pDX, IDC_E, E);
E.SetWindowTextW(L"\n\n\tНажмите кнопку <ГЕНЕРИРОВАТЬ>");
}
Після чого додаємо у бібліотеку коду:
#include <time.h>
#include <iostream>
using namespace std;
Погрались та й годі. Тепер подуємо гістограму в Excel.
По - перше в утвореному файлі data виділяємо та копіюємо усі числа
Потім запускаємо Excel
Та вставляємо скопійовані числа.
Потім виділяємо їх та у розділі "Вставка" шукаємо "Линейчатые гистограммы".
Та переміщаємо її на окрему сторінку
Дякую за увагу!!!
Якщо вам не сподобалось програмувати та створювати діаграми передивіться усі частини фільму "Матриця")))!!!
Немає коментарів:
Дописати коментар