Обслуживание клиентов в бюро проката автомобилей C#

Задание на курсовую  работу

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

Предметная область - Обслуживание клиентов в бюро проката автомобилей

Метод хеширования - Закрытое хеширование с квадратичным опробованием

Метод сортировки - Пузырьковый

Вид списка- Циклический однонаправленный

Метод обхода дерева - Обратный

Алгоритм поиска слова в тексте - Боуера и Мура (БМ)

Обслуживание клиентов в бюро проката автомобилей

1. Информационная система для предметной области «Обслуживание клиентов в бюро проката автомобилей» должна осуществлять ввод, хранение, обработку и вывод данных о:

  • клиентах;
  • автомобилях, принадлежащих бюро проката;
  • выдаче на прокат и возврате автомобилей от клиентов.

2. Данные о каждом клиенте должны содержать:

  • № водительского удостоверения – строка формата «RR AA NNNNNN», где RR – код региона (цифры), AA – серия (буквы из следующего множества: А, В, Е, К, М, Н, О, Р, С, Т, У, Х), NNNNNN – порядковый номер удостоверения (цифры). Код, серия и номер отделяются друг от друга пробелами;
  • ФИО – строка;
  • Паспортные данные – строка;
  • Адрес – строка;

Примечание – длина строк (кроме № водительского удостоверения) определяется студентом самостоятельно.

3. Данные о клиентах должны быть организованны в виде АВЛ-дерева поиска, упорядоченного по «№ водительского удостоверения».

4. Данные о каждом автомобиле должны содержать:

  • Государственный регистрационный номер – строка формата «ANNNAA-NN», где N –цифра, A – буква из следующего множества: А, В, Е, К, М, Н, О, Р, С, Т, У, Х;
  • Марка – строка;
  • Цвет – строка;
  • Год выпуска – целое;
  • Признак наличия – логическое;

Примечание – длина строк (кроме «Государственный регистрационный номер») определяется студентом самостоятельно.

5. Данные об автомобилях должны быть организованны в виде хеш-таблицы, первичным ключом которой является «Государственный регистрационный номер». Метод хеширования определяется вариантом задания.

операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу.

6. Данные о выдаче на прокат или возврате автомобилей от клиентов должны содержать:

  • – строка, формат которой соответствует аналогичной строке в данных о клиентах;
  • Государственный регистрационный номер – строка, формат которой соответствует аналогичной строке в данных об автомобилях;
  • Дата выдачи - строка;
  • Дата возврата - строка.

Примечание – наличие в этих данных записи, содержащей в поле «№ водительского удостоверения» значение X и в поле «Государственный регистрационный номер» значение Y означает выдачу клиенту с номером водительского удостоверения X автомобиля с государственным регистрационным номером Y. Отсутствие такой записи означает, что клиенту с номером водительского удостоверения X не выдавался автомобиль с номером Y.

namespace RentAvto

{

    class BM

    {
        private static char[] SymbolOfX; //Таблица символов искомой строки 
        private static int[] ValueShift; //Таблица смещений для символов
        private static void ShiftBM(string x) //Процедура - формирование смещений
        {

            int j; //Счетчик
            int k = 0; //Счетчик
            bool fl; //Флаг
            SymbolOfX = new char[x.Length]; //Инициализация
            ValueShift = new int[x.Length]; //Инициализация
            //Цикл по искомой строке без последнего символа

            for (int i = x.Length - 2; i >= 0; i--)
            {
                fl = false; //Флаг
                j = 0; //Обнуление
                while ((j < k + 1) && (fl == false))
                {
                    if (SymbolOfX[j] == x[i]) fl = true;
                    j++;
                }

                if (fl == false)
                {
                    SymbolOfX[k] = x[i];
                    ValueShift[k] = x.Length - i - 1;
                    k++;
                }
            }
        }

        //Функция поиска алгоритмом БМ

        public static string search(string x, string s)
        {
            bool has, have; //Флаги
            int l, j, i; //Счетчики
            ShiftBM(x); //Вызов процедуры, формирубщей таблицу смещений
            string nom = ""; //Строка с номерами вхождений
            if (x.Length > s.Length) return nom;
            //Основной цикл по исходной строке
            for (i = 0; i < s.Length - x.Length + 1; i++)
            {
                j = x.Length - 1;
                have = true;
                //Проверка с последнего символа               
                while ((j >= 0) && (have == true))
                {
                    //Если не совпадает символ искомой и исходной
                    if (s[i + j] != x[j])
                    {
                        have = false;
                        //Если это последний символ
                        if (j == x.Length - 1)
                        {
                            l = 0;
                            has = false; //Флаг
                            //Поиск символа в таблице смещений
                            while ((l < x.Length) && (has == false))
                            {
                                //Если символ есть
                                if (s[i + j] == SymbolOfX[l])
                                {
                                    has = true; //Изменение флага
                                    i = i + ValueShift[l] - 1; //Сдвиг на величину
                                }
                                l++;
                            }
                            //Если не найден символ в таблице смещений
                            if (has == false)
                                //Сдвиг на величину искомой строки
                                i = i + x.Length - 1;
                        }
                    }
                   j--;
                }
                if (have == true)
                   nom = nom + Convert.ToString(i) + ", ";
            }
            //Если строка номеров не пустая
            if (nom != "")
            {
                nom = nom.Substring(0, nom.Length - 2); //Удаление последней запятой и пробела
            }
            return nom; //Возвращение результата поиска
        }
    }
}

Содержание архива

  • исходный код  на C# для Visual Studio
  • Требования к работе 

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Купить

1250,00 

(без учета комиссии 3,8 %)

RentAvto_1_02.rar
102662
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

klausms

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Обслуживание клиентов в бюро проката автомобилей C#
Программа создана в среде разработки Microsoft Visual Studio
Категория: Образование
Стоимость: 1250,00