Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Наталья_flauer kurs magaz.docx
Скачиваний:
139
Добавлен:
23.12.2018
Размер:
3.79 Mб
Скачать

Алгоритм класса Calcer.

Чтобы вызвать класс из другого класса необходимо создать объект этого класса. Фрагмент кода, выполняющий это действие, представлен ниже.

Создание объекта класса Calcer и подсчет статистических данных:

private void статистикаToolStripMenuItem_Click(object sender, EventArgs e)

{

double Disperce=0;

double Srx = 0;

string Colname = "Money";

DataTable TableToCalc=new DataTable();

TableToCalc=floversShopDataSet1.Trades;

CalcStatistic.Calcer a = new CalcStatistic.Calcer(ref TableToCalc, ref Disperce, ref Srx, Colname);

MessageBox.Show("Среднее значение суммы покупки = " + Convert.ToString(Srx) + "\n"

+"Дисперсия = " + Convert.ToString(Disperce), "Статистика");

}

Результатом выполнения этого кода будет вывод в MessageBox таких статистических данных как среднее значение суммы покупки и дисперсия. Дисперсия случайной величины — мера разброса данной случайной величины, то есть её отклонения от математического ожидания.

Form1:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FloversShop

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.FloverPurchase". При необходимости она может быть перемещена или удалена.

this.floverPurchaseTableAdapter.Fill(this.floversShopDataSet1.FloverPurchase);

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.PlantPurchase". При необходимости она может быть перемещена или удалена.

this.plantPurchaseTableAdapter.Fill(this.floversShopDataSet1.PlantPurchase);

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.Trades". При необходимости она может быть перемещена или удалена.

this.tradesTableAdapter.Fill(this.floversShopDataSet1.Trades);

}

//Вызов формы

private void растенияToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 a = new Form2();

a.ShowDialog();

}

//Вызов формы

private void цветыToolStripMenuItem_Click(object sender, EventArgs e)

{

Form3 a = new Form3();

a.ShowDialog();

}

//Вызов формы

private void button5_Click(object sender, EventArgs e)

{

InsertTrade();

Form5 a = new Form5(getTradeId());

a.ShowDialog();

tradesTableAdapter.DeleteQuery(0);

tradesTableAdapter.Fill(floversShopDataSet1.Trades);

floverPurchaseTableAdapter.Fill(floversShopDataSet1.FloverPurchase);

plantPurchaseTableAdapter.Fill(floversShopDataSet1.PlantPurchase);

}

private int getTradeId()//получаем Id последнего trade

{

tradesBindingSource.MoveLast();

DataRowView dataRow=(DataRowView)tradesBindingSource.Current;

int TradeId = Convert.ToInt32(dataRow["TradeId"]);

return TradeId;

}

private void InsertTrade()//добавляем новую запись

{

string DtTm=Convert.ToString(DateTime.Now);

tradesTableAdapter.InsertQuery(DtTm, 0);

tradesTableAdapter.Fill(floversShopDataSet1.Trades);

}

private void статистикаToolStripMenuItem_Click(object sender, EventArgs e)

{

//Объявление переменных

double Disperce=0;

double Srx = 0;

string Colname = "Money";

DataTable TableToCalc=new DataTable();

TableToCalc=floversShopDataSet1.Trades;

//Передача значений классу CalcStatistic

CalcStatistic.Calcer a = new CalcStatistic.Calcer(ref TableToCalc, ref Disperce, ref Srx, Colname);

//Вывод статистики

MessageBox.Show("Среднее значение суммы покупки = " + Convert.ToString(Srx) + "\n"

+"Дисперсия = " + Convert.ToString(Disperce), "Статистика");

}

//Навигация по строкам таблицы

private void button1_Click(object sender, EventArgs e)

{

tradesBindingSource.MoveFirst();

}

private void button2_Click(object sender, EventArgs e)

{

tradesBindingSource.MovePrevious();

}

private void button3_Click(object sender, EventArgs e)

{

tradesBindingSource.MoveNext();

}

private void button4_Click(object sender, EventArgs e)

{

tradesBindingSource.MoveLast();

}

}

}

Form2:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FloversShop

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void Form2_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.Plants". При необходимости она может быть перемещена или удалена.

this.plantsTableAdapter.Fill(this.floversShopDataSet1.Plants);

}

private void button5_Click(object sender, EventArgs e)

{

Form4 a = new Form4(true);

a.ShowDialog();

this.plantsTableAdapter.Fill(this.floversShopDataSet1.Plants);

}

//Навигация по строкам таблицы

private void button1_Click(object sender, EventArgs e)

{

plantsBindingSource.MoveFirst();

}

private void button2_Click(object sender, EventArgs e)

{

plantsBindingSource.MovePrevious();

}

private void button3_Click(object sender, EventArgs e)

{

plantsBindingSource.MoveNext();

}

private void button4_Click(object sender, EventArgs e)

{

plantsBindingSource.MoveLast();

}

