138 / 138 / 39
Регистрация: 26.02.2011
Сообщений: 545
1

Работа со структурой аэрофлот - как выделить память?

06.04.2012, 17:19. Показов 657. Ответов 2
Метки нет (Все метки)

Создать структуру с именем аэрофлот и пунктами (указаны в структуре).Язык Си
ПИшу структуру первый раз,поэтому смотрел исходники на форуме,сам дописывал,как конструктор собирал.

Есть следующие вопросы:
1)Как сделать выделение памяти из с++ Как в си чтоб было
тоесть эту запись
C
1
new char[strlen(s)+1];
если сделаю так будет неверно
C
1
(char*)malloc(([strlen(s))+1]sizeof(char);
2)Помочь организовать считывание данных из файла(текстовый бинарных без разницы) с проверкой на корректность данных.

3)Записи должны быть упорядочены по общему количеству мест; это в задание,это значит по возрастанию общего количества мест или где одинаково количество мест?(желательно конкретном на примере)

4)Описание структуры разместите в заголовочном файле, а определения функций и главную функцию – в двух отдельных файлах.Помогите разделить,никогда с этим не сталкивался,как раз на конкретном примере пойму хоть.

ну вроде пока все,по мере необходимости добавлю,надеюсь что хоть кто нить заглянет в тему и подскажет))

Вот что я написал,если код страшен,не ругайтесь сильно,первый раз пишу структуру

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
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
 
const int n=10; //количество записей (размерность массива)
//w стоит пока не закончена программа чтоб 10 структур не вводить а для быстродействия одну или две
/*--------Создание структуры---------*/
struct AeroFlot
{
       char* destination; //пункт назначения
       char* tip; //тип самолёта
       int nomer; //номер рейса
       int zanmest;//занятых мест
       int svobmest;//общее количетво мест
}; //определение массива с записями
 
int main() //главная функция программы
{
    setlocale(LC_ALL,"Rus");//русский язык
    int w,c;
    char s[50],t[50]; 
    char str[50]; //запрашиваемый пункт назначения
    while(!fflush(stdin)&&printf("Введите количество рейсов:  ")&&!scanf("%i",&w));
    AeroFlot *air = new AeroFlot [w];
    printf("Ожидается ввод данных\n\n");
 
/*--------заполнение массива---------*/
    for (int i=0; i<w; i++)
    {
        while(!fflush(stdin)&&printf("Номер рейса: ")&&!scanf("%i",&air[i].nomer));
        while(!fflush(stdin)&&printf("Пункт назначения: ")&&!scanf("%s",&s));
                  air[i].destination = new char[strlen(s)+1];
                  strcpy(air[i].destination,s);
        while(!fflush(stdin)&&printf("Тип самолета: ")&&!scanf("%s",&t));
                  air[i].tip = new char[strlen(t)+1];
                  strcpy(air[i].tip,t);
        while(!fflush(stdin)&&printf("Общее колличество мест: ")&&!scanf("%i",&air[i].svobmest));
        while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
        while(air[i].svobmest<air[i].zanmest)
        {
                  while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
        }
        printf("\n");
    }
   
/*-------Поиск-------*/
    system("cls");
    while(true)
    {
        printf("Выберите пункт вывода результата\n\n");
        printf("\t1)Вывод на дисплей номеров рейсов и типов самолета не имеющих свободных мест.\n");
        printf("\t2)Вывод полного списка рейсов\n");
        printf("\t3)Выход\n\n");
        while(!fflush(stdin)&&printf("Ваш вариант: ")&&!scanf("%i",&c));
        system("cls");
        printf("\tИнформация о рейсах\n\n");
        if(c==1)
        {
                    bool flag2=false;
                    for (int i=0; i<w; i++)
                    {
                                        if((air[i].svobmest-air[i].zanmest)==0)
                                        {   
                                                            printf("Номер рейса: %i\n",air[i].nomer);
                                                            printf("Пункт назначения: %s\n",air[i].destination);
                                        printf("Тип самолета: %s\n",air[i].tip);
                                        printf("Общее колличество мест: %i\n",air[i].svobmest);
                                        printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                        flag2=true;
                                        printf("\n");
                                        } 
                                }
                    if (!flag2)
                    { 
                                        printf("Рейсов нет!");
                    }
        }
        if(c==2)
        {
                    bool flag2=false;
                    for (int i=0; i<w; i++)
                    {   
                                                            printf("Номер рейса: %i\n",air[i].nomer);
                                                            printf("Пункт назначения: %s\n",air[i].destination);
                                                            printf("Тип самолета: %s\n",air[i].tip);
                                                            printf("Общее колличество мест: %i\n",air[i].svobmest);
                                                            printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                                            flag2=true;
                                                            printf("\n");
                    }
                    if (!flag2)
                    { 
                                        printf("Рейсов нет!");
                    }
                
        }
        if(c==3)
        {
                    break;
        }
 
    }
return 0;
}
Добавлено через 44 минуты
1)Вопрос решил

