Автор работы: Пользователь скрыл имя, 09 Января 2013 в 21:48, курсовая работа
1.1 Сущность задачи
Задачей данного проекта является автоматизация расчета кратчайшего расстояния между городами Минской области. Программное приложение должно выводить сведения об оптимальном пути маршрута.
В Минской области осуществляется автобусное сообщение между следующими городами:
Содержание
1 Объектно-ориентированный анализ и проектирование системы 3
Сущность задачи 3
Проектирование модели 5
2 Вычислительная система 8
2.1 Требования к аппаратным и операционным ресурсам 8
2.2 Инструменты разработки 8
3 Проектирование задачи 11
3.1 Требования к приложению 11
3.2 Концептуальный прототип 11
3.3 Организация данных 12
3.4 Функции и элементы управления 12
3.5 Проектирование справочной системы приложения 17
4 Описание программного средства 19
4.1 Общие сведения 19
4.2 Функциональное назначение 19
4.3 Входные данные 19
4.4 Выходные данные 19
5 Методика испытаний 20
5.1 Технические требования 20
5.2 Порядок проведения испытаний 20
5.2.1 Функциональное тестирование 20
5.2.2 Полное тестирование 26
6 Применение 39
6.1 Назначение программы 39
6.2 Условия применения 39
6.3 Справочная система 39
Заключение 45
Литература 46
Приложение А 47
{
Application.Exit();
}
private
void помощьToolStripMenuItem_Click(
{
О_программе help1 = new О_программе();
help1.Show();
}
private
void сохранитьПутьToolStripMenuItem
{
if (textBox1.Text == "" || textBox1.Text == "Измените один из пунктов и попробуйте снова!")
{
MessageBox.Show("Путь еще не определен.\nВыбирите соответсвующие города и\nнажмите кнопку поиска маршрута ");
button5.Focus();
}
else
{
saveFileDialog1.FileName = checkedListBox1.Items[ii] + "_" + checkedListBox1.Items[jj];
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
saveFileDialog1.Title = "Сохранить как...";
StreamWriter f1 = new StreamWriter(saveFileDialog1.
f1.WriteLine(textBox1.Text);
f1.WriteLine(textBox3.Text);
f1.Close();
}
}
}
private void button5_Click_1(object sender, EventArgs e)
{
//for (int i = 0; i > checkedListBox1.Items.Count; i++)
//{
// if (checkedListBox1.CheckedItems.
//}
if (checkedListBox1.CheckedItems.
{
if (checkedListBox1.CheckedItems.
{
MessageBox.Show("Не выбран город отправления");
}
if (checkedListBox2.CheckedItems.
{
MessageBox.Show("Не выбран город прибытия");
}
}
else
{
checkedListBox1.Enabled = false;
checkedListBox2.Enabled = false;
checkedListBox3.Enabled = false;
Optimization cityway = new Optimization();
textBox1.Text = cityway.MinP(ii, jj, qq);
textBox3.Text = cityway.MinS(ii, jj, qq);
}
}
private
void checkedListBox1_
{
checkedListBox1.Enabled = false;
ii = Convert.ToInt32(
button1.Text = "Изменить выбор";
if (button3.Text != "Изменить выбор")
{
checkedListBox2.Enabled = true;
}
if (button3.Text == "Изменить выбор")
{
button5.Focus();
}
radioButton2.Checked = true;
}
private void button1_Click_1(object sender, EventArgs e)
{
radioButton2.Checked = true;
button1.Text = "Выбрать город отправления";
checkedListBox1.
checkedListBox1.Enabled = true;
}
private void button3_Click(object sender, EventArgs e)
{
button3.Text = "Выбрать город прибытия";
checkedListBox2.
checkedListBox2.Enabled = true;
}
private void button2_Click_1(object sender, EventArgs e)
{
button3.Text = "Выбрать город проезда";
checkedListBox3.
checkedListBox3.Enabled = true;
}
private void button4_Click_1(object sender, EventArgs e)
{
int k = 0;
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (radioButton1.Checked == true) checkedListBox1.
if (radioButton2.Checked == true) checkedListBox2.
if (radioButton3.Checked == true) checkedListBox3.
}
if (radioButton1.Checked == true)
{
checkedListBox1.
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (Convert.ToString(
{
k++;
checkedListBox1.
ii = i;
checkedListBox1.Enabled = false;
checkedListBox2.Enabled = true;
button1.Text = "Изменить выбор";
}
}
}
else
{
if (radioButton2.Checked == true)
{
checkedListBox2.
for (int i = 0; i < checkedListBox2.Items.Count; i++)
{
if (Convert.ToString(
{
k++;
checkedListBox2.
jj = i;
checkedListBox2.Enabled = false;
button3.Text = "Изменить выбор";
}
}
}
else
{
if (radioButton3.Checked == true)
checkedListBox3.
for (int i = 0; i < checkedListBox3.Items.Count; i++)
{
if (Convert.ToString(
{
k++;
checkedListBox3.
qq = i;
checkedListBox3.Enabled = false;
button2.Text = "Изменить выбор";
}
}
}
}
if (k == 0) MessageBox.Show("ТАКОГО ГОРОДА НЕТ");
}
private
void checkedListBox2_
{
checkedListBox2.Enabled = false;
jj = Convert.ToInt32(
button3.Text = "Изменить выбор";
button5.Focus();
}
private
void картаToolStripMenuItem_Click_
{
Map map = new Map(this);
map.Show();
}
private
void checkedListBox3_
{
checkedListBox3.Enabled = false;
qq = Convert.ToInt32(
button2.Text = "Изменить выбор";
button5.Focus();
}
private void textBox2_Click_1(object sender, EventArgs e)
{
if (kk == 0)
{
textBox2.Text = "";
}
kk++;
}
private void button6_Click(object sender, EventArgs e)
{
Map map = new Map(this);
map.Show();
}
private
void справкаToolStripMenuItem_
{
System.Diagnostics.Process.
}
}
}
Класс «Map»
public partial class Map : Form
{
Form1 f1;
int q = 0;
public Map(Form1 f1)
{
InitializeComponent();
this.f1 = f1;
}
private
void toolStripMenuItem1_Click(
{
CheckBox[] chB = new CheckBox[25] {checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8,
checkBox9, checkBox10, checkBox11, checkBox12, checkBox13, checkBox14, checkBox15, checkBox16, checkBox17, checkBox18, checkBox19,
checkBox20, checkBox21, checkBox22, checkBox23, checkBox24, checkBox25};
for (int i = 0; i < chB.Length; i++)
{
if (chB[i].Checked == true)
f1.ii = i;
}
}
private
void toolStripMenuItem2_Click(
{
{
CheckBox[] chB = new CheckBox[25] {checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8,
checkBox9, checkBox10, checkBox11, checkBox12, checkBox13, checkBox14, checkBox15, checkBox16, checkBox17, checkBox18, checkBox19,
checkBox20, checkBox21, checkBox22, checkBox23, checkBox24, checkBox25};
for (int i = 0; i < chB.Length; i++)
{
if (chB[i].Checked == true && i != f1.ii && f1.jj != i)
f1.qq = i;
}
}
}
private
void toolStripMenuItem3_Click(
{
{
CheckBox[] chB = new CheckBox[25] {checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8,
checkBox9, checkBox10, checkBox11, checkBox12, checkBox13, checkBox14, checkBox15, checkBox16, checkBox17, checkBox18, checkBox19,
checkBox20, checkBox21, checkBox22, checkBox23, checkBox24, checkBox25};
for (int i = 0; i < chB.Length; i++)
{
if (chB[i].Checked == true && i != f1.ii)
f1.jj = i;
q = i;
toolStripMenuItem2.Enabled = true;
toolStripMenuItem4.Enabled = true;
}
}
}
private
void toolStripMenuItem4_Click(
{
Optimization cityway = new Optimization();
if (q != 0)
{
f1.textBox1.Text = cityway.MinP(f1.ii, f1.jj, f1.qq);
f1.textBox3.Text = cityway.MinS(f1.ii, f1.jj, f1.qq);
}
else
{
f1.textBox1.Text = cityway.MinP(f1.ii, f1.jj, 0);
f1.textBox3.Text = cityway.MinS(f1.ii, f1.jj, 0);
}
f1.textBox1.Focus();
}
}
Класс «О программе»
public partial class О_программе : Form
{
public О_программе()
{
InitializeComponent();
saveFileDialog1.Filter = "Блокнот|*.txt";
}
private void О_программе_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
string[] s = new string[] { "Разработчик: Пархимчик Никита", "Город: Минск", "Программное средство: CityWays", "Версия: 1.0", "Год разработки: 2012", "Расстояние между городами взяты с сайта:", "http://www.della.by", "Контактная информация:", "http://vk.com/avermax_music", "nixon93nixon@gmail.com" };
saveFileDialog1.FileName = "О программе 'CityWays'";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
saveFileDialog1.Title = "Сохранить как...";
System.IO.StreamWriter f1 = new System.IO.StreamWriter(
for (int i = 0; i < s.Length; i++ ) f1.WriteLine(s[i]);
f1.Close();
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.linkLabel1.LinkVisited = true;
System.Diagnostics.Process.
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.linkLabel1.LinkVisited = true;
System.Diagnostics.Process.
}
}
Класс «MinWay»
class Optimization
{
int[,] D = new int[30, 30]
//1
{{0,9999,9999,9999,9999,9999,
//2
{9999,0,86,9999,9999,9999,69,
//3
{9999,86,0,9999,9999,9999,20,
//4
{9999,9999,99999,0,9999,9999,
//5
{9999,9999,9999,9999,0,9999,
//6
{9999,9999,9999,9999,9999,0,
//7
{9999,69,20,9999,9999,9999,0,
//8
{9999,9999,9999,9999,9999,
//9
{9999,9999,9999,9999,9999,
//10
{9999,79,46,9999,9999,9999,
//11
{41,9999,60,83,9999,9999,41,
//12
{9999,99999,9999,9999,9999,
//13
{64,9999,9999,9999,9999,93,
//14
{9999,9999,9999,23,41,9999,
//15
{133,9999,9999,9999,9999,9999,
//16
{9999,9999,9999,9999,9999,
//17
{9999,9999,9999,9999,9999,
Информация о работе Нахождение кратчайшего пути между городами Минской области