Сразу хотел бы извиниться если нарушил правила форума, помогите пожалуйста построить диаграмму, т.к. очень нужно.
Нужно построить диаграмму по рабочей программе:
static public class peremenie
{
static public string[] mas_school;
static public string m_school="";
static public string chetvert="";
static public int maksyrokov;
static public int dninedeli;
static public string m_klchas;
static public string m_god1;
static public string m_god2;
// основні дані про школу
static public string[] m_kab;
static public string[] m_klas;
static public string[] m_predmet;
static public string[] prepod;
//таблиці с даними які не можна змінити, наша datagridview
static public int m_nomkab;
static public int m_mest;
static public string m_prepod;
// додати кабінет
static public string m_klimya;
static public int kolychen;
static public string klryk;
static public int smena=0;
// додати новий клас
static public string m_predimya;
static public int spar = 0;
//новий предмет
static public string m_fio;
static public int kolchas;
static public string data;
static public string adres;
static public string tel;
//новий вчитель
static public int[] rabkab;
static public int[] a;
static public string[] nagryzka;
static public int[] rabvr;
// масиви для робочого часу
static public int sprep = 0;
static public int b = 0;
static public int otkrit = 0;
static public string help;
static public int pred = 0;
static public int new_old = 0;
static public int IDklas = 0;
static public int IDshcool = 0;
static public bool[] nomerk;
}
static int sh;
static MySqlDataAdapter da;
static DataSet table;
static string
conn="datasource=localhost;username=root;password=;database=mysql;CharSet=utf8;";
static MySqlConnection mycon;
static DataTable dt;
static string charsetQuery = "SET NAMES 'utf8';";
static public void bdread() //клас для читання даних
{
mycon = new MySqlConnection(conn);
MySqlCommand command1 = new MySqlCommand(charsetQuery, mycon);
MySqlCommand cmd1 = new MySqlCommand("Select * From дані", mycon);
string query = "SELECT * FROM дані;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
int head;
int k=0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
head = dr.FieldCount;
while (dr.Read())
{
k++;
}
sh = k;
}
mycon.Open();
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j=0;
peremenie.mas_school = new string[k* head];
while (dr.Read())
{
for (int i = 0; i < head; i++)
{
peremenie.mas_school[j * 8 + i] = dr.GetValue(i).ToString().Trim();
}
j++;
}
}
dannie();
/////матриця для даних о школах
cmd1 = new MySqlCommand("Select * From кабинет", mycon);
query = "SELECT * FROM кабинет;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
peremenie.m_kab = new string[k * 5];
int j = 0;
while (dr.Read())
{
for (int i = 0; i < 5; i++)
{
peremenie.m_kab[j * 5 + i] =dr.GetValue(i).ToString().Trim();
}
j++;
}
}
/////матриця для кабинетів
cmd1 = new MySqlCommand("Select * From классы", mycon);
query = "SELECT * FROM классы;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using (MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j=0;
peremenie.m_klas = new string[k * 6];
while (dr.Read())
{
for (int i = 0; i <6; i++)
{
peremenie.m_klas[j * 6+ i] = dr.GetValue(i).ToString().Trim();
}
j++;
}
}
////матриця для класів
cmd1 = new MySqlCommand("Select * From предмет", mycon);
query = "SELECT * FROM предмет;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j = 0;
peremenie.m_predmet = new string[k * 4];
while (dr.Read())
{
for (int i = 0; i < 4; i++)
{
peremenie.m_predmet[j *4 + i] = dr.GetValue(i).ToString().Trim();
}
j++;
}
}
//////матриця для предметів
cmd1 = new MySqlCommand("Select * From вчителі", mycon);
query = "SELECT * FROM преподаватели;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j = 0;
peremenie.prepod = new string[k * 7];
while (dr.Read())
{
for (int i = 0; i < 7; i++)
{
peremenie.prepod [j * 7 + i] = dr.GetValue(i).ToString().Trim();
}
j++;
}
}
//// вчителі
cmd1 = new MySqlCommand("Select * From навантаження", mycon);
query = "SELECT * FROM навантаження;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using (MySqlDataReader dr =
cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j = 0;
peremenie.nagryzka = new string[k * 6];
while (dr.Read())
{
for (int i = 0; i < 6; i++)
{
peremenie.nagryzka[j * 6 + i] = dr.GetValue(i).ToString().Trim();
}
j++;
}
}
////навантаження
cmd1 = new MySqlCommand("Select * From робчасвчителя", mycon);
query = "SELECT * FROM робчасвчителя;";
da = new MySqlDataAdapter(query, conn);
mycon.Open();
command1.ExecuteNonQuery();
k = 0;
using(MySqlDataReader dr=cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
k++;
}
}
mycon.Open();
using(MySqlDataReader dr=cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{
int j=0;
peremenie.rabvr = new int[k * 10];
while (dr.Read())
{
for (int i = 0; i <10; i++)
{
peremenie.rabvr[j * 10 + i]=
Convert.ToInt32(dr.GetValue(i).ToString().Trim());
}
j++;
}
}
//робочий час
}
public Int32 logicblok(int r, int c, DataGridView data, int f, string predmet)
{
nomer = "";
for (int i = 0; i < peremenie.m_klas.Length / 6; i++)
{
if (data.Columns[c].HeaderText == peremenie.m_klas[i * 6 + 2] && peremenie.m_klas[i * 6 + 1] == Convert.ToString(peremenie.IDshcool))
{
peremenie.IDklas = Convert.ToInt32(peremenie.m_klas[i * 6 + 0]); ////ID
klassa
}
}
int kol = 0; //// кількість предметів в тиждень
string prep = "";
for (int i = 0; i < peremenie.nagryzka.Length / 6; i++)
{
if (predmet == peremenie.nagryzka[i * 6 + 3] &&
Convert.ToInt32(peremenie.nagryzka[i * 6 + 2]) == peremenie.IDklas)
{
kol = Convert.ToInt32(peremenie.nagryzka[i * 6 + 4]);//// naxodim eto kol-vo
prep = peremenie.nagryzka[i * 6 + 5];
standart(prep, r, c, data, f);
if (rabota(prep, r, c, data, f) == 3) ////////////// необхідно передати ім'я вчителя в підпрограму щоб визначити може він вести в цей час
{
if (MessageBox.Show("Ймовірно викладач не зможе. Все одно продовжити?", " Попередження ", MessageBoxButtons.YesNo) ==
DialogResult.No)
{
return 1;
}
}
else if (rabota(prep, r, c, data, f) == 2)
{
MessageBox.Show("Викладач не зможе"., "Попередження ");
return 1;
}
}
}
int sum = 0;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
string[] w;
w= Convert.ToString(dataGridView1.Rows[i].Cells[c].Value).Split('/');
if (w[0]== predmet)
{
sum = sum + 1;
}
string[] w1;
w1= Convert.ToString(dataGridView2.Rows[i].Cells[c].Value).Split('/');
if (w1[0]== predmet)
{
sum = sum + 1;
}
string[] w2;
w2= Convert.ToString(dataGridView3.Rows[i].Cells[c].Value).Split('/');
if (w2[0]== predmet)
{
sum = sum + 1;
}
string[] w3;
w3=Convert.ToString(dataGridView4.Rows[i].Cells[c].Value).Split('/');
if (w3[0]== predmet)
{
sum = sum + 1;
}
string[] w4;
w4= Convert.ToString(dataGridView5.Rows[i].Cells[c].Value).Split('/');
if (w4[0]== predmet)
{
sum = sum + 1;
}
string[] w5;
w5= Convert.ToString(dataGridView6.Rows[i].Cells[c].Value).Split('/');
if (w5[0]== predmet)
{
sum = sum + 1;
}
}
int k = 0;
if (kol <= sum)
{
k = 1;
MessageBox.Show("Неприпустима кількість цього предмета для цього класу"., "Попередження");
return k;
}
for (int i = 0; i < peremenie.m_klas.Length / 6; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (j != c)
{
if (data.Columns[j].HeaderText == peremenie.m_klas[i * 6 + 2] && peremenie.m_klas[i * 6 + 1] == Convert.ToString(peremenie.IDshcool))
{
for (int u = 0; u < peremenie.nagryzka.Length / 6; u++)
{
string[] word;
word = Convert.ToString(data.Rows[r].Cells[j].Value).Split('/');
if (prep == peremenie.nagryzka[u * 6 + 5] &&
Convert.ToInt32(peremenie.nagryzka[u * 6 + 2]) ==
Convert.ToInt32(peremenie.m_klas[i * 6 + 0]) && word[0] == peremenie.nagryzka[u * 6 + 3])
{
k = 1;
MessageBox.Show("Викладач зайнятий"., "Попередження ");
return k;
}
}
}
}
}
}
for (int i = 0; i < data.RowCount; i++)
{
if (r != i)
{
string[] word;
word = Convert.ToString(data.Rows[i].Cells[c].Value).Split('/');
if (word[0] == predmet)
{
if (MessageBox.Show("Ви впевнені, що хочете проставити два однакові предмети в день"?, "Попередження ", MessageBoxButtons.YesNo) == DialogResult.No)
{
k = 1;
return k;
}
}
}
}
return k;
}
public void smena(int i, int j, DataGridView data)
{
bool z = true;
for (int k = 0; k < peremenie.m_klas.Length / 6; k++)
{
if (data.Columns[j].HeaderText == peremenie.m_klas[k * 6 + 2] && peremenie.m_klas[k * 6 + 1] == Convert.ToString(peremenie.IDshcool))
{
z=Convert.ToBoolean( peremenie.m_klas[k * 6 + 4]); ////ID klassa
}
}
if (z==true&& i<4)
{
data.ContextMenuStrip.Enabled = false;
}
else
{
data.ContextMenuStrip.Enabled = true;
}
}
public void smena(int i, int j, DataGridView data)
{
bool z = true;
for (int k = 0; k < peremenie.m_klas.Length / 6; k++)
{
if (data.Columns[j].HeaderText == peremenie.m_klas[k * 6 + 2] && peremenie.m_klas[k * 6 + 1] == Convert.ToString(peremenie.IDshcool))
{
z=Convert.ToBoolean( peremenie.m_klas[k * 6 + 4]); ////ID klassa
}
}
if (z==true&& i<4)
{
data.ContextMenuStrip.Enabled = false;
}
else
{
data.ContextMenuStrip.Enabled = true;
}
}
public int razdel(DataGridView data, int r,int c,string nom)
{
for (int i = 0; i < data.ColumnCount; i++)
{
if (i != c)
{
string[] word;
word = Convert.ToString(data.Rows[r].Cells[i].Value).Split('/');
//MessageBox.Show(Convert.ToString(data.Rows[r].Cells[i].Value), word[0]);
try
{
if (word[1] == nom)
{
MessageBox.Show("Кабінет зайнятий"!, "Попередження ");
return 1;
}
}
catch
{
}
}
}
return 0;
}