Сделай Сам Свою Работу на 5

НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ





Программа «Агроном» предназначена только для ведения учета по всем культурам сельского хозяйства. Использование её не по назначению не несет в себе никакого смысла. Задача программы заключается в быстром доступе к необходимым данным, упрощению работы дачника-овощевода и максимальной автоматизации ведения учета всех культур сельского хозяйства.

Для работы программы не требуется высокопроизводительный компьютер, однако необходимо обязательное наличие NET.Framework 4.5. В противном случае программа не запустится. А также требуется любой текстовый редактор (блокнот, Notepad++, AkelPad и т.д.).

 

ПОДГОТОВКА К РАБОТЕ

Для запуска программы необходимо запустить файл Агроном.exe. После чего непосредственно откроется окно программы. Для добавления файла с данными необходимо нажать на кнопку с надписью «Добавить» и после внесения какойлибо информации или внисенияе в существующую запись коррективы нел\обходимо нажать на кнопку «Сохранить», для удоления записи необходимо выделить необходимую запись инажать кнопку «Удалить», для поиску необходимо в строку поска ввети хотябы адин символ который содержит слово и нажать кнопку «Найти» вы срузу же увидите результат.



 

ОПИСАНИЕ ОПЕРАЦИЙ

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

В главном меню программы находятся все управляющие кнопки, по которым можно переходить на другие формы программы для манипуляции данными. Рисунок 1 представляет краткое описание основных управляющих кнопок.

 

 

Рисунок 1 – Главное меню: 1 – сохранить информацию; 2 – добавить информацию; 3 – удаление информацию; 4 – найти информацию; 5 – строка поиска; 6 – окно предостовления всей информации.

 

По нажатию на кнопку 1 вся внесенная или измененная информация сохранится.

По нажатии на кнопку 2 появится новая форма для добавления записи (рисунок 2).

 

 

Рисунок 2 – Форма добавления новой записи

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



По нажатии на кнопку 3 выделаная запись будет удалена не только из программы но и из файла, пример показан на (рисунок 3, 4, 5).

 

 

Рисунок 3 – Выдиление удоляемой записи

 

 

Рисунок 4 – Окно показывающае удаленную запись

 

 

Рисунок 5 – Рузультат выполненой задачи

 

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

По нажатию на кнопку 4 будет осуществлен поиск элемента по критерию который был введен в строку поиска под номером 5, представленный на рисунке 6.

 

 

Рисунок 6 – Осуществление поиска

 

Оставшиеся элементы управления не вызывают дополнительных окон, а лишь выполняют действия, соответствующие их названию.

 

АВАРИЙНЫЕ СИТУАЦИИ

Если вместо данных в программе получаются сплошные иероглифы, то следует проверить кодировку файла. Необходимая кодировка – windows-1251.

Если возникла исключительная аварийная ситуация, то следует описать вашу ошибку в подробном письме и отправить её на следующий mail адрес: ya.chyzmaxim@yandex.ry.

 

РЕКОМЕНДАЦИЯ ПО ОСВОЕНИЮ

Для освоения данной программы нет необходимости в изучении сторонних материалов. Требуются базовые знания управления компьютером: умения набирать текст, работать мышью, а также работать со стандартной программой ОС Windows – «Блокнот».


 

Приложение Б

(обязательное)

Листинг программы

 

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 Курсач

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

foreach (Агроном a in Файл.Читать())

Program.tree.Add(a);

OutputTree();

}

 

public void OutputTree()

{

this.dataGridView1.Rows.Clear();

Агроном[] a = Program.tree.DataSource().ToArray();

this.dataGridView1.ColumnCount = 4;

foreach (Агроном agr in a)

if (agr != null)

dataGridView1.Rows.Add(agr.НазваниеКультуры, agr.НазваниеУдобрения, agr.СтоимостьЕдиницыУдобрения, agr.ЕдиницаИзмеренияУдобрения);

 

}

 

private void button1_Click(object sender, EventArgs e)

{

(new Add(this)).Show();

}

 

private void button2_Click_1(object sender, EventArgs e)

{

Файл.Записать(Program.tree.DataSource().ToArray());

}

 

private void button3_Click(object sender, EventArgs e)

{

int rowid = this.dataGridView1.SelectedCells[0].RowIndex;

//MessageBox.Show("::" + this.dataGridView1[0, rowid].Value.ToString());

Program.tree.Delete(this.dataGridView1[0, rowid].Value.ToString());

this.OutputTree();

}

 

private void Form1_Load(object sender, EventArgs e)

{

this.dataGridView1.Columns[0].HeaderText = "Культура";

this.dataGridView1.Columns[1].HeaderText = "Удобрение";

this.dataGridView1.Columns[2].HeaderText = "Цена";

this.dataGridView1.Columns[3].HeaderText = "Единица измерения";

}

 

private void textBox1_TextChanged(object sender, EventArgs e)

{

this.dataGridView1.Rows.Clear();

Агроном[] a = Program.tree.Search(textBox1.Text).ToArray();

this.dataGridView1.ColumnCount = 4;

foreach (Агроном agr in a)

if (agr != null)

dataGridView1.Rows.Add(agr.НазваниеКультуры, agr.НазваниеУдобрения, agr.СтоимостьЕдиницыУдобрения, agr.ЕдиницаИзмеренияУдобрения);

}

 

