на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Курсовая работа: Структура иерархии классов "Экран курсового проектирования"


Запросискомойинформации:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

 if(textBox1->Text!=""){//проверка наличия информации для поиска

this->DialogResult=System::Windows::Forms::DialogResult::OK;//подтверждениепоска

this->Close();//закрытие окна поиска и переход в главную программу

}

 }

Полная реализация данной процедуры представлена в приложении В.

Поискинформациивтаблице:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

 dialres=newdlg->ShowDialog();//вызовформыпоиска

System::String ^srh;//объявление строки поиска

srh=newdlg->textBox1->Text;//присвоение значения строке поиска

 for(int i=0; i<CountDataGrid; i++){//циклповсемстрокамтаблицы

 for(int j=0; j<dataGridView1->ColumnCount; j++){//циклповсемстолбцамтаблицы

 if(System::Convert::ToString(dataGridView1->Rows[i]->Cells[j]->Value)==srh){//проверканасоответствиезапросаполямтаблицы

 dataGridView1->CurrentCell=dataGridView1->Rows[i]->Cells[j];//выделениенайденногополя

 }

 }

}

 }

 }

Полная реализация данной процедуры представлена в приложении В.

Функция изменения названия экрана курсового проектирования:

private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) {

Start ^newdlg=gcnewStart();//инициализацияформыстартового окна

dialres=newdlg->ShowDialog();//вызов стартового окна

Screen.SetName(newdlg->textBox1->Text);//присвоениеполямклассаTScreenзначенийполейформы

listBox2->Items->Add(Screen.Composition);//передачаполейклассаTScreenвlistBox1 главнойформы

}

 }

Полная реализация данной процедуры представлена в приложении В.


4 Тестирование

Конечным этапом создания программного продукта является его тестирование и отладка. В ходе тестирования программы выявляются все ее недостатки и особенности работы. Обнаруженные недостатки устраняются в ходе отладки.

В результате было создано тестирующее приложение(рисунок 2), в котором реализована структура иерархии классов, а также различные функции. А именно:

-  Создание экземпляров классов;

-  Добавление, удаление, редактирование и поиск данных;

-  Работа с экземплярами классов через визуальные компоненты.

Рисунок 2 – Тестирующее приложение. Главное окно.

Рисунок 3 – Тестирующее приложение. Добавление/редактирование.

иерархия класс программирование


Рисунок 4 – Тестирующее приложение. Окно поиска.

Результат тестирования: в ходе тестирования программы недостатков, влияющих на правильную работу приложения, не выявлено.

Листинг тестирующего приложения предложен в Приложении В.

Данная программа тестировалась на компьютере следующей конфигурации:

1.  ТипЦП DualCore AMD Athlon 64 X2, 2700 MHz (13.5 x 200) 5200+;

2.  Системная память 4096 МБ (DDR2-800 DDR2 SDRAM);

3.  ОС Windows 7 x64 с поддержкой 32-х приложений.

5. Руководство по программному продукту

Руководство программиста:

Созданное приложение «Экран курсового проектирования», основанное на иерархии классов, имеет открытый исходный код, что позволяет изменять его в зависимости от потребностей пользователя. Объявление экземпляров класса TScreenи TStudentпроисходит в заголовочном файле главного окна Form1.h:

public:

TStudent ^Student;//объявление указателя на экземпляр класса TStudent

TScreenScreen;//объявление экземпляра класса TScreen

Причем экземпляр класса TStudentинициализируется в конструкторе главной формы:

Form1(void)

{

Student=gcnew TStudent;//инициализацияэкземпляраклассаTStudent

}

Оба этих экземпляра объявляются глобально и с атрибутом доступа Public, что позволяет получить к ним доступ из любой части главной формы и других форм. Поля и методы этих классов также имеют атрибут доступа Public и имеют стандартные типы данных платформы .NETFramework. Все входные данные в программу имеют текстовый формат, а именно System::String^. В зависимости от полей и методов класса они конвертируются с помощью стандартного конвертора в нужный тип данных:

Student->SetControlScore(System::Convert::ToInt16(newdlg->textBox17->Text));//пример использования конвертора типа данных

Руководство системного администратора:

