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

Создание информационно-поисковой системы для реализации подержанных автомобилей. Функции и структура приложения; диаграмма классов и варианты использования. Разработка интерфейса пользователя. Исходный код программы, его распределение по файлам проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 31.05.2013
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

Тема работы:

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

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

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

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

Оглавление:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Структура приложения

3.1 Диаграмма классов

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

3.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. Взаимодействие частей приложения (диаграмма кооперации)

Размещено на http://www.allbest.ru/

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 с.

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

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

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

Приложение

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

Файл Avto.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

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

{

[Serializable]

public class Avto

{

public int Abs;//абс

public string Brand;//марка

public string Model;//модель

public int Year;//год выпуска

public int Security;//Охранная система + центральный замок

public int Airbag;//подушки

public int Esp;//Антипробуксовочная система

public int Xenon;//ксенон

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

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

public int Cruisecontrol;//круиз контроль

public int Washheadlight;//омыватель фар

public int Parktronic;//парктроник

public int Leather;//кожаный салон

public int Computer;//бортовой компьютер

public int Rain;//датчик дождя

public int Gear;//трансмиссия

public double Engvolume;//обьем двигателя

public int Engpower;//мощность двигателя

public int Rimsradius;//диски

public int Price;//цена

public string Body;//тип кузова

public int Mixed;//Смешанный салон

public 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)

{

this.Abs = Abs;

this.Body = Body;

this.Airbag = Airbag;

this.Esp = Esp;

this.Computer = Computer;

this.Cruisecontrol = Cruisecontrol;

this.Engvolume = Engvolume;

this.Xenon = Xenon;

this.Electricwindow = Electricwindow;

this.Gear = Gear;

this.Security=Security;

this.Leather = Leather;

this.Rain = Rain;

this.Brand = Brand;

this.Washheadlight = Washheadlight;

this.Model = Model;

this.Year = Year;

this.Parktronic = Parktronic;

this.Engpower = Engpower;

this.Price = Price;

this.Memorydriver = Memorydriver;

this.Rimsradius = Rimsradius;

this.Mixed = Mixed;

}

}

}

Файл Form1.cs

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;

using System.IO;

using System.Collections;

using System.Runtime.Serialization;

using System.Runtime.Serialization.Formatters.Binary;

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

{

public partial class Search : Form

{

public Search()

{

InitializeComponent();

MinimumSize = new Size(1000, 636);

MaximumSize = new Size(1000, 636);

}

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

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

{

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

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

DialogResult.Yes)

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

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

{

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

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

}

}

private void Search_Load(object sender, EventArgs e)

{

}

private void button2_Click_1(object sender, EventArgs e)

{

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

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

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

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

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

List<Avto> spisok = new List<Avto>(); //формируем список типа Avto

StreamReader sr = new StreamReader("Car.txt",

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

файла Car.txt

string str = " ";//формируем строковую переменную для считывания

Avto a;//формируем переменную типа Avto для считывания

string[] mas = new string[23];//задаем одномерный массив из 23

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

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

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

{

str = sr.ReadLine();//считываем по одной строке из текстового файла

mas = 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);//добавляем автомобиль в список

}

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

StreamReader sr2=new StreamReader("Car.txt",Encoding.Default);//еще

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

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

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

string[][] mas2 = new string[spisok.Count][];

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

{

str=sr2.ReadLine();

mas2[i] = str.Split(';');

}

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

List<Avto> spisok1=new List<Avto>();

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

{

mas = mas2[i];

if ((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;

int xenon1 = 0;

int airbag1 = 0;

int esp1 = 0;

int security1 = 0;

int washheadlight1 = 0;

int electricwindow1 = 0;

int memorydriver1 = 0;

int cruisecontrol1 = 0;

int parktronic1 = 0;

int leather1 = 0;

int mixed1 = 0;

int salon1 = 0;

int rain1 = 0;

int computer1 = 0;

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

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

if (abs.Checked==true) abs1 = 1;

if (xenon.Checked == true) xenon1 = 1;

if (airbag.Checked == true) airbag1 = 1;

if (esp.Checked == true) esp1 = 1;

if (security.Checked == true) security1 = 1;

if (washheadlight.Checked == true) washheadlight1 = 1;

if (electricwindow.Checked == true) electricwindow1 = 1;

if (memorydriver.Checked == true) memorydriver1 = 1;

if (cruisecontrol.Checked == true) cruisecontrol1 = 1;

if (parktronic.Checked == true) parktronic1 = 1;

if (rain.Checked == true) rain1 = 1;

if (computer.Checked == true) computer1 = 1;

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

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

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

{

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

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

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

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

}

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

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

{

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

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

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

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

}

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

{

salon1 = 1;

}

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

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

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

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

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

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

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

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

{

if ((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])))

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

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

{

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

spisok1.Add(spisok[i]);

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

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

else

if ((checkBox12.Checked==true) && (mas[7] == "Внедорожник"))

spisok1.Add(spisok[i]);

else

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

spisok1.Add(spisok[i]);

else

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

== "Родстер")))

spisok1.Add(spisok[i]);

}

}

}

}

