Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание алгоритмов обработки данных (блок-схема алгоритма)




 

Основные алгоритмы обработки данных, требующие внимания, в этом программном продукте реализованы двумя функциями:

·   сохранение базы в файл;

·   загрузка базы из файла.

Словесное описание алгоритма сохранения базы в файл:

1. Выбираем соответствующую вкладку.

2. Редактируем таблицу;

3. Сохраняем данные в файл, путем нажатия на кнопку «Сохранить изменения».

Словесное описание алгоритма загрузки базы из файла:

.   Загрузка файла осуществляется автоматически при выборе соответствующей таблицы.

2. Редактируем таблицу.

.   Закрываем файл.

Непосредственно с реализацией алгоритмов можно ознакомиться в представленном полном листинге программы (Раздел 4).

·   Основная форма: файл «Form1. cs», «Form1. Designer. cs»;

·   Реализация классов: файл «Classes. cs»;

·   Типизированный файл: «Base»

 


4. Реализация системы на языке С# (листинг программы с комментариями)

 

using System;System. Collections. Generic;System.componentModel;System. Data;System. Drawing;System. Linq;System. Text;System. Windows. Forms;System. IO;PKP

{partial class PKP_Form: Form

{PKP_Form ()

{();

}void главнаяToolStripMenuItem_Click (object sender, EventArgs e)

{. Visible = true;. Visible = false;. Visible = false;. Visible = false;. Visible = false;

}void продукцияToolStripMenuItem_Click (object sender, EventArgs e)

{. Visible = false;. Visible = true;. Visible = false;. Visible = false;. Visible = false;

}void персоналToolStripMenuItem_Click (object sender, EventArgs e)

{. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Visible = false;. my_db. tables [6]. LoadTableFromOzy (dataGridView2);

}void нашиКонтактыToolStripMenuItem_Click (object sender, EventArgs e)

{. Visible = false;. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Show (» Адрес: Белово\r\nГ.<. \r\n - ул, Советская 26\r\n - ВИДЕТЬ ВАС!!!», «Наши контакты», MessageBoxButtons. OK, MessageBoxIcon. Information);

}void Form1_Load (object sender, EventArgs e)

{

// BazaInOzy. my_db. create_shema ();. my_db. LoadBaseFromInputFile ();. dataGridView1. RowCount = 5;. dataGridView1. ColumnCount = 5;.comboBox1. Items. Clear ();(NatTable d in BazaInOzy. my_db. tables)

{((d. table_name! = «Персонал») && (d. table_name! = «Новинки»))

{this.comboBox1. Items. Add (d. table_name);}

}. dataGridView1. Columns [1]. HeaderCell. Value = «Модель»;. dataGridView1. Columns [2]. HeaderCell. Value = «Характеристики»;. dataGridView1. Columns [3]. HeaderCell. Value = «Цена»;. dataGridView1. Columns [4]. HeaderCell. Value = «Наличие»;1. Visible = true; // Реализация видимости панелей

panel2. Visible = false;. Visible = false;. Visible = false;. Visible = false;. SelectedIndex = 0;. my_db. tables [0]. LoadTableFromOzy (dataGridView1);. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Parent = panel1;. Size = this. Size;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. AdvancedRowHeadersBorderStyle. Bottom = DataGridViewAdvancedCellBorderStyle. Single;

}void comboBox1_SelectedIndexChanged (object sender, EventArgs e)

{. source_table = comboBox1. SelectedText;. TableNumber = comboBox1. SelectedIndex;(NatTable d in BazaInOzy. my_db. tables) {if (d. table_name == BazaInOzy. source_table) {BazaInOzy. TableNumber = d. table_number - 1;}}. my_db. tables [BazaInOzy. TableNumber]. LoadTableFromOzy (this. dataGridView1);

}void button1_Click (object sender, EventArgs e)

{BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. SaveTableInOzy (this. dataGridView1);. my_db. SaveBaseInOutputFile ();

}void button3_Click_2 (object sender, EventArgs e)

{. my_db. tables [7]. SaveTableInOzy (dataGridView3);. my_db. SaveBaseInOutputFile ();

}void новинкиToolStripMenuItem_Click (object sender, EventArgs e)

{. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = true;. my_db. tables [7]. LoadTableFromOzy (dataGridView3);

}void button4_Click (object sender, EventArgs e)

{. my_db. tables [6]. SaveTableInOzy (this. dataGridView2);. my_db. SaveBaseInOutputFile ();

}void panel3_Paint (object sender, PaintEventArgs e)

{

}void pictureBox1_Click (object sender, EventArgs e)

{

}

}

}

// КлассыSystem;System. Collections. Generic;System. Linq;System. Text;System. Data;System. IO;System.runtime. Serialization. Formatters. Binary;System. Windows. Forms;PKP

