Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой  по САПР Плешков А. М..doc
Скачиваний:
2
Добавлен:
10.12.2018
Размер:
304.13 Кб
Скачать

Заключение

В ходе выполнения данного курсового проекта была разработана алгоритм и программа для определения технического состояния объекта по его признакам. В соответствии с этой моделью был разработан алгоритм реализации этой модели программными средствами, в результате чего написана программа на языке С++ с применением библиотек классов MFC. Разработанная программа соответствует заданным на этапе проектирования требованиям. В ходе проведения вычислительного эксперимента программа сбоев не давала, результаты подтверждались проверочными расчетами. Ехе-файл проекта занимает 184 Кб.

Литература

1. Дэн Гукин С ,2-е издание. – М.: Диалектика, 2006. – 355с.

2. Каев Артем «MFC. Шаг за шагом» – http://www.firststeps.ru/

3. Никитин Ю.Р. Методическое пособие к выполнению курсовой работы по дисциплине «Системный анализ и принятие решений»: Учеб. пособие. – Ижевск: Изд-во ИжГТУ, 2009.- 8 с.

4. ГОСТ 19.504-79 (СТ СЭВ 2095-80). Руководство программиста. Требования к содержанию и оформлению.

5. ГОСТ 19.701-90 (ИСО 5807-85). Схемы алгоритмов, программ, данных и систем.

Приложение а (обязательное)

Текст программы

// dlkDlg.cpp : файл реализации

//

#include "stdafx.h"

#include "dlk.h"

#include "dlkDlg.h"

#include "afxdialogex.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// Диалоговое окно CAboutDlg используется для описания сведений о приложении

class CAboutDlg : public CDialogEx

{

public:

CAboutDlg();

// Данные диалогового окна

enum { IDD = IDD_ABOUTBOX };

protected:

virtual void DoDataExchange(CDataExchange* pDX); // поддержка DDX/DDV

// Реализация

protected:

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)

{

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)

END_MESSAGE_MAP()

// диалоговое окно CdlkDlg

CdlkDlg::CdlkDlg(CWnd* pParent /*=NULL*/)

: CDialogEx(CdlkDlg::IDD, pParent)

, m_x11(0)

, m_x12(0)

, m_x13(0)

, m_x21(0)

, m_x14(0)

, m_x22(0)

, m_x23(0)

, m_x24(0)

, m_x31(0)

, m_x32(0)

, m_x33(0)

, m_x34(0)

, m_x41(0)

, m_x42(0)

, m_x43(0)

, m_x44(0)

, m_x51(0)

, m_x52(0)

, m_x53(0)

, m_x54(0)

, m_r1(0)

, m_r2(0)

, m_r3(0)

, m_r4(0)

{

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CdlkDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT8, m_x11);

DDX_Text(pDX, IDC_EDIT12, m_x12);

DDX_Text(pDX, IDC_EDIT16, m_x13);

DDX_Text(pDX, IDC_EDIT20, m_x21);

DDX_Text(pDX, IDC_EDIT10, m_x14);

DDX_Text(pDX, IDC_EDIT14, m_x22);

DDX_Text(pDX, IDC_EDIT18, m_x23);

DDX_Text(pDX, IDC_EDIT22, m_x24);

DDX_Text(pDX, IDC_EDIT9, m_x31);

DDX_Text(pDX, IDC_EDIT13, m_x32);

DDX_Text(pDX, IDC_EDIT17, m_x33);

DDX_Text(pDX, IDC_EDIT21, m_x34);

DDX_Text(pDX, IDC_EDIT7, m_x41);

DDX_Text(pDX, IDC_EDIT11, m_x42);

DDX_Text(pDX, IDC_EDIT15, m_x43);

DDX_Text(pDX, IDC_EDIT19, m_x44);

DDX_Text(pDX, IDC_EDIT23, m_x51);

DDX_Text(pDX, IDC_EDIT24, m_x52);

DDX_Text(pDX, IDC_EDIT25, m_x53);

DDX_Text(pDX, IDC_EDIT26, m_x54);

DDX_Text(pDX, IDC_EDIT4, m_r1);

DDX_Text(pDX, IDC_EDIT6, m_r2);

DDX_Text(pDX, IDC_EDIT5, m_r3);

DDX_Text(pDX, IDC_EDIT3, m_r4);

}

BEGIN_MESSAGE_MAP(CdlkDlg, CDialogEx)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDOK, &CdlkDlg::OnBnClickedOk)