Данное приложение использует структуру иерархии классов «Экран курсового проектирования». Объявление полей и методов абстрактного базового класса TObject находится в файле TObject.h, а их описание в файле TObject.cpp. Объявление полей и методов класса TScreen находится в файле TScreen.h, а их описание в файле TScreen.cpp. Объявление полей и методов класса TStudent находится в файле TStudent.h, а их описание в файле TStudent.cpp. Описание главного окна приложения находится в файле Form1.h; описание окна добавления/изменения информации об экране курсового проектирования находится в файле Start.h; описания окна добавления/изменения записи о студенте находится в файле Form2.h; описание окна поиска находится в файле Search.h.

Приложение «Экран курсового проектирования» было разработано в интегрированной среде программирования MicrosoftVisualStudio 2010. Приложение использует платформу .NETFramework 4, которая присутствует в операционной системе MicrosoftWindows 7.

Руководство пользователя:

Для выполнения приложения «Экран курсового проектирования» необходимы следующие минимальные системные требования:

-  Pentium III 1.5 ГГц;

-  GeForceFX 5200 или ATI Radeon 9550-9600 с 128 MB, поддержка шейдеров 2.0;

-  512 МбОЗУ;

-  Windows® XP/Vista/7, Windows2000, DirectX 9.0c;

-  .NET Framework версии 4.0;

-  Место на жестком диске: 4 GB;

-  Монитор с поддержкой разрешения 800x600;

-  Клавиатура, мышь.

Данное приложение запускается из файла WindowsFormApplication C++.exe. При выполнении системных требований появится окно добавления информации о текущем экране курсового проектирования. После ввода доступно главное окно, в котором отражается полная информация об экране курсового проектирования и о студентах, выполняющих курсовые работы. В этом режиме программа ожидает действия от пользователя. При первом запуске доступны только команды «Добавить» и «Выход», а также справка о программе.

Для добавления записи необходимо нажать кнопку «Добавить», после чего появится форма добавления. Затем нужно заполнить все поля и нажать кнопку «Ок». Если не заполнены все поля, то программа выдаст сообщение об ошибке и предложит заполнить все поля. Также при неправильном соответствии форматов полей программа проинформирует пользователя. При желании возможно отказаться от добавления и нажать кнопку «Отмена». После добавления запись автоматически отображается в таблице.

Чтобы удалить запись необходимо поставить галочку на «Разрешить редактирование таблицы». Удаление доступно при наличии записей в таблице. Далее программа переходит в режим редактирования таблицы. Для удаления необходимо выделить удаляемую строку, нажав на треугольник рядом с именем записи. При подтверждении выбранного действия программа удаляет запись, о чем информирует пользователя.

Для редактирования записи необходимо поставить галочку на «Разрешить редактирование таблицы». Редактирование записи , как и удаление, доступно лишь при наличии записей в таблице. Для редактирования записи необходимо выделить строку, нажав на треугольник рядом с именем записи. При подтверждении выбранного действия открывается окно редактирования записи. Необходимо отредактировать нужные поля и подтвердить свои действия.

Поиск осуществляется по всем полям таблицы. Для поиска необходимо наличие записей в таблице. Чтобы выполнить поиск необходимо нажать на кнопку «Поиск», после этого откроется окно поиска, в котором необходимо ввести информацию для запроса, а затем нажать кнопку «Поиск». При первом же совпадении запрошенной информации с информацией в таблице программа выделяет совпадающее поле и запрашивает у пользователя разрешение на продолжение поиска, если найденная информация не удовлетворила запросу пользователя.

Для вызова справочной системы необходимо выбрать на панели команд меню «Help», а затем «Helpfile».


Заключение

В ходе выполнения курсового проекта была создана иерархия классов «Экран курсового проектирования», на основе которой было создано визуальное тестирующее приложение. Данное приложение наделено возможностью добавлять, редактировать, удалять записи, а также выполнять поиск информации по введенным данным. Проект отвечает тем требованиям, которые были предъявлены к нему в ходе проектирования, а именно использовании структуры классов, наглядности и удобству в использовании.


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

1.  Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Лидер, 2010. – 461с.

2.  Пахомов Б. И. С/С++ и MSVisualC++ 2008 для начинающих. – СПб.: БХВ-Петербург. 2009. – 624с.

3.  Иванова Г.С, Ничушкина Т.Н., Пугачев Е.К. И21 Объектно-ориентированное программирование: Учеб. для вузов/ Под ред. Г.С. Ивановой. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 320 с.

4.  Пауэрс Л. MicrosoftVisualStudio 2008 / Л. Пауэрс, М. Снелл: Пер. с англ. – СПб.: БХВ-Петербург, 2009. – 1200 с.


Приложения
 


Приложение А

Реализация иерархии классов

ФайлTObject.h

#pragma once