private void button6_Click(object sender, EventArgs e)

{

Close();

}

}

}

Form3:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FloversShop

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}

private void Form3_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.Flovers". При необходимости она может быть перемещена или удалена.

this.floversTableAdapter.Fill(this.floversShopDataSet1.Flovers);

}

private void button5_Click(object sender, EventArgs e)

{

//Открытие формы

Form4 a = new Form4(false);

a.ShowDialog();

this.floversTableAdapter.Fill(this.floversShopDataSet1.Flovers);

}

//Навигация по строкам таблицы

private void button1_Click(object sender, EventArgs e)

{

floversBindingSource.MoveFirst();

}

private void button2_Click(object sender, EventArgs e)

{

floversBindingSource.MovePrevious();

}

private void button3_Click(object sender, EventArgs e)

{

floversBindingSource.MoveNext();

}

private void button4_Click(object sender, EventArgs e)

{

floversBindingSource.MoveLast();

}

private void button6_Click(object sender, EventArgs e)

{

Close();

}

}

}

Form4:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FloversShop

{

public partial class Form4 : Form

{

bool Mode;

public Form4(bool a)

{

Mode = a;

InitializeComponent();

label1.Text = "Название";

label3.Text = "Стоимость";

if (Mode == true)

{

label2.Text = "Инфо";

}

else

{

label2.Text = "Цвет";

}

}

private void button1_Click(object sender, EventArgs e)

{

add();

Close();

}

private void add()

{

int Cost=Convert.ToInt32(textBox3.Text);

if (Mode == true)

{

plantsTableAdapter.InsertQuery(textBox1.Text, textBox2.Text, Cost);

plantsTableAdapter.Fill(floversShopDataSet1.Plants);

}

else

{

floversTableAdapter.InsertQuery(textBox1.Text, textBox2.Text, Cost);

floversTableAdapter.Fill(floversShopDataSet1.Flovers);

} } }}

Form5:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FloversShop

{

public partial class Form5 : Form

{

int TradeId;

int AllSumm;

public Form5(int Id)

{

InitializeComponent();

TradeId = Id;

AllSumm = 0;

}

private void Form5_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.FloverPurchase". При необходимости она может быть перемещена или удалена.

this.floverPurchaseTableAdapter.FillBy(this.floversShopDataSet1.FloverPurchase,TradeId);

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.PlantPurchase". При необходимости она может быть перемещена или удалена.

this.plantPurchaseTableAdapter.FillBy(this.floversShopDataSet1.PlantPurchase,TradeId);

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.Plants". При необходимости она может быть перемещена или удалена.

this.plantsTableAdapter.Fill(this.floversShopDataSet1.Plants);

// TODO: данная строка кода позволяет загрузить данные в таблицу "floversShopDataSet1.Flovers". При необходимости она может быть перемещена или удалена.

this.floversTableAdapter.Fill(this.floversShopDataSet1.Flovers);

}

private void button1_Click(object sender, EventArgs e)

{

addPP();

}

private void addPP()

{

DataRowView dataRow = (DataRowView)plantsBindingSource.Current;

int PlId = Convert.ToInt32(dataRow["PlantId"]);

string Name = Convert.ToString(dataRow["Name"]);

int Count = Convert.ToInt32(textBox1.Text);

int Cost=Convert.ToInt32(dataRow["Cost"]);

plantPurchaseTableAdapter.InsertQuery(PlId, Count, TradeId, Name);

plantPurchaseTableAdapter.FillBy(floversShopDataSet1.PlantPurchase, TradeId);

updateSumm(Cost, Count);

}

private void updateSumm(int Cost, int Count)

{

AllSumm = AllSumm + Cost * Count;

tradesTableAdapter.UpdateQuery(AllSumm, TradeId);

tradesTableAdapter.Fill(floversShopDataSet1.Trades);

label5.Text = "Общая сумма покупки = " + Convert.ToString(AllSumm) + "р";

}

private void button3_Click(object sender, EventArgs e)

{

addFP();

}

private void addFP()

{

DataRowView dataRow = (DataRowView)floversBindingSource.Current;

int FlId = Convert.ToInt32(dataRow["FloverId"]);

string Name = Convert.ToString(dataRow["Name"]);

int Count = Convert.ToInt32(textBox2.Text);

int Cost = Convert.ToInt32(dataRow["Cost"]);

floverPurchaseTableAdapter.InsertQuery(FlId, Count, TradeId, Name);

floverPurchaseTableAdapter.FillBy(floversShopDataSet1.FloverPurchase, TradeId);

updateSumm(Cost, Count);

}

private void button2_Click(object sender, EventArgs e)

{

checkSumm();

Close();

}

private int checkSumm()

{

if (AllSumm > 1000)

{

AllSumm = AllSumm - AllSumm / 10;

}

tradesTableAdapter.UpdateQuery(AllSumm, TradeId);

tradesTableAdapter.Fill(floversShopDataSet1.Trades);

return AllSumm;

} }}