Под номером 2.
Предназначен для вывода графики в массовом порядке. Предполагается, что в программе будет 5 групп изображений, в каждой группе 5 штук. Смена изображений осуществляется нажатием произвольной клавиши.
// Движок для решения графических задач (1)
// Язык Visual C++ 6.0
// p8Doc.h
class CP8Doc:public CDocument
{
protected:
CP8Doc ();
DECLARE_DYNCREATE (CP8Doc);
char aa [50]; // место для вводимых символов
int ca; // исходное данное - целое число
int da, db; // указатель ввода в строку данных, <Enter>
int ea, eb; // указатель чтения данных; введённое число
void ga (); // перевод данных из символьной формы в цифровую
void gb ();
};
- - - - -
// p8Doc.cpp
CP8Doc::CP8Doc ()
{
aa [0] = 0;
da = db = 0;
}
void CP8Doc::ga ()
{
db = 1;
ea = 0;
while ((aa [ea] < '0' || aa [ea] > '9') && aa [ea]) ea++;
gb ();
ca = eb;
}
void CP8Doc::gb ()
{
eb = 0;
while (aa [ea] >= '0' && aa [ea] <= '9')
{
eb = eb * 10 + aa [ea] - '0';
ea++;
}
}
- - - - -
// p8View.cpp
int d = 0; // счётчик изображений
int e = 100; // масштаб изображения
int g, h;
void CP8View::OnDraw (CDC *pDC)
{
CP8Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
CString a;
if (pdoc -> db == 0)
{
pDC -> TextOut (10, 10, "Введите целое число (1):");
pDC -> TextOut (10, 35, pdoc -> aa);
return;
}
if (pdoc -> ca == 1)
{
if (d == 0)
{
for (g = 0; g < 11; g++)
{
pDC -> MoveTo (e * g, 0);
pDC -> LineTo (e * g, e * 10);
pDC -> MoveTo (0, e * g);
pDC -> LineTo (e * 10, e * g);
}
}
}
}
void CP8View::OnChar (UINT nChar, UINT nRepCnt, UINT nFlags)
{
CP8Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
if (pdoc -> db)
{
if (d < 5) d++;
goto aaa;
}
if (nChar == 8)
{
if (pdoc -> da) {pdoc -> da--; pdoc -> aa [pdoc -> da] = 0;}
goto aaa;
}
if (nChar == 13)
{
pdoc -> ga ();
goto aaa;
}
if (pdoc -> da < 49)
{
pdoc -> aa [pdoc -> da] = nChar;
pdoc -> aa [pdoc -> da + 1] = 0;
pdoc -> da++;
}
aaa:
Invalidate ();
CView::OnChar (nChar, nRepCnt, nFlags);
}
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Комментарии 15