Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
CiLbBePMeH
 Аватар для CiLbBePMeH
1 / 1 / 0
Регистрация: 17.05.2012
Сообщений: 17
30.05.2012, 17:12     Составить программу справочной службы аэропорта #1
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 17:12     Составить программу справочной службы аэропорта
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 85
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 -> мусор
CiLbBePMeH
 Аватар для CiLbBePMeH
1 / 1 / 0
Регистрация: 17.05.2012
Сообщений: 17
30.05.2012, 17:23  [ТС]     Составить программу справочной службы аэропорта #3
Исправил.И на этом все что ли?
Yandex
Объявления
30.05.2012, 17:23     Составить программу справочной службы аэропорта
Ответ Создать тему
Опции темы

Текущее время: 11:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru