Створення DLL-бібліотеки на мові C++ та виклик її функцій з Windows-проекту на мові C#
Автор: Roblox Gems • Март 5, 2020 • Лабораторная работа • 3,223 Слов (13 Страниц) • 609 Просмотры
Міністерство освіти і науки України
Національний університет харчових технологій
Кафедра інформаційних систем
Лабораторна робота №1
«Створення DLL-бібліотеки на мові C++ та виклик її функцій з Windows-проекту на мові C#»
Студента групи КН-3-5
Міняківський Я.В.
Варіант №10
Київ – 2019
Мета: набути навичок з розробки та збирання компонентів у багатомовному середовищі MS .NET Framework
Завдання:
- Реалізувати функцію перетворення введеного значення довжини з одних одиниць вимірювання (мм, см, дм, м, км) у інші (мм, см, дм, м, км). Одиниці вимірювання для вхідних даних та результату обирати зі списків.
- Знайти значення поліному p=3,5*x 4 +3*x 3 +10*x 2 +8,3. Значення x ввести у формі. Результат вивести на форму.
- Обчислити площу довільної трапеції, якщо відомі значення її верхньої та нижньої основ і висоти. Визначити, чи можна вписати у цю трапецію коло, і, якщо це можливо, обчислити його радіус.
Виконання роботи
Завдання 1
Таблиця 1. Список і призначення використовуваних змінних
Змінна | Призначення | Діапазон допустимих значень |
float a | Змінна для запису першого дійсного числа | R |
float b | Змінна для запису другого дійсного числа | R |
Текст основного коду програми
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text=="")
{
MessageBox.Show("Заповніть пусте поле!!!");
return;
}
if (comboBox1.Text==comboBox2.Text)
{
MessageBox.Show("Немає сенсу конвертувати в ті ж самі одиниці вимірювання!!!");
return;
}
float a = float.Parse(textBox1.Text);
string n = comboBox1.Text;
string m = comboBox2.Text;
if (a<=0)
{
MessageBox.Show("Значення не може дорівнювати або бути меншим за 0!");
return;
}
if ((n=="мм") && (m=="см"))
{
float b = MyClass.MM_SM(a);
textBox2.Text = b.ToString();
}
if ((n == "мм") && (m == "дм"))
{
float b = MyClass.MM_DM(a);
textBox2.Text = b.ToString();
}
if ((n == "мм") && (m == "м"))
{
float b = MyClass.MM_M(a);
textBox2.Text = b.ToString();
}
if ((n == "мм") && (m == "км"))
{
float b = MyClass.MM_KM(a);
textBox2.Text = b.ToString();
}
if ((n == "см") && (m == "мм"))
{
float b = MyClass.SM_MM(a);
textBox2.Text = b.ToString();
}
if ((n == "см") && (m == "дм"))
...