if (spisok1.Count > 0)

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

{

StreamWriter sw=new StreamWriter("1.txt", false, Encoding.Default);

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

{

sw.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);

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

}

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

Program.Result = new Result();

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

поиска

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

}

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

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

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

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

об ошибке

}

}

}

Файл Result.cs

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;

using System.IO;

using System.Collections;

using System.Runtime.Serialization;

using System.Runtime.Serialization.Formatters.Binary;

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

{

public partial class Result : Form

{

private DataGridViewTextBoxColumn Column1;

private DataGridViewTextBoxColumn Column2;

private DataGridViewTextBoxColumn Column3;

private DataGridViewTextBoxColumn Column4;

private DataGridViewTextBoxColumn Column5;

private DataGridViewTextBoxColumn Column6;

private DataGridViewTextBoxColumn Column7;

private DataGridViewTextBoxColumn Column8;

private DataGridViewTextBoxColumn Column9;

private DataGridViewTextBoxColumn Column10;

private DataGridViewTextBoxColumn Column11;

private DataGridViewTextBoxColumn Column12;

private DataGridViewTextBoxColumn Column13;

private DataGridViewTextBoxColumn Column14;

private DataGridViewTextBoxColumn Column15;

private DataGridViewTextBoxColumn Column16;

private DataGridViewTextBoxColumn Column17;

private DataGridViewTextBoxColumn Column18;

private DataGridViewTextBoxColumn Column19;

private DataGridViewTextBoxColumn Column20;

private DataGridViewTextBoxColumn Column21;

private DataGridViewTextBoxColumn Column22;

private DataGridViewTextBoxColumn Column23;

private Button button1;

private Button button2;

private DataGridView Table;

public Result()

{

InitializeComponent();

MinimumSize = new Size(1000, 526);

MaximumSize = new Size(1000, 526);

}

private void Table_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

}

private void InitializeComponent()

{

this.Table = new System.Windows.Forms.DataGridView();

this.Column1 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column2 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column3 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column4 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column5 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column6 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column7 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column8 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column9 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column10 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column11 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column12 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column13 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column14 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column15 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column16 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column17 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column18 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column19 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column20 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column21 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column22 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.Column23 = new

System.Windows.Forms.DataGridViewTextBoxColumn();

this.button1 = new System.Windows.Forms.Button();

this.button2 = new System.Windows.Forms.Button();

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

this.SuspendLayout();

//

// Table

//

this.Table.BackgroundColor = System.Drawing.Color.WhiteSmoke;

this.Table.ColumnHeadersHeightSizeMode =

System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.Au

toSize;

this.Table.Columns.AddRange(new

System.Windows.Forms.DataGridViewColumn[] {

this.Column1,

this.Column2,

this.Column3,

this.Column4,

this.Column5,

this.Column6,

this.Column7,

this.Column8,

this.Column9,

this.Column10,

this.Column11,

this.Column12,

this.Column13,

this.Column14,

this.Column15,

this.Column16,

this.Column17,

this.Column18,

this.Column19,

this.Column20,

this.Column21,

this.Column22,

this.Column23});

this.Table.GridColor = System.Drawing.Color.DarkRed;

this.Table.Location = new System.Drawing.Point(-1, -1);

this.Table.Name = "Table";

this.Table.Size = new System.Drawing.Size(898, 246);

this.Table.TabIndex = 0;

//

// Column1

//

this.Column1.HeaderText = "Марка";

this.Column1.Name = "Column1";

//

// Column2

//

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

this.Column2.Name = "Column2";

//

// Column3

//

this.Column3.HeaderText = "Год";

this.Column3.Name = "Column3";

//

// Column4

//

this.Column4.HeaderText = "Цена";

this.Column4.Name = "Column4";

//

// Column5

//

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

this.Column5.Name = "Column5";

//

// Column6

//

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

this.Column6.Name = "Column6";

//

// Column7

//

this.Column7.HeaderText = "КПП";

this.Column7.Name = "Column7";

//

// Column8

//

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

this.Column8.Name = "Column8";

//

// Column9

//

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

this.Column9.Name = "Column9";

//

// Column10

//

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

this.Column10.Name = "Column10";

this.Column10.Width = 120;

//

// Column11

//

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

this.Column11.Name = "Column11";

//

// Column12

//

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

this.Column12.Name = "Column12";

//

// Column13

//

this.Column13.HeaderText = "Антипробуксовочная система";

this.Column13.Name = "Column13";

this.Column13.Width = 120;

//

// Column14

//

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

this.Column14.Name = "Column14";

this.Column14.Width = 140;

//

// Column15

//

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

this.Column15.Name = "Column15";

//

// Column16

//

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

this.Column16.Name = "Column16";

this.Column16.Width = 150;

//

// Column17

//

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

this.Column17.Name = "Column17";

this.Column17.Width = 130;

//

// Column18

//

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

this.Column18.Name = "Column18";

//

// Column19

//

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

this.Column19.Name = "Column19";

//

// Column20

//

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

this.Column20.Name = "Column20";

//

// Column21

//

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

this.Column21.Name = "Column21";

//

// Column22

//

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

this.Column22.Name = "Column22";

//

// Column23

//

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

this.Column23.Name = "Column23";

//

// button1

//

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

9.75F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));

