Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CiLbBePMeH
1 / 1 / 0
Регистрация: 17.05.2012
Сообщений: 17
#1

Составить программу справочной службы аэропорта - C++

30.05.2012, 17:12. Просмотров 1141. Ответов 2
Метки нет (Все метки)

3.Составить программу справочной службы аэропорта. Структурный шаблон должен содержать пункт назначения, номер рейса, дату и время вылета, время в полете, стоимость билета, наличие билетов в кассе. Время прибытия в пункт назначения высчитывается программно.
По запросу пользователя предусмотреть вывод информации
-О рейсах до заданного пункта назначения с указанием времени билета, времени прибытия, номере рейса, наличие билетов и стоимости билета. Список отсортировать по времени вылета.
-Полное расписание самолетов,отсортированное в алфавитном порядке п опункту назначения
-поиск данных по номеру рейса,по дате вылета,по времени вылета.


сам код программы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#define MAX 512
#define shapka cout<<"|В№ | Пункт назначения   |Рейс| Д.вылета|В.вылета |В.полета|В.прибытия|  цена |наличие|"<<endl<<"|--+--------------------+-+-----+----------+--------------+-----+----+-------|"<<endl;
using namespace std;
struct dd_mm{
   int dd;
   int mm;
   };
   
struct hh_mm{
   int hh;
   int mm;
   };
 
struct air{
   char finish[30];
   int travel;
   struct dd_mm data;
   struct hh_mm tstart;
   struct hh_mm tfly;
   float price;
   char yes_no[2];
   }*help;
 
void sortABC(air help[], int size, int sort[])//Сортировка пузырьком по алфавиту
{
 int i, j; //Сортировка
 int temp;   
 for(i=0; i<size; i++)
    sort[i]=i;
 for(i=1; i<size; i++)
    {
    for (j=0; j<size-i; j++)
        {
        if (strcmp(help[sort[j]].finish,help[sort[j+1]].finish)>0)
           {
           temp=sort[j]; 
           sort[j]=sort[j+1];
           sort[j+1]=temp;
           }
        }
    }    
}
 
void sort123(air help[], int size, int sort[])//Сортировка пузырьком по времени
{
 int i, j; //Сортировка
 int temp;
 for(i=0; i<size; i++)
    sort[i]=i;
 for(i=1; i<size; i++)
    {
    for (j=0; j<size-i; j++)
        {
        if (help[sort[j+1]].tstart.hh>help[sort[j]].tstart.hh && help[sort[j+1]].tstart.mm>help[sort[j]].tstart.mm)
           {
           temp=sort[j]; 
           sort[j]=sort[j+1];
           sort[j+1]=temp;
           }
        }
    }    
}
 
void show(air help[], int i)
{
 cout<<"|"<<setw(2)<<i+1<<"|"<<setw(20)<<help[i].finish<<"|"<<setw(5)<<help[i].travel<<"|"<<setw(4)<<help[i].data.dd<<"."<<help[i].data.mm<<
 "|"<<setw(4)<<help[i].tstart.hh<<":"<<help[i].tstart.mm<<"|"<<setw(4)<<help[i].tfly.hh<<":"<<help[i].tfly.mm<<
 "|"<<setw(4)<<help[i].tfly.hh+help[i].tstart.hh<<":"<<help[i].tfly.mm+help[i].tstart.mm<<"|"<<setw(7)<<help[i].price<<"|"<<setw(3)<<help[i].yes_no<<"|"<<endl;     
}
   