Другие актуальны
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2012, 17:19
Ответы с готовыми решениями:

Как выделить память на структуры
у меня есть несколько типов и структура, некоторые поля которой могут иметь эти типы. Я реализовал...

Работа с вводом. Нужно в зависимости от кол. введенных чисел выделить память
С++ Нужно выделять память в том количестве, сколько было введено чисел до нажатия Enter. Как...

Как выделить память?
Нужно заполнить треугольную матрицу вида 1 1 1 1 1 - 1 - - На элементы с &quot;-&quot; память не...

Как выделить память с new?
struct stat *buf; Как для структуры выделить память? Много способов перепробовал, но выдает...

2
15 / 15 / 5
Регистрация: 10.01.2011
Сообщений: 275
06.04.2012, 17:47 2
По второму вопросу .
воспользуйтесь стандартной библиотекой СИ , ее описание тут.
http://shatalov.su/ru/articles... file_0.php
2
138 / 138 / 39
Регистрация: 26.02.2011
Сообщений: 545
07.04.2012, 13:08  [ТС] 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
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
#define n 3
//const int n=3; //количество записей (размерность массива)
 
/*--------Создание структуры---------*/
struct AeroFlot
{
       char* destination; //пункт назначения
       char* tip; //тип самолёта
       int nomer; //номер рейса
       int zanmest;//занятые места
       int svobmest;//общее количество мест
}; //определение массива с записями
 