private void label1_Click(object sender, EventArgs e)

{

 

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.IO;

using System.Windows.Forms;

 

namespace Курсач

{

class Файл

{

public static string Путь = "database.txt";

 

public static void Записать(Агроном[] Агрономы)

{

StreamWriter Файлик = new StreamWriter(Файл.Путь);

for (int счётчик = 0; счётчик < Агрономы.Length; счётчик++)

if (Агрономы[счётчик] != null)

Файлик.Write(Агрономы[счётчик].НазваниеКультуры + "|"

+ Агрономы[счётчик].НазваниеУдобрения + "|"

+ Агрономы[счётчик].СтоимостьЕдиницыУдобрения + "|"

+ Агрономы[счётчик].ЕдиницаИзмеренияУдобрения + "\n");

Файлик.Close();

Файлик.Dispose();

 

}

 

public static Агроном[] Читать()

{

List<Агроном> Агрономы = new List<Агроном>();

StreamReader Файлик = new StreamReader(Файл.Путь);

string full = Файлик.ReadToEnd();

foreach (string s in full.Split('\n'))

{

string[] param = s.Split('|');

if (param.Length == 4)

Агрономы.Add(new Агроном(param));

}

Файлик.Close();

Файлик.Dispose();

return Агрономы.ToArray();

}

 

}

}

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 Курсач

{

public class Tree

{

public Node root;

 

public Tree()

{

this.root = new Node(null, null);

}

 

private void _add(Node node, Агроном агр)

{

if (node.right == null)

node.right = new Node(node, агр);

else

if (node.left == null)

node.left = new Node(node, агр);

else

{

if (node.right.IsFull())

{

_add(node.right, агр);

}

else

_add(node.left, агр);

}

}

 

public bool Is(Агроном a, string q)

{

return (a.НазваниеКультуры.IndexOf(q) > -1 ||

a.НазваниеУдобрения.IndexOf(q) > -1 ||

a.ЕдиницаИзмеренияУдобрения.IndexOf(q) > -1 ||

a.СтоимостьЕдиницыУдобрения.IndexOf(q) > -1

);

}

 

public List<Агроном> Search(string q)

{

List<Агроном> list = new List<Агроном>();

if (this.root.value != null)

if (this.Is(this.root.value, q))

list.Add(this.root.value);

list = _search(list, this.root, q);

return list;

}

 

private List<Агроном> _search(List<Агроном> list, Node node, string q)

{

if (node.right != null)

if (this.Is(node.right.value, q))

list.Add(node.right.value);

if (node.left != null)

if (this.Is(node.left.value, q))

list.Add(node.left.value);

if (node.right != null)

list = _search(list, node.right, q);

if (node.left != null)

list = _search(list, node.left, q);

 

return list;

}

 

 

public List<Агроном> DataSource()

{

List<Агроном> list = new List<Агроном>();

if (this.root.value != null)

list.Add(this.root.value);

list = datasource(list, this.root);

return list;

}

 

private List<Агроном> datasource(List<Агроном> list, Node node)

{

if (node.right != null)

list.Add(node.right.value);

if (node.left != null)

list.Add(node.left.value);

if (node.right != null)

list = datasource(list, node.right);

if (node.left != null)

list = datasource(list, node.left);

 

return list;

}

 

public void Add(Агроном агроном)

{

if (this.root.value == null)

this.root = new Node(null, агроном);

else

{

_add(this.root, агроном);

}

}

 

public void Delete(string name)

{

if (this.root.value != null && this.root.value.НазваниеКультуры == name)

this.root.value = null;

MessageBox.Show(name + "|");

_delete(this.root, name);

}

 

private void _delete(Node node, string name)

{

if (node.right != null)

if (node.right.value.НазваниеКультуры == name)

node.right.value = null;

if (node.left != null)

if (node.left.value.НазваниеКультуры == name)

node.left.value = null;

if (node.right != null)

_delete(node.right, name);

if (node.left != null)

_delete(node.left, name);

}

 

 

public void Output()

{

MessageBox.Show(this.root.value.НазваниеКультуры);

_output(this.root);

}

 

private void _output(Node node)

{

if (node.right != null)

MessageBox.Show(node.right.value.НазваниеКультуры);

if (node.left != null)

MessageBox.Show(node.left.value.НазваниеКультуры);

if (node.right != null)

_output(node.right);

if (node.left != null)

_output(node.left);

}

 

}

 

public class Node

{

public Node left;

public Node right;

public Node parent;

public Агроном value;

 

public bool IsFull()

{

return (this.left != null && this.right != null);

}

public Node(Node p, Агроном v)

{

parent = p;

value = v;

}

 

}

}

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 Курсач

{

public partial class Add : Form

{

private Form1 form;

public Add(Form1 form)

{

InitializeComponent();

this.form = form;

}

 

private void button1_Click(object sender, EventArgs e)

{

Program.tree.Add(new Агроном(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text));

this.form.OutputTree();

}

}

}

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.