int main()
{
 int i=0, j, n, size=0, kol=0, query;
 int *sort; 
 SetConsoleOutputCP(1251);
 SetConsoleCP(1251);
 
 while(n!=6)
      {
      cout<<"Главное меню программы:\n1. Вывести расписание вылетов\n2. Редактировать запрос\n3. поиск\n4. помощь\n5. выход\n";
      n=0;
      cin>>n;
      switch(n)
      {
      case 1: if (size!=0) {cout<<"Отсортировать по:\n1. Времени вылета\n2. Пункту назначения\n3. Назад\n";
                            cin>>n;
                            sort=new int[size];
                            while(n!=3)
                                 {
                                 switch(n)
                                 {
                                 case 1: sort123(help, size, sort);
                                 shapka 
                                         for(i=0; i<size; i++)
                                            {
                                            show(help, sort[i]); 
                                            }
                                         n=3;
                                         system("pause");
                                         break; 
                                 case 2: sortABC(help, size, sort);
                                 shapka
                                         for(i=0; i<size; i++)
                                            {
                                            show(help, sort[i]);      
                                            }
                                         n=3;
                                         break;
                                 case 3: break;
                                 default: cout<<"Неверный номер! "<<endl; system("pause");
                                 }      
                                 } 
                            }
                 else {cout<<"В данный момент вылетов в БД нет!"<<endl;  system("pause"); system("cls");}
              break;
      case 2: while(n!=3)
                   {
                   cout<<"Редактировать запрос:\n1. Ввод данных в запрос\n2. Очистить запрос\n3. Назад\n";
                   cin>>n; 
                   switch(n)
                   {
                   case 1: if (size==0) help=new air[MAX];  
                           i=size;
                           
                           while(n!=0)
                                {cout<<"Выведите значения для строки "<<i+1<<endl;
                                cout<<"Введите пункт назначения"<<endl;
                                cin>>help[i].finish;
                                do{
                                  cout<<"Введите номер рейса"<<endl;
                                  cin>>help[i].travel;
                                  } while(help[i].travel<0);
                                do{
                                  cout<<"Введите дату вылета(дд мм)"<<endl;
                                  cin>>help[i].data.dd>>help[i].data.mm;
                                  } while(help[i].data.dd<0 || help[i].data.dd>32 || help[i].data.mm<0 || help[i].data.mm>13);
                                do{
                                  cout<<"Введите время вылета(чч мм)"<<endl;
                                  cin>>help[i].tstart.hh>>help[i].tstart.mm;
                                  } while(help[i].tstart.hh<0 || help[i].tstart.hh>25 || help[i].tstart.mm<0 || help[i].tstart.mm>61);   
                                do{
                                  cout<<"Введите время полета(чч мм)"<<endl;
                                  cin>>help[i].tfly.hh>>help[i].tfly.mm;
                                  } while(help[i].tfly.hh<0 || help[i].tfly.hh>13 || help[i].tfly.mm<0 || help[i].tfly.mm>61); 
                                do{
                                  cout<<"Введите цену за билет"<<endl;
                                  cin>>help[i].price;
                                  } while(help[i].price<0);
                                cout<<"Введите наличие билетов y/n"<<endl;
                                cin>>help[i].yes_no; 
                                cout<<"Вводить еще? 1 - да, 0 - нет"<<endl;
                                cin>>n;
                                i++;
                                system("cls");
                                }
                           size=i;
                           system("cls");
                           break;
                   case 2: delete[]help; 
                           size=0;
                           cout<<"Расписания все успешно удалены!"<<endl;
                           system("pause"); 
                           system("cls");
                           break;
                   case 3: system("cls");
                           break;
                   default: cout<<"Неверный номер! "; system("pause");                 
                   } 
                   }
              break; 
      case 3: if (size!=0) {cout<<"Поиск (введите данные или введите 0, если ошиблись с пунктом меню): "<<endl;
                            do{
                              cout<<"Введите номер рейса"<<endl;
                              cin>>help[size+1].travel;
                              } while(help[size+1].travel<0);
                            do{
                              cout<<"Введите дату вылета"<<endl;
                              cin>>help[size+1].data.dd>>help[size+1].data.mm;
                              } while(help[size+1].data.dd<0 || help[size+1].data.dd>32 || help[size+1].data.mm<0 || help[size+1].data.mm>13);
                            do{
                              cout<<"Введите время вылета"<<endl;
                              cin>>help[size+1].tstart.hh>>help[size+1].tstart.mm;
                              } while(help[size+1].tstart.hh<0 || help[size+1].tstart.hh>25 || help[size+1].tstart.mm<0 || help[size+1].tstart.mm>61);
                            kol=0;
                            for(i=0; i<size; i++)
                               {
                               j=0;
                               if (help[i].travel==help[size+1].travel) j++;
                               if (help[size+1].data.dd==help[i].data.dd && help[size+1].data.mm==help[i].data.mm) j++;
                               if (help[size+1].tstart.hh==help[i].tstart.hh && help[size+1].tstart.mm==help[i].tstart.mm) j++;
                               if (j>0) {show(help, i); kol++;}
                               }   
                           if (kol>0) cout<<"Найденно совпадений: "<<kol<<endl;
                              else cout<<"Совпадений нет"<<endl;
                           }
                  else cout<<"База данных пуста!"<<endl;  
              system("pause");
              system("cls");          
              break;
      case 5: break;
      default: cout<<"неверный номер! "; system("pause");
      }
      }
 
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 17:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить программу справочной службы аэропорта (C++):

Составить программу с массивами структурами. Заполнить структуры информации, составить - C++
Составить программу с массивами структурам согласно варианту. Заполнить структуры информации, составить запросы , и вывести результаты...

Создание справочной системы ключевых слов - C++
Требуется создать справочную систему, в которой пользователь будет вводить ключевое слово из списка предложенных, а программа будет...

Реализовать поиск по заданному полю в массиве объектов типа Рейс (моделирование работы справочной автовокзала) - C++
В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны: номер рейса; тип автобуса; пункт назначения;...

Разработка справочной службы....Delphi.Очень нужно! - Delphi БД
Разработка справочной службы ГАИ. Сформировать файл следующей структуры: марка автомобиля, фамилия владельца, адрес, регистрационный...

Организовать базу данных для справочной службы вокзала - Turbo Pascal
Организовать базу данных для справочной службы вокзала со следующей информацией: станция назначения; общее количество электричек, время...

Кому слабо составить Книгу службы??? (нарядов) - MS Excel
Програмисты и просто гении компьютеров помогите мне пожалуйста, я сам дуб дубом в excel. Мне очень нужно эл. книга нарядов для составления...

2
Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 91
30.05.2012, 17:15 #2
int i=0, j, n, size=0, kol=0, query;
int *sort;
SetConsoleOutputCP(1251);
SetConsoleCP(1251);

while(n!=6)

n -> мусор
0
CiLbBePMeH
1 / 1 / 0
Регистрация: 17.05.2012
Сообщений: 17
30.05.2012, 17:23  [ТС] #3
Исправил.И на этом все что ли?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 17:23
Привет! Вот еще темы с ответами:

Не удаётся запустить службы криптографии и некоторые другие важные службы - Windows XP
Итак, расскажу всю историю по порядку. Где-то с полгода назад появилась проблема, что звук, примерно, после часа работы, пропадал,...

Составить программу,используя оператор Repeat.Составить программу для определения N!-M!,где N!=1*2*3...n. - Pascal ABC
Составить программу,используя оператор Repeat.Составить программу для определения N!-M!,где N!=1*2*3...n.

Остановка и запуск службы(сервиса) из другой службы или из приложения не используя консоль - C++ Builder
Добрый день! Компилятор Embarcadero XE8 Скажите, как можно остановить и запустить некую службу(сервис) зная его имя (например...

Добавить программу в службы Windows - Visual Basic
Подскажите пожалуйста куда и что нужно прописать чтобы моя программа загружалась как служба Windows (чтобы она запускалась при загрузке) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.