Программа анализа комплектаций автомобилей

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,05 Мб
  • Опубликовано:
    2013-05-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программа анализа комплектаций автомобилей

Государственный университет - Высшая школа экономики

Факультет «Бизнес-информатика»

Кафедра архитектуры программных систем








Курсовая работа

по дисциплине «Программирование»

Тема работы:

Программа анализа комплектаций автомобилей



Выполнил: Гайчук А.С.

студент 173 (1) группы

Руководитель: Поклонов Б.Е

Оглавление:

 

1. Условие задачи

. Функции разрабатываемого приложения:

.1 Варианты использования

.2 Описание интерфейса пользователя

. Структура приложения

.1 Диаграмма классов.

.2 Диаграмма вариантов использования

.3 Описание полей и методов.

. Распределение исходного кода по файлам проекта

. Взаимодействие частей приложения (диаграмма кооперации)

. Контрольный пример и описание результатов

. Использованная литература

. Исходный код программы



1. Условие задачи

Разработка информационно-поисковой системы по подержанным автомобилям.

Постановка задачи:

При разработке информационно-справочной системы по подержанным автомобилям было сформулировано две основных задачи:

· Разработать понятный и удобный интерфейс для пользователя.

·        Осуществить обработку данных, получаемых из конкретного источника (текстового файла).

2. Функции разрабатываемого приложения:

.1 Варианты использования

·   Формирование массива объектов класса «Avto», данные массива выводятся в таблицу на экране, столбцы которой будут представлять инициализированные поля объектов;

Входные данные:

1.                 Все имеющиеся комплектации автомобилей содержатся в файле Car.txt

2.      Данные, вводимые пользователем вручную - его требования к автомобилю.

Выходные данные:

1.                     Таблица с интуитивно понятным интерфейсом, с результатами поиска.

·   поиск информации;

·   определение диапазонов для некоторых характеристик автомобиля; отметка необходимых опций;

·   формирование формы с таблицей результатов поиска по данному запросу.

2.2    Описание интерфейса пользователя

В начале, при запуске, пользователя приветствует программа (рисунок 2.1):

Рисунок 2.1

Можно посмотреть информацию об авторе (рисунок 2.2):

Рисунок 2.2

Для определения необходимых характеристик и списка дополнительного оборудования пользователь выбирает необходимые параметры с помощью NumericUpDown, ListBox и CheckBox (рисунок 2.3):

Рисунок 2.3

Формирование таблицы с результатами поиска производится в другой форме, с помощью DataGridView; пользователь может отсортировать полученные данные (рисунок 2.4):

Рисунок 2.4

Если программа не найдет вариантов, подходящих под запросы пользователя, будет выведено сообщение об ошибке (рисунок 2.5):

Рисунок 2.5

Для выхода из приложения в любом окне нужно нажать кнопку «Выход» (рисунок 2.6):

Рисунок 2.6

После нажатия приложение попросить подтвердить либо отклонить ваш выбор (рисунок 2.7):

Рисунок 2.7

3. Структура приложения

.1 Диаграмма классов


3.2 Диаграмма вариантов использования


.3 Описание полей и методов

Для выполнения всех задач мне потребовалось создать две основные формы, плюс вводную форму приветствия.

Название и описание классов

Поля и методы

Form 1. Здесь осуществляется выбор параметров, по которым будет производиться поиск

1. Button 2 (начать поиск) Осуществляется формирование массива объектов (потоковый, из файла Car.txt) и поиск по нему с учетом введенных данных. Далее производится запись в текстовый файл 1.txt и вывод на экран формы с результатами 2. button1(выход) Завершение работы программы

Result. Здесь отображается таблица с результатами поиска

1. button 2 (начать новый поиск) Программа показывает предыдущую форму и закрывает текущую 2. Button 1 (выход) Завершение работы программы

Start. Здесь отображается приветствие

1.button 3(далее) Осуществляется переход к Form1; форма Start закрывается. 2.button 2 (об авторе) Отображается Message Box с информацией об авторе 3. Button1 (выход) Завершение работы программы

Avto

1. Поля:23 поля с информацией об автомобиле: string Brand (производитель) string Model (модель) int Year (год выпуска) int Price (цена) double Engvolume (объем двигателя) int Engpower (мощность двигателя) int Gear (тип КПП) string Body (тип кузова) int Rimsradius (радиус колесных дисков) int Abs (наличие антиблокировочной системы) int Xenon (ксеноновые фары) int Airbag (подушки безопасности) int Esp(наличие антипробуксовочной системы) int Security (охранная система + центральный замок) int Washheadlight (омывание фар) int Electricwindow (электростеклоподъемники) int Memorydriver (регулировка водительского сиденья с памятью) int Cruisecontrol (круиз-контроль) int Parktronic (парковочный ассистент) int Leather (кожаный салон) int Mixed (смешанный салон) int Rain (датчик дождя) int Computer (бортовой компьютер) 2. Avto. Конструктор

