Вход

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

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 115335
Дата создания 2010
Страниц 17
Источников 9
Мы сможем обработать ваш заказ (!) 26 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 000руб.
КУПИТЬ

Содержание

Содержание
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
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_)
10
(1)
(2)
(4)

Список литературы [ всего 9]

Список используемой литературы
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 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00499
© Рефератбанк, 2002 - 2024