ON_BN_CLICKED(IDC_BUTTON1, &CdlkDlg::OnBnClickedButton1)

ON_BN_CLICKED(IDC_RADIO1, &CdlkDlg::OnBnClickedRadio1)

ON_BN_CLICKED(IDC_3, &CdlkDlg::OnBnClicked3)

ON_BN_CLICKED(IDC_4, &CdlkDlg::OnBnClicked4)

END_MESSAGE_MAP()

// обработчики сообщений CdlkDlg

BOOL CdlkDlg::OnInitDialog()

{

CDialogEx::OnInitDialog();

// Добавление пункта "О программе..." в системное меню.

// IDM_ABOUTBOX должен быть в пределах системной команды.

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

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

BOOL bNameValid;

CString strAboutMenu;

bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);

ASSERT(bNameValid);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

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

}

}

// Задает значок для этого диалогового окна. Среда делает это автоматически,

// если главное окно приложения не является диалоговым

SetIcon(m_hIcon, TRUE); // Крупный значок

SetIcon(m_hIcon, FALSE); // Мелкий значок

// TODO: добавьте дополнительную инициализацию

return TRUE; // возврат значения TRUE, если фокус не передан элементу управления

}

void CdlkDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

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

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialogEx::OnSysCommand(nID, lParam);

}

}

// При добавлении кнопки свертывания в диалоговое окно нужно воспользоваться приведенным ниже кодом,

// чтобы нарисовать значок. Для приложений MFC, использующих модель документов или представлений,

// это автоматически выполняется рабочей областью.

void CdlkDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // контекст устройства для рисования

SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

// Выравнивание значка по центру клиентского прямоугольника

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;

// Нарисуйте значок

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialogEx::OnPaint();

}

}

// Система вызывает эту функцию для получения отображения курсора при перемещении

// свернутого окна.

HCURSOR CdlkDlg::OnQueryDragIcon()

{

return static_cast<HCURSOR>(m_hIcon);

}

void CdlkDlg::OnBnClickedOk()