Program

1. Метод Main. Точка входа в программу



4. Распределение исходного кода по файлам проекта

Рисунок 4.1 - распределение исходного кода по файлам проекта

Текстовые файлы с данными об автомобилях хранятся в папке bin - Debug, а все используемые картинки хранятся в папке Resourses.

Рисунок 4.2 - текстовый файл со всеми имеющимися автомобилями, среди которых осуществляется поиск

5. Взаимодействие частей приложения (диаграмма кооперации)


6. Контрольный пример, описание результатов и обработка исключений

При запуске программы пользователю отображается окно приветствия (рисунок 6.1).

Рисунок 6.1

Можно посмотреть информацию об авторе (рисунок 6.2):

Рисунок 6.2

После нажатия «ОК» и «Далее» пользователь попадает в окно выбора характеристик автомобиля и списка дополнительных опций. Предположим, что нам необходим внедорожник или седан, ценой 1000-3500 тыс. рублей, с двигателем объемом 2,0-3,5, мощностью от 220 до 360 л.с., колесными дисками 18-20 дюймов, автоматической коробкой передач, подушками безопасности, электроприводом стекол всех дверей, антиблокировочной системой и кожаной обивкой салона (рисунок 6.3):

Рисунок 6.3

Далее осуществляется поиск и выдается результат (рисунок 6.4):

Рисунок 6.4 - под запрос пользователя подходят 2 модели

Можно осуществить новый поиск или покинуть программу, нажав кнопку выхода (рисунок 6.5):

Рисунок 6.5

При нажатии на кнопку «Выход» в любом из 3 окон программа выдаст диалоговое окно для подтверждения (рисунок 6.6):

Рисунок 6.6

Обработка исключений:Все элементы управления (NumericUpDpwn, Listbox, DataGridView) являются заблокированными и пользователь попросту не сможет ввести неподходящие данные.

Единственное, что может случиться - ситуация, когда пользователь ввел такой запрос, что программа не смогла найти подходящего автомобиля.

В таком случае появится соответствующее сообщение (рисунок 6.7):

Рисунок 6.7

Использованная литература

1. Шилдт Г. Полный справочник по С#. М.: Вильямс, 2004. 748 с.

. Борис Егорович Поклонов, лекции по программированию, 1-3 модуль, бакалавриат, 1 курс.

. Форум программистов и сисадминов CyberForum.ru

. В.В. Подбельский: Язык С# базовый курс

Приложение

Исходный код программы

Файл Avto.cs

using System;System.Collections.Generic;System.Linq;System.Text;

Гайчук_А.С._173_1_

{

[Serializable]class Avto

{int Abs;//абсstring Brand;//маркаstring Model;//модель

public int Year;//год выпускаint Security;//Охранная система + центральный замокint Airbag;//подушкиint Esp;//Антипробуксовочная система

public int Xenon;//ксенонint Electricwindow;//стеклоподъемники все

public int Memorydriver;//регулировка сиденья водителя с памятью

public int Cruisecontrol;//круиз контрольint Washheadlight;//омыватель фарint Parktronic;//парктроникint Leather;//кожаный салонint Computer;//бортовой компьютерint Rain;//датчик дождяint Gear;//трансмиссияdouble Engvolume;//обьем двигателяint Engpower;//мощность двигателяint Rimsradius;//дискиint Price;//ценаstring Body;//тип кузоваint Mixed;//Смешанный салон

Avto(string Brand, string Model, int Year, int Price, double

Engvolume, int Engpower, int Gear, string Body, int Rimsradius, int Abs, int

Xenon, int Airbag, int Esp, int Security, int Washheadlight, int

Electricwindow, int Memorydriver, int Cruisecontrol, int Parktronic, int

Leather, int Mixed, int Rain, int Computer)

{.Abs = Abs;.Body = Body;.Airbag = Airbag;.Esp = Esp;.Computer = Computer;.Cruisecontrol = Cruisecontrol;.Engvolume = Engvolume;.Xenon = Xenon;.Electricwindow = Electricwindow;.Gear = Gear;.Security=Security;.Leather = Leather;.Rain = Rain;.Brand = Brand;.Washheadlight = Washheadlight;.Model = Model;.Year = Year;.Parktronic = Parktronic;.Engpower = Engpower;.Price = Price;.Memorydriver = Memorydriver;.Rimsradius = Rimsradius;.Mixed = Mixed;

}

}

}

