Автор работы: Пользователь скрыл имя, 20 Июля 2015 в 18:55, курсовая работа
Разработать алгоритм и составить программу обработки списка данных «Гостиница», выполнив следующие этапы:
1. Представление (построение, создание) списка данных в виде линейного однонаправленного списка с элементами сложного типа
2. Выполнить удаление из исходного списка сведений о гостиницах, в которых нет свободных номеров
3. Выполнить перемещение в начало исходного списка сведений о пятизвёздочных гостиницах
cout<<"6.Skopirovat v Massiv"<<endl;
cout<<"7.Otobrazit Massiv"<<endl;
cout<<"8.Sortirovat Massiv"<<endl;
cout<<"9.Skopirovat iz Faila"<<endl;
cout<<"10.Nayti zapis' v spiske"<<endl;
cout<<"11.Udalenie otelei bez svobodnih nomerov"<<endl;
cout<<"12.Peremeshenie 5-ti zvezdochnih gostinic"<<endl;
cout<<"0.Vyhod"<<endl;
cout<<endl<<endl;
cout<<"Vyberite:_";
После запуска программы необходимо выбрать соответствующий пункт меню, путем ввода его номера с клавиатуры.
Выходные параметры программы: результатом работы программы являются списки гостиниц, представленные в табличной форме.
4.2 Руководство программиста
Данная программа написана с использованием языка Си++. Минимальное количество обрабатываемых данных ограничено (не менее 20). Данные вводятся клавиатуры . Данная программа состоит из основного блока и 12 подпрограмм.
Таблица 4.2.1 – Идентификаторы функции add_data
Переменная |
Тип |
Назначение |
i |
long |
Указывает номер записи в массиве |
n |
long |
Указывает на количество записей в массиве |
Таблица 4.2.2 – Идентификаторы функции delete_data
Переменная |
Тип |
Назначение |
i |
long |
Указывает номер удаляемой записи в массиве |
n |
long |
Указывает на количество записей в массиве |
j |
int |
Указывает номер удаляемого элемента |
Таблица 4.2.3 – Идентификаторы функции sp_copy_mas
Переменная |
Тип |
Назначение |
i |
long |
Указывает на количество записей в массиве |
n |
long |
Указывает номер записи в массиве |
Таблица 4.2.4 – Идентификаторы функции sort_mas
Переменная |
Тип |
Назначение |
i |
int |
Указывает на количество записей в массиве |
n |
long |
Указывает на номер записи в массиве |
j |
int |
Указывает на номер записи в массиве |
tmp |
int |
Переменная для копирования записи количества номеров |
c[j] |
char |
Переменная для копирования строк |
Таблица 4.2.5 – Идентификаторы функции show_mas
Переменная |
Тип |
Назначение |
i |
long |
Указывает на количество записей в массиве |
Таблица 4.2.6 – Идентификаторы функции fail
Переменная |
Тип |
Назначение |
i |
int |
Указывает номер записи в массиве |
n |
int |
Указывает на количество записей в массиве |
Таблица 4.2.7 – Идентификаторы функции find_data
Переменная |
Тип |
Назначение |
t |
long |
Указывает количество найденных записей |
Таблица 4.2.8 – Идентификаторы функции peremesh
Переменная |
Тип |
Назначение |
n |
int |
Указывает номер записи в массиве |
Таблица 4.2.9 – Идентификаторы функции udalenie
Переменная |
Тип |
Назначение |
n |
int |
Указывает номер записи в массиве |
5. Анализ результатов
Шаг 1. Запуск программы;
Шаг 2. Выбор пункта формирование списка (1);
Шаг 3. Ввод количества гостиниц (n=32)
Шаг 4. Ввод данных
Ожидаемый результат
Название |
Класс |
Общее количество мест |
Количество свободных мест |
Минимальная Цена |
Milana |
4 |
120 |
32 |
2000 |
Kinder |
3 |
130 |
22 |
200 |
GoGs |
5 |
550 |
36 |
5000 |
Finnish |
4 |
600 |
32 |
6000 |
Dobi |
3 |
250 |
65 |
400 |
Max |
3 |
100 |
22 |
400 |
Apple |
2 |
200 |
35 |
220 |
Evas |
4 |
500 |
12 |
1200 |
Fox |
2 |
45 |
11 |
500 |
Lelik |
2 |
30 |
10 |
120 |
Toto |
4 |
250 |
13 |
1300 |
Gomer |
1 |
15 |
2 |
100 |
Frank |
5 |
777 |
120 |
5000 |
Sandra |
3 |
450 |
35 |
4000 |
Rex |
4 |
600 |
36 |
6000 |
Toll |
1 |
50 |
21 |
200 |
Oleg |
1 |
30 |
25 |
100 |
Kira |
1 |
50 |
10 |
150 |
Ermak |
3 |
320 |
23 |
150 |
UFO |
5 |
750 |
32 |
6000 |
Polli |
5 |
450 |
65 |
3500 |
GHOST |
5 |
120 |
32 |
5000 |
jIjI |
3 |
320 |
23 |
4500 |
Kiska |
4 |
120 |
32 |
2000 |
Gosha |
2 |
250 |
21 |
1200 |
Alex |
4 |
300 |
23 |
5500 |
Lumos |
4 |
250 |
34 |
4600 |
Pappa |
3 |
330 |
125 |
2000 |
Reg |
5 |
600 |
254 |
5500 |
Kollags |
2 |
120 |
0 |
100 |
Gagas |
1 |
20 |
1 |
80 |
Hippo |
4 |
450 |
125 |
2000 |
Полученный результат
Вывод: полученный результат совпал с ожидаемым.
Шаг 1. Выберем пункт копировать в файл (5);
Шаг 2. Проверка наличия данных в файле ftext_in.txt.
Вывод: данные сохранены в файле
Шаг 1. Выберем в меню пункт удаление (11);
Ожидаемый результат:
Название |
Класс |
Общее количество мест |
Количество свободных мест |
Минимальная Цена |
Milana |
4 |
120 |
32 |
2000 |
Kinder |
3 |
130 |
22 |
200 |
GoGs |
5 |
550 |
36 |
5000 |
Finnish |
4 |
600 |
32 |
6000 |
Dobi |
3 |
250 |
65 |
400 |
Max |
3 |
100 |
22 |
400 |
Apple |
2 |
200 |
35 |
220 |
Evas |
4 |
500 |
12 |
1200 |
Fox |
2 |
45 |
11 |
500 |
Lelik |
2 |
30 |
10 |
120 |
Toto |
4 |
250 |
13 |
1300 |
Gomer |
1 |
15 |
2 |
100 |
Frank |
5 |
777 |
120 |
5000 |
Sandra |
3 |
450 |
35 |
4000 |
Rex |
4 |
600 |
36 |
6000 |
Toll |
1 |
50 |
21 |
200 |
Oleg |
1 |
30 |
25 |
100 |
Kira |
1 |
50 |
10 |
150 |
Ermak |
3 |
320 |
23 |
150 |
UFO |
5 |
750 |
32 |
6000 |
Polli |
5 |
450 |
65 |
3500 |
GHOST |
5 |
120 |
32 |
5000 |
jIjI |
3 |
320 |
23 |
4500 |
Kiska |
4 |
120 |
32 |
2000 |
Gosha |
2 |
250 |
21 |
1200 |
Alex |
4 |
300 |
23 |
5500 |
Lumos |
4 |
250 |
34 |
4600 |
Pappa |
3 |
330 |
125 |
2000 |
Reg |
5 |
600 |
254 |
5500 |
Gagas |
1 |
20 |
1 |
80 |
Hippo |
4 |
450 |
125 |
2000 |
Полученный результат
Вывод: полученный результат совпал с ожидаемым.
Шаг 1. Выбрать в меню пункт перемещение (12)
Шаг 2. Перенести пятизвёздочные гостиницы в начало списка:
Следовательно, ожидаемый результат:
Название |
Класс |
Общее количество мест |
Количество свободных мест |
Минимальная Цена |
Polli |
5 |
450 |
65 |
3500 |
Frank |
5 |
777 |
120 |
5000 |
GHOST |
5 |
120 |
32 |
5000 |
Reg |
5 |
600 |
254 |
5500 |
UFO |
5 |
750 |
32 |
6000 |
GoGs |
5 |
550 |
36 |
5000 |
Milana |
4 |
120 |
32 |
2000 |
Kinder |
3 |
130 |
22 |
200 |
Finnish |
4 |
600 |
32 |
6000 |
Dobi |
3 |
250 |
65 |
400 |
Max |
3 |
100 |
22 |
400 |
Apple |
2 |
200 |
35 |
220 |
Evas |
4 |
500 |
12 |
1200 |
Fox |
2 |
45 |
11 |
500 |
Lelik |
2 |
30 |
10 |
120 |
Toto |
4 |
250 |
13 |
1300 |
Gomer |
1 |
15 |
2 |
100 |
Sandra |
3 |
450 |
35 |
4000 |
Rex |
4 |
600 |
36 |
6000 |
Toll |
1 |
50 |
21 |
200 |
Oleg |
1 |
30 |
25 |
100 |
Kira |
1 |
50 |
10 |
150 |
Ermak |
3 |
320 |
23 |
150 |
jIjI |
3 |
320 |
23 |
4500 |
Kiska |
4 |
120 |
32 |
2000 |
Gosha |
2 |
250 |
21 |
1200 |
Alex |
4 |
300 |
23 |
5500 |
Lumos |
4 |
250 |
34 |
4600 |
Pappa |
3 |
330 |
125 |
2000 |
Gagas |
1 |
20 |
1 |
80 |
Hippo |
4 |
450 |
125 |
2000 |