{

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

UpdateData(true);

double A[6], mas[6],res[6],var[6],max;int i,n,j,n_max=1,V;

if(IsDlgButtonChecked(IDC_RADIO1))

{

mas[0]=m_x11;mas[1]=m_x21;mas[2]=m_x31;mas[3]=m_x41;mas[4]=m_x51;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[0]=mas[n];

mas[0]=m_x12;mas[1]=m_x22;mas[2]=m_x32;mas[3]=m_x42;mas[4]=m_x52;

max=mas[0];n=0;

for(i=0;i<4;i++){

if(mas[i]<mas[i+1])

{n=i;}

}

res[1]=mas[n];

mas[0]=m_x13;mas[1]=m_x23;mas[2]=m_x33;mas[3]=m_x43;mas[4]=m_x53;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[2]=mas[n];

mas[0]=m_x14;mas[1]=m_x24;mas[2]=m_x34;mas[3]=m_x44;mas[4]=m_x54;

max=mas[0];n=0;

for(i=0;i<4;i++) {

if(mas[i]<mas[i+1])

{n=i;}

}

res[3]=mas[n];

var[0]=m_x11;var[1]=m_x12;var[2]=m_x13;var[3]=m_x14;

for(i=0;i<4;i++)

{

if(var[i]<res[i])

{res[i]=var[i];}

}

for(j=0,V=0;j<3;j++)

{ if(res[V]<res[j+1])

{V=j+1;}

}

m_r1=res[0];

m_r2=res[1];

m_r3=res[2];

m_r4=res[3];

V++;

}

if(IsDlgButtonChecked(IDC_RADIO2))

{

mas[0]=m_x11;mas[1]=m_x21;mas[2]=m_x31;mas[3]=m_x41;mas[4]=m_x51;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[0]=mas[n];

mas[0]=m_x12;mas[1]=m_x22;mas[2]=m_x32;mas[3]=m_x42;mas[4]=m_x52;

max=mas[0];n=0;

for(i=0;i<4;i++) {

if(mas[i]<mas[i+1])

{n=i;}

}

res[1]=mas[n];

mas[0]=m_x13;mas[1]=m_x23;mas[2]=m_x33;mas[3]=m_x43;mas[4]=m_x53;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[2]=mas[n];

mas[0]=m_x14;mas[1]=m_x24;mas[2]=m_x34;mas[3]=m_x44;mas[4]=m_x54;

max=mas[0];n=0;

for(i=0;i<4;i++) {

if(mas[i]<mas[i+1])

{n=i;}

}

res[3]=mas[n];

var[0]=m_x21;var[1]=m_x22;var[2]=m_x23;var[3]=m_x24;

for(i=0;i<4;i++)

{

if(var[i]<res[i])

{res[i]=var[i];}

}

for(j=0,V=0;j<3;j++)

{ if(res[V]<res[j+1])

{V=j+1;}

}

m_r1=res[0];

m_r2=res[1];

m_r3=res[2];

m_r4=res[3];

V++;

}

if(IsDlgButtonChecked(IDC_RADIO3))

{

mas[0]=m_x11;mas[1]=m_x21;mas[2]=m_x31;mas[3]=m_x41;mas[4]=m_x51;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[0]=mas[n];

mas[0]=m_x12;mas[1]=m_x22;mas[2]=m_x32;mas[3]=m_x42;mas[4]=m_x52;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[1]=mas[n];

mas[0]=m_x13;mas[1]=m_x23;mas[2]=m_x33;mas[3]=m_x43;mas[4]=m_x53;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[2]=mas[n];

mas[0]=m_x14;mas[1]=m_x24;mas[2]=m_x34;mas[3]=m_x44;mas[4]=m_x54;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[3]=mas[n];

var[0]=m_x31;var[1]=m_x32;var[2]=m_x33;var[3]=m_x34;

for(i=0;i<4;i++)

{

if(var[i]<res[i])

{res[i]=var[i];}

}

for(j=0,V=0;j<3;j++)

{ if(res[V]<res[j+1])

{V=j+1;}

}

m_r1=res[0];

m_r2=res[1];

m_r3=res[2];

m_r4=res[3]; V++;

}

if(IsDlgButtonChecked(IDC_RADIO4))

{

mas[0]=m_x11;mas[1]=m_x21;mas[2]=m_x31;mas[3]=m_x41;mas[4]=m_x51;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[0]=mas[n];

mas[0]=m_x12;mas[1]=m_x22;mas[2]=m_x32;mas[3]=m_x42;mas[4]=m_x52;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[1]=mas[n];

mas[0]=m_x13;mas[1]=m_x23;mas[2]=m_x33;mas[3]=m_x43;mas[4]=m_x53;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[2]=mas[n];

mas[0]=m_x14;mas[1]=m_x24;mas[2]=m_x34;mas[3]=m_x44;mas[4]=m_x54;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[3]=mas[n];

var[0]=m_x41;var[1]=m_x42;var[2]=m_x43;var[3]=m_x44;

for(i=0;i<4;i++)

{

if(var[i]<res[i])

{res[i]=var[i];}

}

for(j=0,V=0;j<3;j++)

{ if(res[V]<res[j+1])

{V=j+1;}

}

m_r1=res[0];

m_r2=res[1];

m_r3=res[2];

m_r4=res[3]; V++;

}

if(IsDlgButtonChecked(IDC_RADIO5))

{

mas[0]=m_x11;mas[1]=m_x21;mas[2]=m_x31;mas[3]=m_x41;mas[4]=m_x51;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[0]=mas[n];

mas[0]=m_x12;mas[1]=m_x22;mas[2]=m_x32;mas[3]=m_x42;mas[4]=m_x52;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[1]=mas[n];

mas[0]=m_x13;mas[1]=m_x23;mas[2]=m_x33;mas[3]=m_x43;mas[4]=m_x53;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[2]=mas[n];

mas[0]=m_x14;mas[1]=m_x24;mas[2]=m_x34;mas[3]=m_x44;mas[4]=m_x54;

max=mas[0];n=0;

for(i=0;i<4;i++)

{

if(mas[i]<mas[i+1])

{n=i;}

}

res[3]=mas[n];

var[0]=m_x51;var[1]=m_x52;var[2]=m_x53;var[3]=m_x54;

for(i=0;i<4;i++)

{

if(var[i]<res[i])

{res[i]=var[i];}

}

for(j=0,V=0;j<3;j++)

{ if(res[V]<res[j+1])

{V=j+1;}

}

m_r1=res[0];

m_r2=res[1];

m_r3=res[2];

m_r4=res[3];

V++;

}

UpdateData(false);

OnPaint();

}

//CDialogEx::OnOK();

//}

void CdlkDlg::OnBnClickedButton1()

{

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

MessageBox(_T("Программа разработана студентом гр.7-05-3"));

}

void CdlkDlg::OnBnClickedRadio1()

{

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

}

void CdlkDlg::OnBnClicked3()

{

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

}

void CdlkDlg::OnBnClicked4()

{

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

}