this.button1.ForeColor = System.Drawing.Color.DarkRed;

this.button1.Location = new System.Drawing.Point(26, 417);

this.button1.Name = "button1";

this.button1.Size = new System.Drawing.Size(110, 50);

this.button1.TabIndex = 1;

this.button1.Text = "Выход";

this.button1.UseVisualStyleBackColor = true;

this.button1.Click += new System.EventHandler(this.button1_Click);

//

// button2

//

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

9.75F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));

this.button2.ForeColor = System.Drawing.Color.DarkRed;

this.button2.Location = new System.Drawing.Point(748, 417);

this.button2.Name = "button2";

this.button2.Size = new System.Drawing.Size(117, 50);

this.button2.TabIndex = 2;

this.button2.Text = "Начать новый поиск";

this.button2.UseVisualStyleBackColor = true;

this.button2.Click += new System.EventHandler(this.button2_Click_1);

//

// Result

//

this.ClientSize = new System.Drawing.Size(897, 490);

this.ControlBox = false;

this.Controls.Add(this.button2);

this.Controls.Add(this.button1);

this.Controls.Add(this.Table);

this.Name = "Result";

this.Load += new System.EventHandler(this.Result_Load_1);

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

this.ResumeLayout(false);

}

private void button2_Click_1(object sender, EventArgs e)

{

Program.Search.Show();

this.Close();

}

private void button1_Click(object sender, EventArgs e)

{

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

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

DialogResult.Yes)

{

this.Close();

Program.Search.Close();

Program.Start.Close();

}

}

private void Result_Load_1(object sender, EventArgs e)

{

List<Avto> spisok = new List<Avto>();//создаем список типа Avto

StreamReader sr = new StreamReader("1.txt",

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

файла 1.txt

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

Avto a;//задаем переменную типа Avto для считывания из файла

string[] mas = new string[23];//создаем одномерный массив из 23

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

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

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

{

str = sr.ReadLine();//каждую строку считываем отдельно

mas = 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);//добавляем в список автомобиль

}

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

StreamReader sr2 = new StreamReader("1.txt",

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

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

string[][] mas2 = new string[spisok.Count][];

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

{

str = sr2.ReadLine();

mas2[i] = str.Split(';');

}

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

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

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

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

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

{

mas = mas2[i];

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

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

Table[1, i].Value = mas[1];

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

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

Table[4, i].Value = double.Parse(mas[4]);

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

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

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

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

механической, и с автоматической коробками передач

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

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

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

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

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

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

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

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

Table[7, i].Value = mas[7];

Table[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 = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

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

i].Value = "Нет";

}

}

}

}