Файл Form1.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO;System.Collections;System.Runtime.Serialization;System.Runtime.Serialization.Formatters.Binary;

Гайчук_А.С._173_1_

{partial class Search : Form

{Search()

{();= new Size(1000, 636);= new Size(1000, 636);

}

void button1_Click(object sender, EventArgs e)//при нажатии на

кнопку "Выход" будет выведено диалоговое окно

{(MessageBox.Show("Вы действительно хотите покинуть программу?",

"Выход", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == .Yes)

//если на поставленный вопрос пользователь ответит "Да", произойдет

выход из программы, в другом случае диалоговое окно закроется

{.Close();//закрытие окна выбора параметров.Start.Close();//закрытие окна приветствия

}

}

void Search_Load(object sender, EventArgs e)

{

}

void button2_Click_1(object sender, EventArgs e)

{(comboBox1.Text == "") comboBox1.Text = "Не_имеет_значения";

// Если пользователь оставил пустые комбобоксы, то их значения

устанавливаются автоматически на

// "-", т.к., раз он оставил их пустыми, то ему это не важно.

if (comboBox2.Text == "") comboBox2.Text = "Не_имеет_значения";

<Avto> spisok = new List<Avto>(); //формируем список типа Avtosr = new StreamReader("Car.txt",

Encoding.Default);//считывание информации произойдет из текстового

файла Car.txt

string str = " ";//формируем строковую переменную для считыванияa;//формируем переменную типа Avto для считывания[] mas = new string[23];//задаем одномерный массив из 23

элементов для считывания

(!sr.EndOfStream)//считывание производим до тех пор, пока не

дойдем до конца текста в файле

{= sr.ReadLine();//считываем по одной строке из текстового файла= str.Split(';');//каждую считанную строку разделяем через ";" на

элементы, из которых формируется массив

a = new Avto(mas[0], mas[1], int.Parse(mas[2]), int.Parse(mas[3]),

double.Parse(mas[4]), int.Parse(mas[5]), int.Parse(mas[6]), mas[7],

int.Parse(mas[8]), int.Parse(mas[9]), int.Parse(mas[10]), int.Parse(mas[11]),

int.Parse(mas[12]), int.Parse(mas[13]), int.Parse(mas[14]),

int.Parse(mas[15]), int.Parse(mas[16]), int.Parse(mas[17]),

int.Parse(mas[18]), int.Parse(mas[19]), int.Parse(mas[20]),

int.Parse(mas[21]), int.Parse(mas[22]));

spisok.Add(a);//добавляем автомобиль в список

}.Close();//закрываем поток считыванияsr2=new StreamReader("Car.txt",Encoding.Default);//еще

одно считывание осуществляем для того, чтобы добавить в список ВСЕ

автомобили из файла, не только последний

информационый поисковый программа автомобиль

string[][] mas2 = new string[spisok.Count][];(int i = 0; i < spisok.Count; i++)

{=sr2.ReadLine();[i] = str.Split(';');

}.Close();//закрываем поток счи<Avto> spisok1=new List<Avto>();

(int i=0;i<spisok.Count;i++)

{= mas2[i];

((int.Parse(mas[3]) <= 1000 * pricemax.Value) && (int.Parse(mas[3]) >=

1000 * pricemin.Value) && (double.Parse(mas[4]) * 1000 >=

Convert.ToDouble(volmin.Value)) && (double.Parse(mas[4]) * 1000 <=

Convert.ToDouble(volmax.Value)) && (int.Parse(mas[5]) <=

powermax.Value) && (int.Parse(mas[5]) >= powermin.Value) &&

(int.Parse(mas[8]) >= rimmin.Value) && (int.Parse(mas[8]) <=

rimmax.Value))

//если значение цены в текстовом файле меньше или равно

максимальному выбранному значинию и больше или равно

минимальному значению...то

{

int abs1 = 0;xenon1 = 0;airbag1 = 0;esp1 = 0;security1 = 0;washheadlight1 = 0;

electricwindow1 = 0;memorydriver1 = 0;cruisecontrol1 = 0;parktronic1 = 0;leather1 = 0;mixed1 = 0;salon1 = 0;rain1 = 0;computer1 = 0;

//обнуляем все переменные, которые будут обозначать выбираемые

галочками параметры

if (abs.Checked==true) abs1 = 1;(xenon.Checked == true) xenon1 = 1;(airbag.Checked == true) airbag1 = 1;(esp.Checked == true) esp1 = 1;(security.Checked == true) security1 = 1;(washheadlight.Checked == true) washheadlight1 = 1;(electricwindow.Checked == true) electricwindow1 = 1;(memorydriver.Checked == true) memorydriver1 = 1;(cruisecontrol.Checked == true) cruisecontrol1 = 1;(parktronic.Checked == true) parktronic1 = 1;(rain.Checked == true) rain1 = 1;(computer.Checked == true) computer1 = 1;

//если галочка поставлена, то каждая переменная принимает значение 1

(comboBox2.Text == "Кожа")

//если будет выбрана кожаная обшивка салона

{= 0;//переменной, отвечающей за смешанную обшивку,

присваивается значение 0= 1;//переменной, отвечающей за кожаную обшивку,

присваивается значение 1

}(comboBox2.Text == "Смешанный")

//если будет выбрана смешанная обшивка салона

{= 1;//переменной, отвечающей за смешанную обшивку,

присваивается значение 1= 0;//переменной, отвечающей за кожаную обшивку,

присваивается значение 0

}(comboBox2.Text == "Не_имеет_значения")

{= 1;

}

((((int.Parse(mas[6]) == 0) || (int.Parse(mas[6]) > 1)) &&

(comboBox1.Text == "Механика")) || ((int.Parse(mas[6]) > 0) &&

(comboBox1.Text == "Автомат")) || ((comboBox1.Text ==

"Не_имеет_значения")))

//если в текстовом файле значение для коробки будет 0 или от 1 не

включительно до бесконечности, а текст в параметрах будет выбран

как "механика", либо от 1 включительно до бесконечности и

"Автомат", либо не выбран вообще, то

{((abs1 <= int.Parse(mas[9])) && (xenon1 <= int.Parse(mas[10])) &&

(airbag1 <= int.Parse(mas[11])) && (esp1 <= int.Parse(mas[12])) &&

(security1 <= int.Parse(mas[13])) && (washheadlight1 <=

int.Parse(mas[14])) && (electricwindow1 <= int.Parse(mas[15])) &&

(memorydriver1 <= int.Parse(mas[16])) && (cruisecontrol1 <=

int.Parse(mas[17])) && (parktronic1 <= int.Parse(mas[18])) && (rain1 <=

int.Parse(mas[21])) && (computer1 <= int.Parse(mas[22])) && (salon1 <=

int.Parse(mas[19]) + int.Parse(mas[20])) && (leather1 <=

int.Parse(mas[19])) && (mixed1 <= int.Parse(mas[20])))

//если значение параметров в текстовом файле совпадает или больше

значений выбранных параметров, то

{

((checkBox11.Checked==true) && (mas[7] == "Седан"))

spisok1.Add(spisok[i]);

//если выбранный тип кузова соответствует типу кузова в текстовом

файле, то добавляем автомобиль в новый список

else((checkBox12.Checked==true) && (mas[7] == "Внедорожник")).Add(spisok[i]);

((checkBox13.Checked==true) && (mas[7] == "Универсал")).Add(spisok[i]);

((checkBox14.Checked==true) && ((mas[7] == "Кабриолет")||(mas[7]

== "Родстер"))).Add(spisok[i]);

}

}

}

}

(spisok1.Count > 0)

//если в новом списке есть хотя бы 1 автомобиль

{sw=new StreamWriter("1.txt", false, Encoding.Default);(int i=0;i<spisok1.Count;i++)

{.WriteLine(spisok1[i].Brand + ";" + spisok1[i].Model + ";" +

spisok1[i].Year + ";" + spisok1[i].Price + ";" + spisok1[i].Engvolume + ";" +

spisok1[i].Engpower + ";" + spisok1[i].Gear + ";" + spisok1[i].Body + ";" +

spisok1[i].Rimsradius + ";" + spisok1[i].Abs + ";" + spisok1[i].Xenon + ";"

+ spisok1[i].Airbag + ";" + spisok1[i].Esp + ";" + spisok1[i].Security + ";" +

spisok1[i].Washheadlight + ";" + spisok1[i].Electricwindow + ";" +

spisok1[i].Memorydriver + ";" + spisok1[i].Cruisecontrol + ";" +

spisok1[i].Parktronic + ";" + spisok1[i].Leather + ";" + spisok1[i].Mixed +

";" + spisok1[i].Rain + ";" + spisok1[i].Computer);

//заносим данные из нового списка в другой текстовый файл

}.Close();//закрываем поток записи

.Result = new Result();

Program.Result.Show();//показываем форму с выводом результата

поиска.Hide();//закрываем данную форму

}MessageBox.Show("К сожалению, по Вашему запросу ничего не

найдено. Попробуйте расширить диапазоны, или указать другие

параметры");

//если в новом списке нет ни одного автомобиля, выводим сообщение

об ошибке

}

}

}

Файл Result.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO;System.Collections;System.Runtime.Serialization;System.Runtime.Serialization.Formatters.Binary;

Гайчук_А.С._173_1_

{partial class Result : Form

{DataGridViewTextBoxColumn Column1;DataGridViewTextBoxColumn Column2;DataGridViewTextBoxColumn Column3;DataGridViewTextBoxColumn Column4;DataGridViewTextBoxColumn Column5;DataGridViewTextBoxColumn Column6;DataGridViewTextBoxColumn Column7;DataGridViewTextBoxColumn Column8;DataGridViewTextBoxColumn Column9;DataGridViewTextBoxColumn Column10;DataGridViewTextBoxColumn Column11;DataGridViewTextBoxColumn Column12;DataGridViewTextBoxColumn Column13;DataGridViewTextBoxColumn Column14;DataGridViewTextBoxColumn Column15;DataGridViewTextBoxColumn Column16;DataGridViewTextBoxColumn Column17;DataGridViewTextBoxColumn Column18;DataGridViewTextBoxColumn Column19;DataGridViewTextBoxColumn Column20;DataGridViewTextBoxColumn Column21;DataGridViewTextBoxColumn Column22;DataGridViewTextBoxColumn Column23;Button button1;Button button2;DataGridView Table;

Result()

{();= new Size(1000, 526);= new Size(1000, 526);

}

void Table_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

}

void InitializeComponent()

{.Table = new System.Windows.Forms.DataGridView();.Column1 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column2 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column3 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column4 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column5 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column6 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column7 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column8 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column9 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column10 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column11 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column12 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column13 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column14 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column15 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column16 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column17 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column18 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column19 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column20 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column21 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column22 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.Column23 = new

System.Windows.Forms.DataGridViewTextBoxColumn();.button1 = new System.Windows.Forms.Button();.button2 = new System.Windows.Forms.Button();

((System.ComponentModel.ISupportInitialize)(this.Table)).BeginInit();.SuspendLayout();

//

// Table

//.Table.BackgroundColor = System.Drawing.Color.WhiteSmoke;.Table.ColumnHeadersHeightSizeMode =

System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.Au;.Table.Columns.AddRange(new

System.Windows.Forms.DataGridViewColumn[] {.Column1,.Column2,.Column3,.Column4,.Column5,.Column6,.Column7,.Column8,.Column9,.Column10,.Column11,.Column12,.Column13,.Column14,.Column15,.Column16,.Column17,.Column18,.Column19,.Column20,.Column21,.Column22,.Column23});.Table.GridColor = System.Drawing.Color.DarkRed;.Table.Location = new System.Drawing.Point(-1, -1);.Table.Name = "Table";.Table.Size = new System.Drawing.Size(898, 246);.Table.TabIndex = 0;

//

// Column1

//.Column1.HeaderText = "Марка";.Column1.Name = "Column1";

//

// Column2

//.Column2.HeaderText = "Модель";.Column2.Name = "Column2";

//

// Column3

//.Column3.HeaderText = "Год";.Column3.Name = "Column3";

//

// Column4

//.Column4.HeaderText = "Цена";.Column4.Name = "Column4";

//

// Column5

//.Column5.HeaderText = "Объем двигателя";.Column5.Name = "Column5";

//

// Column6

//.Column6.HeaderText = "Мощность двигателя";.Column6.Name = "Column6";

//

// Column7

//.Column7.HeaderText = "КПП";.Column7.Name = "Column7";

//

// Column8

//.Column8.HeaderText = "Тип кузова";.Column8.Name = "Column8";

//

// Column9

//.Column9.HeaderText = "Радиус дисков";.Column9.Name = "Column9";

//

// Column10

//.Column10.HeaderText = "Антиблокировочная система";.Column10.Name = "Column10";.Column10.Width = 120;

//

// Column11

//.Column11.HeaderText = "Ксеноновые фары";.Column11.Name = "Column11";

//

// Column12

//

this.Column12.HeaderText = "Подушки безопасности";

this.Column12.Name = "Column12";

//

// Column13

//

// Column14

//.Column14.HeaderText = "Охранная система+центральный замок";

this.Column14.Name = "Column14";.Column14.Width = 140;

//

// Column15

//.Column15.HeaderText = "Омыватель передних фар";.Column15.Name = "Column15";

//

// Column16

//.Column16.HeaderText = "Электростеклоподъемники";.Column16.Name = "Column16";.Column16.Width = 150;

//

// Column17

//.Column17.HeaderText = "Регулировка сиденья водителя с памятью";.Column17.Name = "Column17";.Column17.Width = 130;

//

// Column18

//.Column18.HeaderText = "Круиз контроль";.Column18.Name = "Column18";

//

// Column19

//.Column19.HeaderText = "Парковочный ассистент";.Column19.Name = "Column19";

//

// Column20

//.Column20.HeaderText = "Кожаный салон";.Column20.Name = "Column20";

//

// Column21

//.Column21.HeaderText = "Смешанный салон";.Column21.Name = "Column21";

//

// Column22

//.Column22.HeaderText = "Датчик дождя";.Column22.Name = "Column22";

//

// Column23

//

this.Column23.HeaderText = "Бортовой компьютер";

this.Column23.Name = "Column23";

//

// button1

//.button1.Font = new System.Drawing.Font("Microsoft Sans Serif",

9.75F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));.button1.ForeColor = System.Drawing.Color.DarkRed;.button1.Location = new System.Drawing.Point(26, 417);.button1.Name = "button1";.button1.Size = new System.Drawing.Size(110, 50);.button1.TabIndex = 1;.button1.Text = "Выход";.button1.UseVisualStyleBackColor = true;.button1.Click += new System.EventHandler(this.button1_Click);

//

// button2

//.button2.Font = new System.Drawing.Font("Microsoft Sans Serif",

9.75F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));.button2.ForeColor = System.Drawing.Color.DarkRed;.button2.Location = new System.Drawing.Point(748, 417);.button2.Name = "button2";.button2.Size = new System.Drawing.Size(117, 50);.button2.TabIndex = 2;.button2.Text = "Начать новый поиск";.button2.UseVisualStyleBackColor = true;.button2.Click += new System.EventHandler(this.button2_Click_1);

