Сериализация результатов табуляции функции при использовании диалога (Лабораторная работа № 17 по VISUALC++ 2005)

Страницы работы

5 страниц (Word-файл)

Содержание работы

Лабораторная работа №17  по VISUALC++ 2005

«Сериализация результатов табуляции функции при  использовании диалога»

1 Задание

Создать  и выполнить однодокументное  Windows-приложение на «родном» C++  с использованием библиотеки MFC.  Предусмотреть запуск из меню fileдиалогового режима, чтение из окон текстового редактора  исходных данных для табуляции функции, запуск процесса табуляции, вывод результатов в окно списка, а также в файл при выборе пункта меню file->saveили file->saveasи последующее  чтение из диска по file->open.

          Выражением и исходными данными задаться самостоятельно.

2 Общие указания

          Сериализация – процесс записи на диск или чтения из него. Данная работа является продолжением лабораторной работы «Сериализация стандартных объектов при работе с файлами  ».

Рассмотрим пример создания приложения с именем  ser_dia_tabul.

          Ввод исходных данных (double xn, dx, xk) предполагается осуществлять с клавиатуры  в диалоговом режиме. Диалоговое окно будет появляться в случае выбора пункта меню Show dialog. В этом  окне помимо текстовых окон должна быть кнопка «Пуск». При её нажатии  запустится процесс табуляции. Результаты  будут выводиться в  окно List box  а также присваиваться строковой переменной   CString str  диалогового класса Dlg. При нажатии кнопки OK произойдет копирование строки str  в строку CString m_stroka класса Cser_dia_tabulDoc.  Эту строку с помощью функции Serialize() можно сохранять на диске и читать, а с помощью OnDraw() выводить на экран.

     1).Create project   ser_dia_tabul :  Project types- MFC,

Templates-  MFC Application, Application type - single document.

Убрать флажок Use Unicode libraries.

2)  Добавить пункт меню File/Show dialog….

3)  Создать обработчик события выбора этого пункта меню и оставить его пока пустым.

4)  Создать диалоговое окно. Помимо имеющихся по умолчанию кнопок разместить в нем кнопку «Пуск», три текстовых окна ab| Edit control и одно List box. Против каждого из окон ab|Edit control в окнах Aa Static Text разместить символические имена соответствующих переменных.

5)  Щелкнуть на диалоговом окне, вызвать контекстное меню Add class. В появившемся окне ввести имя диалогового класса Dlg.

6)  В класс Dlg добавить элементы данных medit1, medit2, medit3 для трех окон ab|Edit control. Предполагается, что в них будут заноситься соответственно xn, dx, xk.  Для List box добавить элемент данных  mlist1. Вызвать для него properties и выключить сортировку строк (в строке Sort  установить false).

6) Создать обработчик события- выбора кнопки «Пуск». В нем запрограммировать табуляцию функции Например для y=log(x) обработчик имеет вид:

 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: Add your control notification handler code here

}

          Чтобы он мог работать, в файл Dlg.cpp нужно добавить #include”Dlg.h” и #include<math.h>.

Здесь используется локальная переменная CString  s1. Следует обратить внимание на то, что в цикле формируется  str типа CString, являющаяся элементом данных класса Dlg.

7) Заполнить обработчик события- выбора пункта меню «Show Dialog». Ниже приводится его текст.

void Cser_dia_tabulView::OnFileShowdialog()

{

    Dlg  dlg1;

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

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
51 Kb
Скачали:
0