Помощь в написании студенческих работ
Антистрессовый сервис

Класс Rational как инструмент для работы с правильными рациональными дробями

Курсовая Купить готовую Узнать стоимостьмоей работы

Set the icon for this dialog. The framework does this automatically. Return TRUE; // return TRUE unless you set the focus to a control. SendMessage (WM_ICONERASEBKGND, (WPARAM) dc. GetSafeHdc (), 0); PSysMenu→AppendMenu (MF_STRING, IDM_ABOUTBOX, strAboutMenu); CEquationDlg (CWnd* pParent = NULL); // standard constructor. Void CEquationDlg: OnSysCommand (UINT nID, LPARAM lParam). When the… Читать ещё >

Класс Rational как инструмент для работы с правильными рациональными дробями (реферат, курсовая, диплом, контрольная)

Содержание

  • 1. ПОСТАНОВКА ЗАДАЧИ
  • 2. МЕТОД РЕШЕНИЯ ЗАДАЧИ
  • 3. АЛГОРИТМ РАБОТЫ ПРОГРАММЫ
  • 4. ТЕХНИЧЕСКИЕ ДАННЫЕ ДЛЯ ИСПОЛЬЗОВАНИЯ
  • 5. ПРИМЕР РЕАЛИЗАЦИИ ВЫВОД
  • СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT ((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT (IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu (FALSE);

if (pSysMenu ≠ NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString (IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty ())

{

pSysMenu->AppendMenu (MF_SEPARATOR);

pSysMenu->AppendMenu (MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application’s main window is not a dialog

SetIcon (m_hIcon, TRUE); // Set big icon

SetIcon (m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control

}

void CEquationDlg: OnSysCommand (UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal ();

}

else

{

CDialog:OnSysCommand (nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.

void CEquationDlg: OnPaint ()

{

if (IsIconic ())

{

CPaintDC dc (this); // device context for painting

SendMessage (WM_ICONERASEBKGND, (WPARAM) dc. GetSafeHdc (), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics (SM_CXICON);

int cyIcon = GetSystemMetrics (SM_CYICON);

CRect rect;

GetClientRect (&rect);

int x = (rect.Width () — cxIcon + 1) / 2;

int y = (rect.Height () — cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon (x, y, m_hIcon);

}

else

{

CDialog:OnPaint ();

}

}

// The system calls this to obtain the cursor to display while the user drags

// the minimized window.

HCURSOR CEquationDlg: OnQueryDragIcon ()

{

return (HCURSOR) m_hIcon;

}

void CEquationDlg: OnEvaluate ()

{

double delta;

double deltaX;

double deltaY;

//m_a1 = _T («Kassav' - Nou La»);

UpdateData (TRUE);

//это определитель матрицы А (det А) или его еще называют

//определитель системы и он составлен из коэффициентов при неизвестных. Обозначим его D

delta = m_a1*m_b2-m_a2*m_b1;

//определитель, который получится из det А, если в нем столбец коэффициентов при х1 (первый столбец)

//заменить на столбец правых частей. Обозначим его D Х1

deltaX = m_c1*m_b2-m_c2*m_b1 ;

// коэффициентов при х

//2 заменить на столбец правых частей. Обозначим его D x2

deltaY = m_a1*m_c2-m_a2*m_c1 ;

if (delta ≠ 0)

{

//D ≠ 0 Тогда xi=D xi/D — решение существует, причем единственное.

m_x = deltaX/delta;

m_y = deltaY/delta;

} else

if (delta == 0)

{

if (m_y == 0 && m_x ==0)

//то система имеет бесконечно много решений

MessageBox («System have infinity of solution „,“ Infinity solution»);

else

//D == 0 а какой-либо из D xi 0, то есть у нас в xi=D xi/D производится деление на 0,

//система не имеет решения (несовместна).

MessageBox («System don’t have any solution „,“ No solution»);

}

UpdateData (FALSE);

}

// Сброс значения

void CEquationDlg: OnReset ()

{

UpdateData (TRUE);

m_a1 = 0;

m_a2 = 0;

m_b1 = 0;

m_b2 = 0;

m_c1 = 0;

m_c2 = 0;

m_x = 0;

m_y = 0;

UpdateData (FALSE);

}

// EquationDlg. h: header file

#if !defined (AFX_EQUATIONDLG_H__ACCEC877_1202_4448_AD71_EACF20A36373__INCLUDED_)

#define AFX_EQUATIONDLG_H__ACCEC877_1202_4448_AD71_EACF20A36373__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

// CEquationDlg dialog

class CEquationDlg: public CDialog

{

// Construction

public:

CEquationDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

//{{AFX_DATA (CEquationDlg)

enum { IDD = IDD_EQUATION_DIALOG };

CButton m_reset;

CButton m_evaluate;

double m_x;

double m_y;

double m_a1;

double m_a2;

double m_b1;

double m_b2;

double m_c1;

double m_c2;

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL (CEquationDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

HICON m_hIcon;

// Generated message map functions

//{{AFX_MSG (CEquationDlg)

virtual BOOL OnInitDialog ();

afx_msg void OnSysCommand (UINT nID, LPARAM lParam);

afx_msg void OnPaint ();

afx_msg HCURSOR OnQueryDragIcon ();

afx_msg void OnEvaluate ();

afx_msg void OnReset ();

//}}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined (AFX_EQUATIONDLG_H__ACCEC877_1202_4448_AD71_EACF20A36373__INCLUDED_)

(1)

(2)

(4)

Показать весь текст

Список литературы

  1. Л.И. Шолмов. Язык C++. 2008 г.
  2. Г. Шилдт. C для профессиональных программистов. 2009 г.
  3. Б.В. Керниган, Д. М. Ричи. Язык C++. 2005 г.
  4. Р.Ф. Элементы линейной алгебры и аналитической геометрии. — Минск: Вышэйшая школа, 1977 г. — 257 с.
  5. С.В. и др. Язык программирования С++. —Харьков: Фолио, 2002. — 500 с.
  6. ГОСТ 19.701—90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.— М.: 1991.
  7. Х. М. Дейтел П.Дж. Как программировать на С++: Пер. с англ. — М.: ЗАО «Издательство БИНОМ», 2000 г. — 1024 с.: ил.
  8. . Язык программирования С++. Часть 2. — Киев: «ДиаСофт», 2003. — 296 с.
  9. Холзнер С. VISUAL C++6: учебный курс — СПб: Издательство «Питер», 2000. —576 с.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