public ref class TObject abstract

{

public:

System::String ^TName;

virtual void SetName(System::String ^) abstract;

TObject(void);

};

Файл TObject.cpp

#include "StdAfx.h"

#include "TObject.h"

TObject::TObject(void)

{

TName="Default";

}

Файл TStudent.h

#pragma once

#include "TObject.h"

using namespace System;

ref class TStudent :

public TObject

{

public:

System::Int16 ControlScore;

System::Int16 NumberWeek;

System::Int16 *Plan;

System::Int16 *Fact;

System::Int16 *Control

System::String ^Test;

System::String ^TestF;

System::String ^Revision;

System::String ^RevisionF;

System::String ^Protection;

System::String ^ProtectionF;

virtual void SetName(System::String ^) override;

void SetNumberWeek(System::Int16 );

void SetPlan(System::Int16 , System::Int16);

void SetFact(System::Int16, System::Int16);

void SetControl(System::Int16, System::Int16);

void SetTest(System::String ^ );

void SetTestF(System::String ^ );

void SetRevision(System::String ^ );

void SetRevisionF(System::String ^ );

void SetProtection(System::String ^ );

void SetProtectionF(System::String ^ );

void SetControlScore(System::Int16 );

TStudent(void);

};

Файл TStudent.cpp

#include "StdAfx.h"

#include "TStudent.h"

void TStudent::SetName(String ^name){

TName=name;

}

void TStudent::SetNumberWeek(System::Int16 num){

NumberWeek=num;

}

void TStudent::SetPlan(System::Int16 num1, System::Int16 num2){

Plan[num2]=num1;

}

void TStudent::SetFact(System::Int16 num1, System::Int16 num2){

Fact[num2]=num1;

}

void TStudent::SetControl(System::Int16 num1, System::Int16 num2){

Control[num2]=num1;

}

void TStudent::SetTest(String ^ num){

Test=num;

}

void TStudent::SetTestF(String ^ num){

TestF=num;

}

void TStudent::SetRevision(String ^ num){

Revision=num;

}

void TStudent::SetRevisionF(String ^ num){

RevisionF=num;

}

void TStudent::SetProtection(String ^ num){

Protection=num;

}

void TStudent::SetProtectionF(String ^ num){

ProtectionF=num;

}

void TStudent::SetControlScore(System::Int16 score){

ControlScore=score;

}

TStudent::TStudent(void)

{

Plan=new System::Int16[3];

Fact=new System::Int16[3];

Control=new System::Int16[3];

}

Файл TScreen.h

#pragma once

#include "TObject.h"

#include "TStudent.h"

using namespace System;

using namespace System::Collections::Generic;

ref class TScreen :

public TObject

{

public:

System::String ^ Date;

System::String ^ Composition;

virtual void SetName(System::String ^) override;

void SetDate(System::String ^);

void SetComposition(System::String ^);

public:

TScreen(void);

};

Файл TScreen.cpp

#include "StdAfx.h"

#include "TScreen.h"

void TScreen::SetName(System::String ^s){

TName=s;

}

void TScreen::SetComposition(System::String ^s){

Composition=s;

}

void TScreen::SetDate(System::String ^s){

Date=s;

}

TScreen::TScreen(void)

{

}


Приложение В

Листинг тестирующего приложения

Файл Form1.h. Главное окно.

#pragma once

#include "Form2.h"

#include "TScreen.h"

#include "Start.h"

#include "Search.h"

