Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
27.01.2024
Размер:
187.3 Кб
Скачать

Варіант 7

Лабораторна робота 20

СЕРІАЛІЗАЦІЯ СТАНДАРТНИХ ОБ’ЄКТІВ ПІД ЧАС РОБОТИ З ФАЙЛАМИ

Постановка завдання

Створити однодокументну Windows-програму на C++ ISO/ANSI із

використанням бібліотеки MFC. Передбачити запуск із меню Файл діалогового режиму, читання з діалогового вікна вхідних даних для табуляції функції, запуск процесу табуляції, виведення результатів у вікно списку, а також у файл при виборі пункту меню Файл/Сохранить або Файл /Сохранить как... і подальше прочитання з диска Файл /Открыть.

Код та блок-схеми:

void Dlg::OnBnClickedButton1()

{

CString s1;

double x,xn,dx,xk,y;

medit1.GetWindowTextA(s1);

xn=atof(s1);

medit2.GetWindowTextA(s1);

dx=atof(s1);

medit3.GetWindowTextA(s1);

xk=atof(s1);

s1.Format("Результати:");

for(x=xn;x<=xk;x+=dx)

{

if(x>0)

{

y=log(x);

s1.Format(" x=%lf y=%lf",x,y);

mlist1.AddString(s1);

}

else

{

s1.Format("Немає результату при x=%lf",x);

mlist1.AddString(s1);

}

str+=s1;

}

// TODO: добавьте свой код обработчика сообщений

// или вызов стандартного

}

void Cser_dia_tabulView::OnFileShowdialog()

{

Dlg dlg1;

int rezult=(int)dlg1.DoModal();

if(rezult==IDOK)

{

Cser_dia_tabulDoc*pDoc=GetDocument();

ASSERT_VALID(pDoc);

if(!pDoc)

return;

pDoc->m_stroka=dlg1.str;

Invalidate();

}

//TODO: добавьте свой код обработчика сообщений или

// вызов стандартного

}

void Cser_dia_tabulView::OnDraw(CDC*/*pDC*/)

{

Cser_dia_tabulDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

// TODO: добавьте здесь код отрисовки для собственных

// данных

}

Void Cser_dia_tabulView::OnDraw(CDC*pDC/*pDC*/)

{

Cser_dia_tabulDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

pDC->TextOutA(0,0,pDoc->m_stroka);

// TODO: добавьте здесь код отрисовки для собственных данных

}

void Cser_dia_tabulDoc::Serialize(CArchive&ar)

{

if (ar.IsStoring())

{

ar<<m_stroka; //Виведення m_stroka у файл на диск

// TODO: добавьте код сохранения

}

else

{

ar>>m_stroka;

// Прочитання з файла

// TODO: добавьте код загрузки

}

}

BOOL Cser_dia_tabulDoc::OnNewDocument()

{

if (!CDocument::OnNewDocument())

return FALSE;

m_stroka="";

UpdateAllViews(NULL);

// TODO: добавьте код повторной инициализации

return TRUE;

}

Скріншот программи:

Висновки

Створено однодокументну Windows-програму на C++ ISO/ANSI із

використанням бібліотеки MFC. Передбачено запуск із меню Файл діалогового режиму, читання з діалогового вікна вхідних даних для табуляції функції, запуск процесу табуляції, виведення результатів у вікно списку, а також у файл при виборі пункту меню Файл/Сохранить або Файл /Сохранить как... і подальше прочитання з диска Файл /Открыть.

Соседние файлы в папке еще какието лабки разных вариантов