int main() //главная функция программы
{
    setlocale(LC_ALL,"Rus");//русский язык
    FILE *f1,*f2;
    int c,i,k;
    char s[50],t[50],nameIn[100];; 
    char str[50]; //запрашиваемый пункт назначения
    AeroFlot *air = (AeroFlot*)malloc(n*sizeof(AeroFlot));
    while(true)
    {
            printf("\tМЕНЮ\n\n");
            printf("\t1)Создать БД\n");
            printf("\t2)Считать БД с файла\n");            
            printf("\t3)Справка\n");
            printf("\t4)Выход\n\n");
            while(!fflush(stdin)&&printf("Ваш вариант: ")&&!scanf("%i",&c));
            system("cls");
            if(c==1)
            {
                //    while(!fflush(stdin)&&printf("Введите количество рейсов:  ")&&!scanf("%i",&n));
                    printf("\tОжидается ввод данных\n\n");
/*--------заполнение массива---------*/
                    for (i=0; i<n; i++)
                    {
                            while(!fflush(stdin)&&printf("Номер рейса: ")&&!scanf("%i",&air[i].nomer));
                            while(!fflush(stdin)&&printf("Пункт назначения: ")&&!scanf("%s",&s));
                                    air[i].destination = (char*)malloc((strlen(s)+1)*sizeof(char));
                                    strcpy(air[i].destination,s);
                            while(!fflush(stdin)&&printf("Тип самолета: ")&&!scanf("%s",&t));
                                    air[i].tip = (char*)malloc((strlen(t)+1)*sizeof(char));
                                    strcpy(air[i].tip,t);
                            while(!fflush(stdin)&&printf("Общее колличество мест: ")&&!scanf("%i",&air[i].svobmest));
                            while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
                            while(air[i].svobmest<air[i].zanmest)
                            {
                                    while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
                            }
                            printf("\n");
                    }
                    system("cls");
            }
/*-------Поиск-------*/
    //system("cls");  
            if(c==2)
            {
                    
            }
            if(c==3)
            {
                            printf("\tСправка");
                            printf("\tСправка");
                            printf("\tСправка");
                            getch();
                            system("cls");              
            }
            if(c==4)
            {
                            break;
            }
            if(c<0 || c>4)
            {
                   continue;
            }
            while(true)
            {
                    printf("\tМЕНЮ/БД\n\n");
                    printf("\t1)Записать данные в файл\n");
                    printf("\t2)Вывод на дисплей номеров рейсов\n");
                    printf("\t  и типов самолета не имеющих свободных мест\n");
                    printf("\t3)Вывод полного списка рейсов\n");
                    printf("\t4)Справка\n");
                    printf("\t5)Назад\n\n");
                    while(!fflush(stdin)&&printf("Ваш вариант: ")&&!scanf("%i",&k));
                    system("cls");
                    if(k==1)
                    {
                    }
                    if(k==2)
                    {
                                        printf("\tИнформация о рейсах\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {
                                                            if((air[i].svobmest-air[i].zanmest)==0)
                                                            {   
                                                                                printf("Номер рейса: %i\n",air[i].nomer);
                                                                                printf("Пункт назначения: %s\n",air[i].destination);
                                                                                printf("Тип самолета: %s\n",air[i].tip);
                                                                                printf("Общее колличество мест: %i\n",air[i].svobmest);
                                                                                printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                                                                flag2=true;
                                                                                printf("\n");
                                                            } 
                                        }
                                        if (!flag2)
                                        { 
                                                            printf("Рейсов нет!");
                                        }
                                        getch();
                                        system("cls");  
                    }         
                    if(k==3)
                    {
                                        printf("\tИнформация о рейсах\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {   
                                                            printf("Номер рейса: %i\n",air[i].nomer);
                                                            printf("Пункт назначения: %s\n",air[i].destination);
                                                            printf("Тип самолета: %s\n",air[i].tip);
                                                            printf("Общее колличество мест: %i\n",air[i].svobmest);
                                                            printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                                            flag2=true;
                                                            printf("\n");
                                        }
                                        if (!flag2)
                                        { 
                                                            printf("Рейсов нет!");
                                        }
                                        getch();
                                        system("cls");      
                    }
                    if(k==4)
                    {
                                        printf("\tСправка");
                                        printf("\tСправка");
                                        printf("\tСправка");
                                        getch();
                                        system("cls");              
                    }
                    if(k==5)
                    {
                                        break;      
                    }
                    if(k<0 || k>5)
                    {
                                        continue;
                    }
            }
    }
free(air);
return 0;
}
Вот что уже получилось ,все еще актуальны вопросы в первом посте,жду ответов,для того чтобы заполнить пустые ифы в коде и поделить на файлы код

Добавлено через 22 минуты
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
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
#define n 3
//const int n=3; //количество записей (размерность массива)
 
/*--------Создание структуры---------*/
struct AeroFlot
{
       char* destination; //пункт назначения
       char* tip; //тип самолёта
       int nomer; //номер рейса
       int zanmest;//занятые места
       int svobmest;//общее количество мест
}; //определение массива с записями
 
