Материал: Лабораторная работа №7

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

using ClassLibrary4;

using Microsoft.VisualBasic;

namespace Второй_курс

{

public partial class Form27 : Form

{

public Form27()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

String g = Interaction.InputBox("Введите количество элементов массива = ", "Введите значение", "", -1);

int n = Convert.ToInt16(g);

int[] masPrt = new int[n];

BD.Gen(n, masPrt);

BD.Vivod (n, dataGridView1, rezmas);

int k = 0;

int[] rezmas = new int[n];

BD.Kall(n, ref k, textBox1, masPrt);

BD.NewMass(n, k, masPrt, rezmas);

BD.Vivod(n, dataGridView1, rezmas);

int j = n;

try

{

BD.add();

BD.add_struct();

BD.add_zap(ref masPrt, ref rezmas, n,j);

}

catch (Exception exeption)

{

MessageBox.Show(exeption.Message);

return;

}

}

private void button2_Click(object sender, EventArgs e)

{

Form1 f = new Form1();

this.Hide();

f.ShowDialog();

}

}

}

ClassLibrary4.dll

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace ClassLibrary4

{

public class BD

{

public static void Gen(int n, params int[] masPrt)

{

Random a = new Random();

for (int i = 0; i < n; i++)

masPrt[i] = (int)(a.Next(0, 1000));

}

public static void Kall(int n, ref int k, TextBox t, int[] masPrt)

{

for (int i = 0; i < n; i++)

if (masPrt[i] % 16 == masPrt[i] % 8)

k++;

t.Text = Convert.ToString(k);

}

public static void Vivod(int n, int k, DataGridView grid, params int[] rezmas)

{

grid.RowCount = 2;

grid.ColumnCount = n;

grid.Rows.Add("Номер элемента", "Значение");

for (int i = 0; i < n; i++)

{

grid.Rows[0].Cells[i].Value = i + 1;

grid.Rows[1].Cells[i].Value = rezmas[i];

}

int Width = 0;

for (int s = 0; s < grid.ColumnCount; s++)

Width += grid.Columns[s].Width;

if (Width > 1000)

grid.Width = 1000;

else

grid.Width = Width;

}

public static void NewMass(int n, int k, int[] masPrt, params int[] rezmas)

{

for (int i = 0; i < n; i++)

{

int m = i;

if (m % 2 != 0)

rezmas[i] = k;

else

rezmas[i] = masPrt[i];

}

}

public static void add()

{

var k = new ADOX.Catalog();

try

{

k.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= F:\\ТП\\mas.mbd");

MessageBox.Show("БД успешно создана");

}

catch (System.Runtime.InteropServices.COMException sit)

{

MessageBox.Show(sit.Message);

}

finally

{

k = null;

}

}

public static void add_struct()

{

var p = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\ТП\\mas.mbd");

p.Open();

var c = new OleDbCommand("CREATE TABLE [MASSIVS]([Номер элемента] counter, [Исходный массив] char(200), [Результирующий массив] char (200))", p);

try

{

c.ExecuteNonQuery();

MessageBox.Show("Структура БД записана");

}

catch (Exception situation)

{

MessageBox.Show(situation.Message);

}

p.Close();

}

public static void add_zap(ref int[] mas, ref int[] rezmas, int len)

{

for (int i = 0; i < len; i++)

{

if (i < j)

{

var c = new OleDbCommand("INSERT INTO [MASSIVS](" + " [Исходный массив],[Результирующий массив]) VALUES('" + mas[i] + "','" + rezmas[i] + "')");

c.Connection = p;

c.ExecuteNonQuery();

}

else

{

var c = new OleDbCommand("INSERT INTO [MASSIVS](" + " [Исходный массив],[Результирующий массив]) VALUES('" + mas[i] + "','')");

c.Connection = p;

c.ExecuteNonQuery();

}

p.Close();

}

MessageBox.Show("В таблицу БД была добвлена запись", "Информация", MessageBoxButtons.OK, MessageBoxIcon.None);

}

}

}

9 Тестирование программного продукта

На рисунках 6-10 представлена работа программного продукта.

Рисунок 6 – Ввод количества элементов массива

Рисунок 7 – Создание БД

Рисунок 8 – Создание структуры БД

Рисунок 9 – Запись исходного и результирующего массивов

Рисунок 10 – Созданная БД

Если мы попробуем еще раз запустить программу и введем другое значение количества элементов массива, то столкнемся с тем, что БД уже создана и еще раз создать БД с таким же названием не получится (рисунок 11).

Рисунок 11 – Вывод сообщения при повторном запуске программы

Список использованных источников

1) ГОСТ 7.1-2001 СИБИД. Библиографическая запись. Библиографическое описание. Общие требования и правила составления [электронный ресурс] URL: https://internet-law.ru/gosts/gost/1560 (дата обращения 6.11.2020)

2) ГОСТ 7.32-2001 СИБИД. Отчет о научно-исследовательской работе. Структура и правила оформления (с Изменением N 1) [электронный ресурс] URL: http://docs.cntd.ru/document/gost-7-32-2001-sibid (дата обращения 6.11.2020)

3) ГОСТ 19.201-78 Единая система программной документации (ЕСПД). Техническое задание. Требования к содержанию и оформлению (с Изменением N 1) [электронный ресурс] URL: https://www.internet-law.ru/gosts/gost/31884 (дата обращения 6.11.2020))

Источник: https://studfile.net/preview/16543856/