КАТЕГОРИИ: Архитектура-(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 и выполните сдледующие действия:
В результате создается окно формы и начальный тектс проекта (рис.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; Просмотров: 297; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |