Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Результат работы программы

Проект программы, состоящей из нескольких файлов

 

 

 

Для создания программы войдите в Visual Studio и выполните сдледующие действия:

 

  • Новый проект
  • Visual Studio C++ CLR - Windows Form Application
  • Именуете проект и нажимете OK

 

В результате создается окно формы и начальный тектс проекта (рис.3).

 

 

Рис.3

· В Form1 c помощью Tool Box включаете следующие компоненты:

1. Text Box – в программе получит идентификатор textBox1

2. Label.- в окне Properties в поле Text введите - Результат

3. Label – оставьте текст label2

4. Button – получит идентификатор (name) button1, в поле Text введите – Выполнить

5. Два раза кликните правой кнопкой мыши по button1

6. Вы войдете в редактор Form1. Там уже содержится текст сгенeрированный Visual Studio:

Проект начинается следующими строками:

#pragma once

 

namespace multy_file_prj {

 

В проекте:

multy_file_prj – имя проекта и папки.

 

Далее идут строки подключения библиотек классов, необходимых для работы программы.

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

Далее идут строки объявления класса Form1 – наследника класса Form.

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

{

public:

Form1(void)// конструктор

{

InitializeComponent();

//

//TODO: Add the constructor code here

//

}

protected:

/// <summary>

/// Clean up any resources being used.

/// </summary>

~Form1()//деструктор

{

if (components)

{

delete components;

}

}

Автоматически сгенерированы: конструктор класса и деструктор.

В разделе InitializeComponent находятся сгенерированные студией строки описания компонентов, включенных Вами в форму.

После #pragma endregion идут обработчики событий, сгенерированные в результате Ваших действий: Вы два раза кликнули правую кнопку мыши на поле Button – был сгенерирован обработчик события нажатия кнопки –

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

}

В обработчике button1_Click вызывается функция f(), описанная и объявленная в других файлах мультипрограммного проекта – в файле func.h и func.cpp.

Для установки некоторых начальных значений создайте самостоятельно обработчик Form1_Load. Для этого надо «кликнуть» по полю формы.

Начальные значения установите слудующим образом:

· textBox1->Text="Введите число";

при запуске программы в окне Text Box появится соответствующее сообщение.

· label2->Text="";

поле Label2 будет очищено.

 

 

Рис.4

 

Для создания дополнительных файлов проекта откройте пункт меню Project и выберете Add New Item.

 

Рис.5

В окне Add New Item выбирете Header File (.h).

 

Рис.6

В поле Name введите func и нажмите кнопку Add.

В результате сделанного выбора Вы попадете в окно текстового редактора. Набирите:

double f(double x);

и сохраните.

Еще раз откройте пункт меню Project и выберете Add New Item. В окне Add New Item выберете С++ File (.cpp) и дайте файлу имя func. Войдя в редактор текста, напишите функцию, которая возвращает значение функции sin(x):

double f(double x)

{

return sin(x);

}

 

Рис.7

Не забудьте подключить библиотеку math.h (рис.7). Если Вы не подключите библиотеку stdafx.h, возникнет фатальная ошибка – fatal error.

 

И, наконец, в файл Form1.h включите заголовочный файл (header) – func.h, как показано в следующем листинге программы:

#pragma once

 

#include "func.h"

namespace multy_file_prj {

 

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

 

/// <summary>

/// Summary for Form1

///

/// WARNING: If you change the name of this class, you will need to change the

/// 'Resource File Name' property for the managed resource compiler tool

/// associated with all.resx files this class depends on. Otherwise,

/// the designers will not be able to interact properly with localized

/// resources associated with this form.

/// </summary>

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

{

public:

Form1(void)

{

InitializeComponent();

//

//TODO: Add the constructor code here

//

}

protected:

/// <summary>

/// Clean up any resources being used.

/// </summary>

~Form1()

{

if (components)

{

delete components;

}

}

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

protected:

private: System::Windows::Forms::Label^ label1;

private: System::Windows::Forms::Label^ label2;

private: System::Windows::Forms::TextBox^ textBox1;

 

private:

/// <summary>

/// Required designer variable.

double x;

/// </summary>

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)

{

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

this->label1 = (gcnew System::Windows::Forms::Label());

this->label2 = (gcnew System::Windows::Forms::Label());

this->textBox1 = (gcnew System::Windows::Forms::TextBox());

this->SuspendLayout();

//

// button1

//

this->button1->Location = System::Drawing::Point(107, 204);

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

this->button1->Size = System::Drawing::Size(86, 50);

this->button1->TabIndex = 0;

this->button1->Text = L"run";

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);

//

// label1

//

this->label1->AutoSize = true;

this->label1->Location = System::Drawing::Point(128, 122);

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

this->label1->Size = System::Drawing::Size(37, 13);

this->label1->TabIndex = 1;

this->label1->Text = L"Result";

//

// label2

//

this->label2->AutoSize = true;

this->label2->Location = System::Drawing::Point(128, 166);

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

this->label2->Size = System::Drawing::Size(35, 13);

this->label2->TabIndex = 2;

this->label2->Text = L"label2";

//

// textBox1

//

this->textBox1->Location = System::Drawing::Point(28, 27);

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

this->textBox1->Size = System::Drawing::Size(100, 20);

this->textBox1->TabIndex = 3;

//

// Form1

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(292, 266);

this->Controls->Add(this->textBox1);

this->Controls->Add(this->label2);

this->Controls->Add(this->label1);

this->Controls->Add(this->button1);

this->Name = L"Form1";

this->Text = L"Form1";

this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);

this->ResumeLayout(false);

this->PerformLayout();

 

}

#pragma endregion

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

{

String ^str=textBox1->Text;

x=Convert::ToDouble(str);

label2->Text=Convert::ToString(f(x));

}

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

{

textBox1->Text="Input number";

label2->Text="";

}

};

}

 

 

Сохраните весь проект – Save All.

Откомпилируйте и собирите проект – Rebuild.

Запустите проект на выполнение – Start Debugging.

 

<== предыдущая лекция | следующая лекция ==>
Мухамадеев Ильгиз Гарданович | Характеристика отрасли
Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 273; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.038 сек.