Файл Start.cs

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 Гайчук_А.С._173_1_

{

public partial class Start : Form

{

private void InitializeComponent()

{

System.ComponentModel.ComponentResourceManager resources = new

System.ComponentModel.ComponentResourceManager(typeof(Start));

this.label1 = new System.Windows.Forms.Label();

this.button1 = new System.Windows.Forms.Button();

this.button2 = new System.Windows.Forms.Button();

this.button3 = new System.Windows.Forms.Button();

this.pictureBox4 = new System.Windows.Forms.PictureBox();

this.pictureBox3 = new System.Windows.Forms.PictureBox();

this.pictureBox2 = new System.Windows.Forms.PictureBox();

this.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(

);

this.SuspendLayout();

//

// label1

//

this.label1.AutoSize = true;

this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F,

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

((byte)(204)));

this.label1.ForeColor = System.Drawing.Color.DarkRed;

this.label1.Location = new System.Drawing.Point(2, 23);

this.label1.Name = "label1";

this.label1.Size = new System.Drawing.Size(783, 64);

this.label1.TabIndex = 0;

this.label1.Text = resources.GetString("label1.Text");

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

//

// button1

//

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

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));

this.button1.ForeColor = System.Drawing.Color.DarkRed;

this.button1.Location = new System.Drawing.Point(50, 343);

this.button1.Name = "button1";

this.button1.Size = new System.Drawing.Size(88, 51);

this.button1.TabIndex = 1;

this.button1.Text = "Выход";

this.button1.UseVisualStyleBackColor = true;

this.button1.Click += new System.EventHandler(this.button1_Click_1);

//

// button2

//

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

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));

this.button2.ForeColor = System.Drawing.Color.DarkRed;

this.button2.Location = new System.Drawing.Point(318, 343);

this.button2.Name = "button2";

this.button2.Size = new System.Drawing.Size(134, 51);

this.button2.TabIndex = 2;

this.button2.Text = "Сведения об авторе";

this.button2.UseVisualStyleBackColor = true;

this.button2.Click += new System.EventHandler(this.button2_Click_1);

//

// button3

//

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

11.25F, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(204)));

this.button3.ForeColor = System.Drawing.Color.DarkRed;

this.button3.Location = new System.Drawing.Point(643, 343);

this.button3.Name = "button3";

this.button3.Size = new System.Drawing.Size(93, 51);

this.button3.TabIndex = 3;

this.button3.Text = "Далее";

this.button3.UseVisualStyleBackColor = true;

this.button3.Click += new System.EventHandler(this.button3_Click_1);

//

// pictureBox4

//

this.pictureBox4.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.порш;

this.pictureBox4.Location = new System.Drawing.Point(603, 161);

this.pictureBox4.Name = "pictureBox4";

this.pictureBox4.Size = new System.Drawing.Size(156, 101);

this.pictureBox4.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;

this.pictureBox4.TabIndex = 7;

this.pictureBox4.TabStop = false;

//

// pictureBox3

//

this.pictureBox3.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.мерс;

this.pictureBox3.Location = new System.Drawing.Point(416, 161);

this.pictureBox3.Name = "pictureBox3";

this.pictureBox3.Size = new System.Drawing.Size(156, 101);

this.pictureBox3.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;

this.pictureBox3.TabIndex = 6;

this.pictureBox3.TabStop = false;

//

// pictureBox2

//

this.pictureBox2.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.бмв;

this.pictureBox2.Location = new System.Drawing.Point(225, 161);

this.pictureBox2.Name = "pictureBox2";

this.pictureBox2.Size = new System.Drawing.Size(156, 101);

this.pictureBox2.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;

this.pictureBox2.TabIndex = 5;

this.pictureBox2.TabStop = false;

//

// pictureBox1

//

this.pictureBox1.Image =

global::Гайчук_А.С._173_1_.Properties.Resources.ауди;

this.pictureBox1.Location = new System.Drawing.Point(34, 161);

this.pictureBox1.Name = "pictureBox1";