namespace WindowsFormApplicationC {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

using namespace System::Collections::Generic;

public ref class Form1 : public System::Windows::Forms::Form

{

public:

private: System::Windows::Forms::MenuStrip^ menuStrip1;

private: System::Windows::Forms::ToolStripMenuItem^ fileToolStripMenuItem;

private: System::Windows::Forms::ToolStripMenuItem^ exitToolStripMenuItem;

private: System::Windows::Forms::ToolStripMenuItem^ helpToolStripMenuItem;

private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem;

private: System::Windows::Forms::Button^ button4;

private: System::Windows::Forms::Button^ button5;

public:

TStudent ^Student;

TScreen Screen;

System::Int16 CountDataGrid;

private: System::Windows::Forms::Button^ button6;

private: System::Windows::Forms::Button^ button7;

private: System::Windows::Forms::Button^ button1;

private: System::Windows::Forms::Button^ button2;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column1;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column2;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column3;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column4;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column5;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column6;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column7;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column8;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column9;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column10;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column11;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column12;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column13;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column14;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column15;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column16;

private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column17;

private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem1;

private: System::Windows::Forms::ListBox^ listBox1;

private: System::Windows::Forms::ListBox^ listBox2;

private: System::Windows::Forms::CheckBox^ checkBox1;

public:

Form1(void)

{

InitializeComponent();

Student=gcnew TStudent;

CountDataGrid=0;

}

protected:

~Form1()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::DataGridView^ dataGridView1;

protected:

private:

System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

void InitializeComponent(void)

{

System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle2 = (gcnew System::Windows::Forms::DataGridViewCellStyle());

this->dataGridView1 = (gcnew System::Windows::Forms::DataGridView());

this->Column1 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column2 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column3 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column4 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column5 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column6 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column7 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column8 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column9 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column10 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column11 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column12 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column13 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column14 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column15 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column16 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->Column17 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());

this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());

this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->exitToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->helpToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->aboutToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->aboutToolStripMenuItem1 = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->button4 = (gcnew System::Windows::Forms::Button());

this->button5 = (gcnew System::Windows::Forms::Button());

this->button6 = (gcnew System::Windows::Forms::Button());

this->button7 = (gcnew System::Windows::Forms::Button());

this->button1 = (gcnew System::Windows::Forms::Button());

this->button2 = (gcnew System::Windows::Forms::Button());

this->listBox1 = (gcnew System::Windows::Forms::ListBox());

this->listBox2 = (gcnew System::Windows::Forms::ListBox());

this->checkBox1 = (gcnew System::Windows::Forms::CheckBox());

(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataGridView1))->BeginInit();

this->menuStrip1->SuspendLayout();

this->SuspendLayout();

//

// dataGridView1

//

this->dataGridView1->AccessibleRole = System::Windows::Forms::AccessibleRole::Graphic;

this->dataGridView1->AllowUserToAddRows = false;

this->dataGridView1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom)

| System::Windows::Forms::AnchorStyles::Left)

| System::Windows::Forms::AnchorStyles::Right));

this->dataGridView1->BackgroundColor = System::Drawing::Color::White;

this->dataGridView1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;

this->dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize;

this->dataGridView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^ >(17) {this->Column1,

this->Column2, this->Column3, this->Column4, this->Column5, this->Column6, this->Column7, this->Column8, this->Column9, this->Column10,

this->Column11, this->Column12, this->Column13, this->Column14, this->Column15, this->Column16, this->Column17});

dataGridViewCellStyle2->Alignment = System::Windows::Forms::DataGridViewContentAlignment::MiddleLeft;

dataGridViewCellStyle2->BackColor = System::Drawing::SystemColors::Window;

dataGridViewCellStyle2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Regular,

System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(204)));

dataGridViewCellStyle2->ForeColor = System::Drawing::SystemColors::ControlText;

dataGridViewCellStyle2->SelectionBackColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(128)),

static_cast<System::Int32>(static_cast<System::Byte>(128)), static_cast<System::Int32>(static_cast<System::Byte>(255)));

dataGridViewCellStyle2->SelectionForeColor = System::Drawing::SystemColors::HighlightText;

dataGridViewCellStyle2->WrapMode = System::Windows::Forms::DataGridViewTriState::False;

this->dataGridView1->DefaultCellStyle = dataGridViewCellStyle2;

this->dataGridView1->GridColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(224)), static_cast<System::Int32>(static_cast<System::Byte>(224)),

static_cast<System::Int32>(static_cast<System::Byte>(224)));

this->dataGridView1->Location = System::Drawing::Point(0, 63);

this->dataGridView1->Name = L"dataGridView1";

this->dataGridView1->RowHeadersVisible = false;

this->dataGridView1->Size = System::Drawing::Size(944, 537);

this->dataGridView1->TabIndex = 0;

//

// Column1

//

this->Column1->AutoSizeMode = System::Windows::Forms::DataGridViewAutoSizeColumnMode::None;

this->Column1->Frozen = true;

this->Column1->HeaderText = L"ФИОстудента";

this->Column1->Name = L"Column1";

this->Column1->ReadOnly = true;

this->Column1->Resizable = System::Windows::Forms::DataGridViewTriState::False;

this->Column1->Width = 200;

//

// Column2

//

this->Column2->AutoSizeMode = System::Windows::Forms::DataGridViewAutoSizeColumnMode::None;

this->Column2->HeaderText = L"1к.н. задан. % вып.";

this->Column2->Name = L"Column2";

Страницы: 1, 2, 3, 4


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.