//

// Result

//.ClientSize = new System.Drawing.Size(897, 490);.ControlBox = false;.Controls.Add(this.button2);.Controls.Add(this.button1);.Controls.Add(this.Table);.Name = "Result";.Load += new System.EventHandler(this.Result_Load_1);

((System.ComponentModel.ISupportInitialize)(this.Table)).EndInit();.ResumeLayout(false);

}

void button2_Click_1(object sender, EventArgs e)

{.Search.Show();.Close();

}

void button1_Click(object sender, EventArgs e)

{(MessageBox.Show("Вы действительно хотите покинуть программу?",

"Выход", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == .Yes)

{.Close();.Search.Close();.Start.Close();

}

}

void Result_Load_1(object sender, EventArgs e)

{<Avto> spisok = new List<Avto>();//создаем список типа Avtosr = new StreamReader("1.txt",

Encoding.Default);//открываем поток для считывания из текстового

файла 1.txt

string str = " ";//задаем строковую переменную для считывания из файлаa;//задаем переменную типа Avto для считывания из файла[] mas = new string[23];//создаем одномерный массив из 23

элементов для считывания(!sr.EndOfStream)//считываем до тех пор, пока не дойдем до конца

текста в текстовом файле

{= sr.ReadLine();//каждую строку считываем отдельно= str.Split(';');//разделяем эту строку через ";" на элементы, которые

становятся элементами массива

a = new Avto(mas[0], mas[1], int.Parse(mas[2]), int.Parse(mas[3]),

double.Parse(mas[4]), int.Parse(mas[5]), int.Parse(mas[6]), mas[7],

int.Parse(mas[8]), int.Parse(mas[9]), int.Parse(mas[10]), int.Parse(mas[11]),

int.Parse(mas[12]), int.Parse(mas[13]), int.Parse(mas[14]),

int.Parse(mas[15]), int.Parse(mas[16]), int.Parse(mas[17]),

int.Parse(mas[18]), int.Parse(mas[19]), int.Parse(mas[20]),

int.Parse(mas[21]), int.Parse(mas[22]));

spisok.Add(a);//добавляем в список автомобиль

}.Close();//закрываем поток считыванияsr2 = new StreamReader("1.txt", .Default);//открываем поток считывания для того, чтобы

записать в список ВСЕ автомобили

string[][] mas2 = new string[spisok.Count][];(int i = 0; i < spisok.Count; i++)

{= sr2.ReadLine();[i] = str.Split(';');

}.Close();//закрываем поток считывания(int i = 0; i < spisok.Count; i++)

Table.Rows.Add();//добавляем пустые строчки для последующего

занесения в них информации об автомобилях

for (int i = 0; i < spisok.Count; i++)

{= mas2[i];[0, i].Value = mas[0];//в каждую ячейку таблицы заносим

соответствующую информацию об автомобилях

Table[1, i].Value = mas[1];[2, i].Value = int.Parse(mas[2]);[3, i].Value = int.Parse(mas[3]);[4, i].Value = double.Parse(mas[4]);[5, i].Value = int.Parse(mas[5]);

if (int.Parse(mas[6]) > 1) Table[6, i].Value = "Механика; автомат";//если в

текстовом файле цифра, обозначающая тип коробки передач, больше 1,

то в таблице выводится информация о том, что есть данные модели и с

механической, и с автоматической коробками передач(int.Parse(mas[6]) == 1) Table[6, i].Value = "Автомат";//если в

текстовом файле цифра, обозначающая тип коробки передач, равна 1,

то в таблице выводится информация о том, что данные модели

продаются только с автоматической коробкой передач(int.Parse(mas[6]) == 0) Table[6, i].Value = "Механика";//если в

текстовом файле цифра, обозначающая тип коробки передач, равна 0,

то в таблице выводится информация о том, что данные модели

продаются только с механической коробкой передач

Table[7, i].Value = mas[7];[8, i].Value = int.Parse(mas[8]);

if (int.Parse(mas[9]) == 1) Table[9, i].Value = "Есть"; else Table[9, i].Value

= "Нет";//если в текстовом файле у данного критерия 1, то в таблице

выводится, что этот параметр ести, если 0 - нет

if (int.Parse(mas[10]) == 1) Table[10, i].Value = "Есть"; else Table[10,

i].Value = "Нет";(int.Parse(mas[11]) == 1) Table[11, i].Value = "Есть"; else Table[11,

i].Value = "Нет";(int.Parse(mas[12]) == 1) Table[12, i].Value = "Есть"; else Table[12,

i].Value = "Нет";(int.Parse(mas[13]) == 1) Table[13, i].Value = "Есть"; else Table[13,

i].Value = "Нет";(int.Parse(mas[14]) == 1) Table[14, i].Value = "Есть"; else Table[14,

i].Value = "Нет";(int.Parse(mas[15]) == 1) Table[15, i].Value = "Есть"; else Table[15,

i].Value = "Нет";(int.Parse(mas[16]) == 1) Table[16, i].Value = "Есть"; else Table[16,

i].Value = "Нет";(int.Parse(mas[17]) == 1) Table[17, i].Value = "Есть"; else Table[17,

i].Value = "Нет";(int.Parse(mas[18]) == 1) Table[18, i].Value = "Есть"; else Table[18,

i].Value = "Нет";(int.Parse(mas[19]) == 1) Table[19, i].Value = "Есть"; else Table[19,

i].Value = "Нет";(int.Parse(mas[20]) == 1) Table[20, i].Value = "Есть"; else Table[20,

i].Value = "Нет";(int.Parse(mas[21]) == 1) Table[21, i].Value = "Есть"; else Table[21,

i].Value = "Нет";(int.Parse(mas[22]) == 1) Table[22, i].Value = "Есть"; else Table[22,

i].Value = "Нет";

}

}

}

}