this.pictureBox1.Size = new System.Drawing.Size(156, 101);

this.pictureBox1.SizeMode =

System.Windows.Forms.PictureBoxSizeMode.Zoom;

this.pictureBox1.TabIndex = 4;

this.pictureBox1.TabStop = false;

//

// Start

//

this.BackColor = System.Drawing.SystemColors.Window;

this.ClientSize = new System.Drawing.Size(797, 460);

this.ControlBox = false;

this.Controls.Add(this.pictureBox4);

this.Controls.Add(this.pictureBox3);

this.Controls.Add(this.pictureBox2);

this.Controls.Add(this.pictureBox1);

this.Controls.Add(this.button3);

this.Controls.Add(this.button2);

this.Controls.Add(this.button1);

this.Controls.Add(this.label1);

this.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();

this.ResumeLayout(false);

this.PerformLayout();

}

private Button button1;

private Button button2;

private Button button3;

private PictureBox pictureBox1;

private PictureBox pictureBox2;

private PictureBox pictureBox3;

private PictureBox pictureBox4;

private Label label1;

public Start()

{

InitializeComponent();

MinimumSize = new Size(825, 450);

MaximumSize = new Size(825, 450);

}

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

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

{

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

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

2013 год\n\n Вся имеющаяся в программе информация взята с сайта: \n

http://cars.auto.ru/");

}

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

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

{

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

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

DialogResult.Yes)

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

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

закроется

}

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

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

{

Program.Search = new Search();

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

искомых автомобилей

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

}

}

}

Файл Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

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

{

static class Program

{

/// <summary>

/// The main entry point for the application.

/// </summary>

///

public static Search Search;

public static Result Result;

public static Start Start;

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Program.Search = new Search();

Program.Result = new Result();

Program.Start = new Start();

Application.Run(Program.Start);

}

}

}

Размещено на Allbest.ru


Подобные документы

  • Совместимость и преобразование типов данных. Создание информационно-поисковой системы на языке программирования Паскаль. Описание интерфейса, каждого блока программы "Картотека больных". Рассмотрение результатов работы программы, сортирования данных.

    курсовая работа [368,9 K], добавлен 18.05.2015

  • Диаграмма консольного приложения табулирования функции. Отличие консольного приложения и приложения и GUI. Диаграмма классов для JFrameи JPanel. Создание простейшего фрейма в Java. Компоновка элементов интерфейса внутри фрейма. Цикл обработки событий.

    лекция [693,8 K], добавлен 01.05.2014

  • Разработка технологии обработки информации, структуры и формы представления данных. Проектирование программных модулей. Блок-схема алгоритма и исходный код программы анализа арифметического выражения, синтаксического анализа простой программы на языке С.

    курсовая работа [2,4 M], добавлен 12.12.2011

  • Разработка программы для выполнения арифметических операций с комплексными числами. Разработка эскизного проекта. Диаграмма последовательностей и классов. Разработка и описание программы. Разработка программного кода и руководства пользователя.

    курсовая работа [1,2 M], добавлен 25.11.2011

  • Разработка проекта системы, программы, интерфейса взаимодействия пользователя с системой. Программная база для реализации проекта "Электронная администрация". Создание удобной среды для пользователей системы. Разработка форм входных и выходных данных.

    дипломная работа [3,9 M], добавлен 20.06.2012

  • Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.

    дипломная работа [869,8 K], добавлен 12.08.2017

  • Описание разрабатываемой программы с точки зрения пользователя. Диаграмма вариантов использования приложения. Объектное представление программы. Разработка класса корабля, прикладного окна и события but. Окно приложения с перемещающимися кораблями.

    курсовая работа [207,0 K], добавлен 05.04.2014

  • Описание разрабатываемой программы с точки зрения пользователя и программиста. Поэтапная разработка программной системы. Создание базы данных в Access. Разработка структуры классов. Создание структуры для хранения данных. Проектирование интерфейса.

    курсовая работа [1,4 M], добавлен 07.08.2013

  • Анализ моделируемого приложения и постановка задачи. Диаграмма прецедентов, деятельности объектов и состояния классов. Разработка приложения-игры, выбор языка программирования и среды для разработки проекта, интерфейс приложения и ресурсы проекта.

    курсовая работа [308,5 K], добавлен 14.10.2011

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.