int main() //главная функция программы
{
    setlocale(LC_ALL,"Rus");//русский язык
    FILE *f1,*f2;
    int c,i,k;
    char s[50],t[50],nameIn[100],nameOut[100]; 
    char str[50]; //запрашиваемый пункт назначения
    AeroFlot *air = (AeroFlot*)malloc(n*sizeof(AeroFlot));
    while(true)
    {
            printf("\tМЕНЮ\n\n");
            printf("\t1)Создать БД\n");
            printf("\t2)Считать БД с файла\n");            
            printf("\t3)Справка\n");
            printf("\t4)Выход\n\n");
            while(!fflush(stdin)&&printf("Ваш вариант: ")&&!scanf("%i",&c));
            system("cls");
            if(c==1)
            {
                //    while(!fflush(stdin)&&printf("Введите количество рейсов:  ")&&!scanf("%i",&n));
                    printf("\tОжидается ввод данных\n\n");
/*--------заполнение массива---------*/
                    for (i=0; i<n; i++)
                    {
                            while(!fflush(stdin)&&printf("Номер рейса: ")&&!scanf("%i",&air[i].nomer));
                            while(!fflush(stdin)&&printf("Пункт назначения: ")&&!scanf("%s",&s));
                                    air[i].destination = (char*)malloc((strlen(s)+1)*sizeof(char));
                                    strcpy(air[i].destination,s);
                            while(!fflush(stdin)&&printf("Тип самолета: ")&&!scanf("%s",&t));
                                    air[i].tip = (char*)malloc((strlen(t)+1)*sizeof(char));
                                    strcpy(air[i].tip,t);
                            while(!fflush(stdin)&&printf("Общее колличество мест: ")&&!scanf("%i",&air[i].svobmest));
                            while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
                            while(air[i].svobmest<air[i].zanmest)
                            {
                                    while(!fflush(stdin)&&printf("Количестов занятых мест: ")&&!scanf("%i",&air[i].zanmest));
                            }
                            printf("\n");
                    }
                    system("cls");
            }
            if(c==2)
            {
                    printf("Vvedite  imy faila: ");
                    scanf("%s",nameIn);
                    while( (f1=fopen(nameIn,"r")) == 0 )
                    {
                                        printf("\nError.Fail ne naiden!\n");
                                        printf("\nVvedite  imy faila: ");
                                        scanf("%s",nameIn);
                    }
                    /*
                    код работы .........
                    */
                    printf("БД успешно загружена!");  
                    fclose(f1);
                    getch();
                    system("cls");
            }
            if(c==3)
            {
                            printf("\tСправка");
                            printf("\tСправка");
                            printf("\tСправка");//какую нить справку можно сделать
                            getch();
                            system("cls");              
            }
            if(c==4)
            {
                            break;
            }
            if(c<0 || c>4)
            {
                            continue;
            }
            while(true)
            {
                    printf("\tМЕНЮ/БД\n\n");
                    printf("\t1)Записать данные в файл\n");
                    printf("\t2)Вывод на дисплей номеров рейсов\n");
                    printf("\t  и типов самолета не имеющих свободных мест\n");
                    printf("\t3)Вывод полного списка рейсов\n");
                    printf("\t4)Справка\n");
                    printf("\t5)Назад\n\n");
                    while(!fflush(stdin)&&printf("Ваш вариант: ")&&!scanf("%i",&k));
                    system("cls");
                    if(k==1)
                    {
                                       printf("Введите имя файла для соханения БД: ");
                                       scanf("%s",&nameOut);
                                       f2=fopen(nameOut,"w");
                                       /*
                                       код ...
                                       */
                                       fclose(f2);//закрываем файл 2
                                       printf("БД успешно сохранена");
                                       getch();
                                       system("cls");
                                       
                    }
                    if(k==2)
                    {
                                        printf("\tИнформация о рейсах\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {
                                                            if((air[i].svobmest-air[i].zanmest)==0)
                                                            {   
                                                                                printf("Номер рейса: %i\n",air[i].nomer);
                                                                                printf("Пункт назначения: %s\n",air[i].destination);
                                                                                printf("Тип самолета: %s\n",air[i].tip);
                                                                                printf("Общее колличество мест: %i\n",air[i].svobmest);
                                                                                printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                                                                flag2=true;
                                                                                printf("\n");
                                                            } 
                                        }
                                        if (!flag2)
                                        { 
                                                            printf("Рейсов нет!");
                                        }
                                        getch();
                                        system("cls");  
                    }         
                    if(k==3)
                    {
                                        printf("\tИнформация о рейсах\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {   
                                                            printf("Номер рейса: %i\n",air[i].nomer);
                                                            printf("Пункт назначения: %s\n",air[i].destination);
                                                            printf("Тип самолета: %s\n",air[i].tip);
                                                            printf("Общее колличество мест: %i\n",air[i].svobmest);
                                                            printf("Количестов занятых мест: %i\n",air[i].zanmest);
                                                            flag2=true;
                                                            printf("\n");
                                        }
                                        if (!flag2)
                                        { 
                                                            printf("Рейсов нет!");
                                        }
                                        getch();
                                        system("cls");      
                    }
                    if(k==4)
                    {
                                        printf("\tСправка");
                                        printf("\tСправка");
                                        printf("\tСправка");
                                        getch();
                                        system("cls");              
                    }
                    if(k==5)
                    {
                                        break;      
                    }
                    if(k<0 || k>5)
                    {
                                        continue;
                    }
            }
    }
free(air);
return 0;
}
Вот пока что на данный момент знаю,дальше ищу информацию,неужели никто помочь не может?