Файл Start.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;

Гайчук_А.С._173_1_

{partial class Start : Form

{

void InitializeComponent()

{.ComponentModel.ComponentResourceManager resources = new

System.ComponentModel.ComponentResourceManager(typeof(Start));.label1 = new System.Windows.Forms.Label();.button1 = new System.Windows.Forms.Button();.button2 = new System.Windows.Forms.Button();.button3 = new System.Windows.Forms.Button();.pictureBox4 = new System.Windows.Forms.PictureBox();.pictureBox3 = new System.Windows.Forms.PictureBox();.pictureBox2 = new System.Windows.Forms.PictureBox();.pictureBox1 = new System.Windows.Forms.PictureBox();

((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(

);

((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(

);

((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(

);

((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(

);.SuspendLayout();

//

// label1

//.label1.AutoSize = true;.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,

((byte)(204)));.label1.ForeColor = System.Drawing.Color.DarkRed;.label1.Location = new System.Drawing.Point(2, 23);.label1.Name = "label1";.label1.Size = new System.Drawing.Size(783, 64);.label1.TabIndex = 0;.label1.Text = resources.GetString("label1.Text");.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

//

// button1

//.button1.Font = new System.Drawing.Font("Microsoft Sans Serif",

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));.button1.ForeColor = System.Drawing.Color.DarkRed;.button1.Location = new System.Drawing.Point(50, 343);.button1.Name = "button1";.button1.Size = new System.Drawing.Size(88, 51);.button1.TabIndex = 1;.button1.Text = "Выход";.button1.UseVisualStyleBackColor = true;.button1.Click += new System.EventHandler(this.button1_Click_1);

//

// button2

//.button2.Font = new System.Drawing.Font("Microsoft Sans Serif",

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));.button2.ForeColor = System.Drawing.Color.DarkRed;.button2.Location = new System.Drawing.Point(318, 343);.button2.Name = "button2";.button2.Size = new System.Drawing.Size(134, 51);.button2.TabIndex = 2;.button2.Text = "Сведения об авторе";.button2.UseVisualStyleBackColor = true;.button2.Click += new System.EventHandler(this.button2_Click_1);

//

// button3

//.button3.Font = new System.Drawing.Font("Microsoft Sans Serif",

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));.button3.ForeColor = System.Drawing.Color.DarkRed;.button3.Location = new System.Drawing.Point(643, 343);.button3.Name = "button3";.button3.Size = new System.Drawing.Size(93, 51);.button3.TabIndex = 3;.button3.Text = "Далее";.button3.UseVisualStyleBackColor = true;.button3.Click += new System.EventHandler(this.button3_Click_1);

//

// pictureBox4

//.pictureBox4.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.порш;.pictureBox4.Location = new System.Drawing.Point(603, 161);.pictureBox4.Name = "pictureBox4";.pictureBox4.Size = new System.Drawing.Size(156, 101);.pictureBox4.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;.pictureBox4.TabIndex = 7;.pictureBox4.TabStop = false;

//

// pictureBox3

//.pictureBox3.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.мерс;.pictureBox3.Location = new System.Drawing.Point(416, 161);.pictureBox3.Name = "pictureBox3";.pictureBox3.Size = new System.Drawing.Size(156, 101);.pictureBox3.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;.pictureBox3.TabIndex = 6;.pictureBox3.TabStop = false;

//

// pictureBox2

//.pictureBox2.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.бмв;.pictureBox2.Location = new System.Drawing.Point(225, 161);.pictureBox2.Name = "pictureBox2";.pictureBox2.Size = new System.Drawing.Size(156, 101);.pictureBox2.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;.pictureBox2.TabIndex = 5;.pictureBox2.TabStop = false;

//

// pictureBox1

//.pictureBox1.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.ауди;.pictureBox1.Location = new System.Drawing.Point(34, 161);.pictureBox1.Name = "pictureBox1";.pictureBox1.Size = new System.Drawing.Size(156, 101);.pictureBox1.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;.pictureBox1.TabIndex = 4;.pictureBox1.TabStop = false;

//

// Start

//.BackColor = System.Drawing.SystemColors.Window;.ClientSize = new System.Drawing.Size(797, 460);.ControlBox = false;.Controls.Add(this.pictureBox4);.Controls.Add(this.pictureBox3);.Controls.Add(this.pictureBox2);.Controls.Add(this.pictureBox1);.Controls.Add(this.button3);.Controls.Add(this.button2);.Controls.Add(this.button1);.Controls.Add(this.label1);.Name = "Start";

((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();.ResumeLayout(false);.PerformLayout();

}

Button button1;Button button2;Button button3;PictureBox pictureBox1;PictureBox pictureBox2;PictureBox pictureBox3;PictureBox pictureBox4;Label label1;

Start()

{();= new Size(825, 450);= new Size(825, 450);

}

void button2_Click_1(object sender, EventArgs e)//при нажатии на

кнопку "Информация об авторе" будет выведено диалоговое окно

{.Show(" Гайчук Артем Сергеевич \n temuss@yandex.ru \n

+7(915)302-06-90 \n НИУ-ВШЭ, факультет Бизнес - Информатики \n

год\n\n Вся имеющаяся в программе информация взята с сайта: \n ://cars.auto.ru/");

}

void button1_Click_1(object sender, EventArgs e)//при нажатии на

кнопку "Выход" будет выведено диалоговое окно

{(MessageBox.Show("Вы действительно хотите покинуть программу?",

"Выход", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==

DialogResult.Yes).Close();//если на поставленный вопрос пользователь ответит "Да",

произойдет выход из программы, в другом случае диалоговое окно

закроется

}

void button3_Click_1(object sender, EventArgs e)//при нажатии на

кнопку "Далее" произойдет следующее:

{.Search = new Search();.Search.Show(); //будет выведено окно выбора параметров для

искомых автомобилей.Hide();//будет закрыто окно приветствия

}

}

}

Файл Program.cs

using System;System.Collections.Generic;System.Linq;System.Windows.Forms;

Гайчук_А.С._173_1_

{class Program

{

/// <summary>

/// The main entry point for the application.

/// </summary>

///

static Search Search;static Result Result;static Start Start;

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);

.Search = new Search();.Result = new Result();.Start = new Start();.Run(Program.Start);

}

}

}

Похожие работы на - Программа анализа комплектаций автомобилей

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!