{static class BazaInOzy

{static int TableNumber = 0; // номер текущей выбранной таблицыstatic string source_table = «»; // имя выбранной таблицы static NatBaza my_db = new NatBaza (5); // свойство, непосредственно // переменная для хранения базы данных в ОЗУ, инициализирована конструктором с // аргументом 5 (создается сразу пять таблиц)

} // статический класс. предназначен для хранения загруженной БД в ОЗУ.

[Serializable] // атрибут Serializable означает, что объект нижеописанного типа можно

// будет разбить на поток байтов и запихать в типизированный файл.

public class NatBaza // класс для хранения БД в памяти. Содержит методы (функции) для сохранения и загрузки БД на жёсткий диск

{

public NatTable [] tables; // свойство, массив таблиц NatTable в памяти

public NatBaza (int j) // конструктор класса, нужен для создания объекта (переменной) типа NatBaza

{= new NatTable [8];(int i = 0; i < j; i++) {tables [i] = new NatTable («», 5, i,

);}

}void SaveBaseInOutputFile ()

{f = new FileStream (@ «Base. Nat», FileMode. Open, FileAccess. ReadWrite);b = new BinaryFormatter ();. Serialize (f, this);. Close ();

} // метод сохраняет БД из памяти на жесткий диск

public void LoadBaseFromInputFile ()

{f = new FileStream (@ «Base. Nat», FileMode. Open, FileAccess. ReadWrite);b = new BinaryFormatter ();. my_db = (NatBaza) b. Deserialize (f);. Close ();

} // метод загружает БД из файла в ОЗУ

public void create_shema ()

{. my_db = new NatBaza (8);(int i = 0; i < 8; i++)

{BazaInOzy. my_db. tables [i] = new NatTable («», 5, 0,10);}(int i = 0; i < 8; i++)

{

}. my_db. tables [0]. table_name = «Вид продукции 1»;. my_db. tables [1]. table_name = «Вид продукции 2»;. my_db. tables [2]. table_name = «Вид продукции 3»;. my_db. tables [3]. table_name = «Вид продукции 4»;. my_db. tables [4]. table_name = «Вид продукции 5»;. my_db. tables [5]. table_name = «Вид продукции 6»;. my_db. tables [6]. table_name = «Персонал»;. my_db. tables [7]. table_name = «Новинки»;. my_db. SaveBaseInOutputFile ();

} // Дополнительный метод создаёт схему БД

}

[Serializable]class NatTable // класс, аналог DataTable, предназначен для хранения таблиц в памяти, и привязки их к визуальным объектам (DataGridView)

{string table_name; // имя выбранной таблицыint table_number; // её номер string [] FieldName; // массив. содержит заголовки столбцов

public int rows_count; // количество строкint columns_count; // количество столбцов object [,] table; // массив обжектов (собственно таблица)

public NatTable (string table_name, int fields_count, int table_number, int row_count)

// конструктор создаёт объект NatTable

{. table_number = table_number;. table_name = table_name;= new string [fields_count];_count = row_count;_count = fields_count;. table = new object [rows_count, columns_count];

}void SaveTableInOzy (DataGridView d)

{= new object [d. Rows. Count, d. Columns. Count];= new string [d. Columns. Count];. rows_count = d. RowCount;. columns_count = d. ColumnCount;(int i = 0; i < d. Rows. Count; i++)

{(int j = 0; j < d. Columns. Count; j++)

{. table [i, j] = d. Rows [i]. Cells [j]. Value;

}

}

} // метод сохраняет результаты промежуточного изменения таблицы в ОЗУ

public void LoadTableFromOzy (DataGridView d) // метод. загружает таблицу в DataGridView

{. RowCount = BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. rows_count;. ColumnCount = BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. columns_count;(int i = 0; i < d. Rows. Count; i++)

{(int j = 0; j < d. Columns. Count; j++)

{. Rows [i]. Cells [j]. Value=this. table [i, j];

}

}

}


Заключение

 

В данной работе была создана Автоматизированная Информационная Система (АИС) «Производственно-комерческое предприятие», которая смогла бы автоматизировать деятельность, связанную с деятельностью продажи товара. В АИС «ПКП» предусмотрен сбор и внесение всех необходимых данных, которые в дальнейшем будут необходимы для всей работы системы.

Автоматизированная Информационная Система должна выполнять сбор данных, заполнять все необходимые справочники, документы, отчеты и отбор в базе данных, а так же следить за тем, чтобы введенные данные были точны и правильно оформлены.

Когда поступает новая информация, программист заносит все данные в базу данных «ПКП». Разработанная система должна автоматизировать работу супермаркета. Система должна позволять программисту осуществлять проверку необходимых данных, а так же возможность внесения корректировок, просмотр всех данных в базе.

В начале работы была разработана база данных «ПКП», которая, впоследствии, стала приложением, реализованным на C#.

В приложение входят:

справочники, позволяющие редактировать, удалять и сохранять информацию.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...