Добавлено через 17 часов 53 минуты
Помогите сделать считывание данных из файла

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
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#define n 3
//const int n=3; //êîëè÷åñòâî çàïèñåé (ðàçìåðíîñòü ìàññèâà)
 
/*--------Ñîçäàíèå ñòðóêòóðû---------*/
struct AeroFlot
{
       char* destination; //ïóíêò íàçíà÷åíèÿ
       char* tip; //òèï ñàìîë¸òà
       int nomer; //íîìåð ðåéñà
       int zanmest;//çàíÿòûå ìåñòà
       int svobmest;//îáùåå êîëè÷åñòâî ìåñò
}; //îïðåäåëåíèå ìàññèâà ñ çàïèñÿìè
 
int main() //ãëàâíàÿ ôóíêöèÿ ïðîãðàììû
{
    setlocale(LC_ALL,"Rus");//ðóññêèé ÿçûê
    FILE *f1,*f2;
    int c,i,k;
    char s[50],t[50],nameIn[100],nameOut[100]; 
    char str[50]; //çàïðàøèâàåìûé ïóíêò íàçíà÷åíèÿ
    AeroFlot *air = (AeroFlot*)malloc(n*sizeof(AeroFlot));
    while(true)
    {
            printf("\tÌÅÍÞ\n\n");
            printf("\t1)Ñîçäàòü ÁÄ\n");
            printf("\t2)Ñ÷èòàòü ÁÄ ñ ôàéëà\n");            
            printf("\t3)Ñïðàâêà\n");
            printf("\t4)Âûõîä\n");
            printf("\n\t5)Äàëåå..\n\n");
            while(!fflush(stdin)&&printf("Âàø âàðèàíò: ")&&!scanf("%i",&c));
            system("cls");
            if(c==1)
            {
                //    while(!fflush(stdin)&&printf("Ââåäèòå êîëè÷åñòâî ðåéñîâ:  ")&&!scanf("%i",&n));
                    printf("\tÎæèäàåòñÿ ââîä äàííûõ\n\n");
/*--------çàïîëíåíèå ìàññèâà---------*/
                    for (i=0; i<n; i++)
                    {
                            while(!fflush(stdin)&&printf("Íîìåð ðåéñà: ")&&!scanf("%i",&air[i].nomer));
                            while(!fflush(stdin)&&printf("Ïóíêò íàçíà÷åíèÿ: ")&&!scanf("%s",&s));
                                    air[i].destination = (char*)malloc((strlen(s)+1)*sizeof(char));
                                    strcpy(air[i].destination,s);
                            while(!fflush(stdin)&&printf("Òèï ñàìîëåòà: ")&&!scanf("%s",&t));
                                    air[i].tip = (char*)malloc((strlen(t)+1)*sizeof(char));
                                    strcpy(air[i].tip,t);
                            while(!fflush(stdin)&&printf("Îáùåå êîëëè÷åñòâî ìåñò: ")&&!scanf("%i",&air[i].svobmest));
                            while(!fflush(stdin)&&printf("Êîëè÷åñòîâ çàíÿòûõ ìåñò: ")&&!scanf("%i",&air[i].zanmest));
                            while(air[i].svobmest<air[i].zanmest)
                            {
                                    while(!fflush(stdin)&&printf("Êîëè÷åñòîâ çàíÿòûõ ìåñò: ")&&!scanf("%i",&air[i].zanmest));
                            }
                            printf("\n");
                    }
                    system("cls");
            }
            if(c==2)
            {
                    printf("Ââåäèòå èìÿ ôàéëà: ");
                    scanf("%s",nameIn);
                    while( (f1=fopen(nameIn,"r")) == 0 )
                    {
                                        printf("\nÎøèáêà.Ôàéë íå íàéäåí!\n");
                                        printf("\nÂâåäèòå èìÿ ôàéëà: ");
                                        scanf("%s",nameIn);
                    }
                    for(int i = 0; i < n; i++)
                    {
                         /*Òóò îòêðûòèå ôàéëà*/
                    }
                    printf("ÁÄ óñïåøíî çàãðóæåíà!");  
                    fclose(f1);
                    getch();
                    system("cls");
            }
            if(c==3)
            {
                            printf("\tÑïðàâêà");
                            printf("\tÑïðàâêà");
                            printf("\tÑïðàâêà");//êàêóþ íèòü ñïðàâêó ìîæíî ñäåëàòü
                            getch();
                            system("cls");              
                            continue;
            }
            if(c==4)
            {
                            break;
            }
            if(c==5)
            {
                //  system("cls");
            }
            if(c<0 || c>5)
            {
                            continue;
            }
            while(true)
            {
                    printf("\tÌÅÍÞ/ÁÄ\n\n");
                    printf("\t1)Çàïèñàòü ÁÄ â ôàéë\n");
                    printf("\t2)Âûâîä íà äèñïëåé íîìåðîâ ðåéñîâ\n");
                    printf("\t  è òèïîâ ñàìîëåòà íå èìåþùèõ ñâîáîäíûõ ìåñò\n");
                    printf("\t3)Âûâîä ïîëíîãî ñïèñêà ðåéñîâ\n");
                    printf("\t4)Ñïðàâêà\n");
                    printf("\t5)Íàçàä\n\n");
                    while(!fflush(stdin)&&printf("Âàø âàðèàíò: ")&&!scanf("%i",&k));
                    system("cls");
                    if(k==1)
                    {
                                       printf("Ââåäèòå èìÿ ôàéëà äëÿ ñîõàíåíèÿ ÁÄ: ");
                                       scanf("%s",&nameOut);
                                       f2=fopen(nameOut,"w");
                                       fprintf(f2,"\tÈíôîðìàöèÿ î ðåéñàõ\n\n");
                                       for( i = 0; i < n; i++)
                                       {
                                                                                fprintf(f2,"================== %d ==================\n",i+1);
                                                                                fprintf(f2,"Íîìåð ðåéñà: %i\n",air[i].nomer);
                                                                                fprintf(f2,"Ïóíêò íàçíà÷åíèÿ: %s\n",air[i].destination);
                                                                                fprintf(f2,"Òèï ñàìîëåòà: %s\n",air[i].tip);
                                                                                fprintf(f2,"Îáùåå êîëëè÷åñòâî ìåñò: %i\n",air[i].svobmest);
                                                                                fprintf(f2,"Êîëè÷åñòîâ çàíÿòûõ ìåñò: %i\n",air[i].zanmest);
                                                                                fprintf(f2,"=======================================\n");
                                       }         
                                       fclose(f2);//çàêðûâàåì ôàéë 2
                                       printf("ÁÄ óñïåøíî ñîõðàíåíà");
                                       getch();
                                       system("cls");
                                       
                    }
                    if(k==2)
                    {
                                        printf("\tÈíôîðìàöèÿ î ðåéñàõ\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {
                                                            if((air[i].svobmest-air[i].zanmest)==0)
                                                            {   
                                                                                printf("================== %d ==================\n",i+1);
                                                                                printf("Íîìåð ðåéñà: %i\n",air[i].nomer);
                                                                                printf("Ïóíêò íàçíà÷åíèÿ: %s\n",air[i].destination);
                                                                                printf("Òèï ñàìîëåòà: %s\n",air[i].tip);
                                                                                printf("Îáùåå êîëëè÷åñòâî ìåñò: %i\n",air[i].svobmest);
                                                                                printf("Êîëè÷åñòîâ çàíÿòûõ ìåñò: %i\n",air[i].zanmest);
                                                                                flag2=true;
                                                                                printf("\n");
                                                            } 
                                        }
                                        printf("=======================================\n");
                                        if (!flag2)
                                        { 
                                                            printf("\nÐåéñîâ íåò!");
                                                            printf("\n\n=======================================\n");
                                        }
                                        getch();
                                        system("cls");  
                    }         
                    if(k==3)
                    {
                                        printf("\tÈíôîðìàöèÿ î ðåéñàõ\n\n");
                                        bool flag2=false;
                                        for (i=0; i<n; i++)
                                        {   
                                                            printf("================== %d ==================\n",i+1);
                                                            printf("Íîìåð ðåéñà: %i\n",air[i].nomer);
                                                            printf("Ïóíêò íàçíà÷åíèÿ: %s\n",air[i].destination);
                                                            printf("Òèï ñàìîëåòà: %s\n",air[i].tip);
                                                            printf("Îáùåå êîëëè÷åñòâî ìåñò: %i\n",air[i].svobmest);
                                                            printf("Êîëè÷åñòîâ çàíÿòûõ ìåñò: %i\n",air[i].zanmest);
                                                            flag2=true;
                                                            printf("\n");
                                        }
                                        printf("=======================================\n");
                                        if (!flag2)
                                        { 
                                                            printf("\nÐåéñîâ íåò!");
                                                            printf("\n\n=======================================\n");
                                        }
                                        getch();
                                        system("cls");      
                    }
                    if(k==4)
                    {
                                        printf("\tÑïðàâêà");
                                        printf("\tÑïðàâêà");
                                        printf("\tÑïðàâêà");
                                        getch();
                                        system("cls");              
                    }
                    if(k==5)
                    {
                                        break;
                    }
                    if(k<0 || k>5)
                    {
                                        continue;
                    }
            }
    }
free(air);
return 0;
}
Вот что пока написал
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2012, 13:08
Помогаю со студенческими работами здесь

Как выделить память 750mb?
Как выделить столько памяти в программе к примеру?

Как выделить память на HEX-е
https://www.cyberforum.ru/attachment.php?attachmentid=578800&amp;stc=1&amp;d=1443205705...

Как выделить память в class?
class ekzamen //название класса public: char *name1; //имя char *name1 =(char *)...

Как правильно выделить память?
Нужно создать массив, состоящий из QLabel, заранее не известно какое будет кол-во элементов. Вот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru