Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
jonipeper
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 7
1

Рассортировать массив структур в алфавитном порядке по первому полю

12.03.2016, 19:45. Просмотров 1141. Ответов 7
Метки нет (Все метки)

Может кто может или пнет в нужное направление.


Список товаров, имеющихся на складе, включает в себя: наименование товара, количество единиц товара, цену единицы и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб., используя созданное меню.
Требования к программе:
Ввести массив структур; рассортировать массив в алфавитном порядке по первому
полю, входящему в структуру; в программе реализовать следующее меню :
1) Ввод массива структур;
2) Считать массив структур из файла;
3) Сортировка массива структур;
4) Поиск в массиве структур по заданному параметру;
5) Изменение заданной структуры;
6) Удаление структуры из массива;
7) Вывод на экран массива структур;
8) Сохранение массива структур в файл;
9) Выход.








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
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
#include "stdafx.h"
#include <iostream>
using namespace std; 
 
struct sklad //объявляем шаблон структуры
{char name[30]; //Наименование
int kol_ed; //Количество едениц товара
float cena; //Цена за единицу
int date; //Дата поступления товара на склад
}; 
int u=0,y=0,l=0; //глобальные переменные.1-ая отвечает за создание файла,2-аяследит за колличеством заполненых структур
sklad r[100]; //массив структур
//прототипы функций
int menu();
void newFile();
void viewFile();
void addFile();
void editFile();
void runFile();
void deleterecord();
int tmain()
{
while(1)
    switch (menu()) //вызом меню
 {
 case 1:newFile();break;
 case 2:viewFile();break;
 case 3:addFile();break;
 case 4:editFile();break;
 case 5:runFile();break;
 case 6:deleterecord();break;
 case 7:return 0;
 default:printf("Neverniy vibor\n");
 }
getch();
}
int menu()
{
int choice;
do
{
 system ("cls");//очищает содержание экрана
 printf("Menu\n");
 printf("1.newFile\n");
 printf("2.viewFile\n");
 printf("3.addFile\n");
 printf("4.editFile\n");
 printf("5.runFile\n");
 printf("6.deleterecord\n");
 printf("7.vihod\n");
 printf("Vash vibor?\n");
 scanf("%d", &choice);//ввод действия,которое хотим произвести
 system("cls"); 
 }while (choice>7);
return choice;
}
void newFile()
{
int q;
FILE *f;
f=fopen("pkp.txt", "w");
do
{
    printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].kol_ed);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].cena);
 printf("vvedite datu v formate xx.xx.xxxx ");
 scanf("%d",&r[l].date);
 l++;
 }while (q!=2);
for(int i=0;i<l;i++)//записываем данные в файл
    {
 fprintf(f,"%s\n",r[i].name);
 fprintf(f,"%d\n",r[i].kol_ed);
 fprintf(f,"%d\n",r[i].cena);
 fprintf(f,"%d\n",r[i].date);
}
y++;//счетчик проверяющий создан ли файл изменяется только тут
fclose(f);//закрываем файл
}
void viewFile()
{
if(y!=0)//смотрим создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "r");//фай открыт только для чтения
 if(u==0)
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].kol_ed);
fscanf(f,"%d\n",&r[i].cena);
fscanf(f,"%d\n",&r[i].date);
 }
 for(int i=0;i<l;i++)//выводим стуктуру на экран
 {
 printf("naimenovanie tovara ");
printf("%s\n",r[i].name);
printf("kolichestvo edinic ");
printf("%d\n",r[i].kol_ed);
printf("cena za edinicy ");
printf("%d\n",r[i].cena);
printf("datu v formate xx.xx.xxxx ");
printf("%d\n",r[i].date);
 }
 }
 else
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].kol_ed);
fscanf(f,"%d\n",&r[i].cena);
fscanf(f,"%d\n",&r[i].date);
 }
 for(int i=0;i<l;i++)//выводим стуктуру на экран
 { 
 printf("naimenovanie tovara %s\n", r[i].name);
printf("kolichestvo edinic %d\n",r[i].kol_ed);
printf("cena za edinicy %s\n",r[i].cena);
printf("datu v formate xx.xx.xxxx %s\n",r[i].date);
 }
 }
 fclose(f);//закрываем файл
}
else//если файл не создан то
 printf("ne sozdan");
getch();
}
void addFile()
{
if(y!=0)//смотрим создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "a");//файл открыт для дозаписи
 if(u==0)
 {
 //дозаписываем
     printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].kol_ed);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].cena);
 printf("vvedite datu v formate xx.xx.xxxx ");
 scanf("%d",&r[l].date);
 l++;//увеличиваем счётчик колличества заполненых структур,т.к. мы добавляем новые данные в самый конец,т.е. на место l
 fclose(f);
 }
 else
 {
 printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].kol_ed);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].cena);
 printf("vvedite datu v formate xx.xx.xxxx ");
 scanf("%d",&r[l].date);
 l++;//увеличиваем счётчик колличества заполненых структур,т.к. мы добавляем новые данные в самый конец,т.е. на место l
 fclose(f);
 runFile();
 }
}
else
 printf("ne sozdan");
getch();
}
void editFile()
{
int q;
if(y!=0)//проверяем создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "r");
 printf("vvedite naimenovanie tovara,kotori vi hotite izmenit\n");
 scanf("%d",&q);
 if(q<l)//смотрим не превышает ли введённое число количество стуртур,которое у нас имеется
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].kol_ed);
fscanf(f,"%d\n",&r[i].cena);
fscanf(f,"%d\n",&r[i].date);
 if(i==q)
{
 printf("vvedite naimenovanie tovara ");
 scanf("%s",r[q].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[q].kol_ed);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[q].cena);
 printf("vvedite datu v formate xx.xx.xxxx ");
 scanf("%d",&r[q].date);
 }
 }
 fclose(f);
 runFile();
 }
 else//если колличество структур меньше введённого числа,то мы выдаем ошибку и выходим из программы
 {
 printf("oshibka");
 exit(1);
 }
}
else
 printf("ne sozdan");//если файл не создан
getch();
}
void runFile()
{
if(y!=0)
{
 FILE *f;
 f=fopen("pkp.txt", "w");
 for(int i=0;i<l;i++)
 {
 if(r[i].kol_ed<5)
 strcpy (r[i].name,"divan");
 else if (r[i].kol_ed>=5&&r[i].kol_ed<30)
 strcpy (r[i].name,"stol");
 else if (r[i].kol_ed>=30&&r[i].kol_ed<45)
 strcpy (r[i].name,"styl");
 else
 strcpy (r[i].name,"neopredelen");
 }
 for(int i=0;i<l;i++)//записываем данные в файл
 {
 fprintf(f,"%s\n",r[i].name);
 fprintf(f,"%d\n",r[i].kol_ed);
 fprintf(f,"%s\n",r[i].cena);
 fprintf(f,"%s\n",r[i].date);
 }
 u++;
 fclose(f);
}
else
 printf("ne sozdan");
getch();
}
void deleterecord()
{
if(y!=0)
{
 FILE *f;
 f=fopen("pkp.txt", "w");
 int q;
 printf("vvedite porjadkovi nomer tovara,kotori vi hotite udalit\n");
 scanf("%d",&q);//вводим порядковый номер структуры, который хотим удалить
 if(q<l)//проверяет не больше ли введённое нами число колличества структур. Если больше то выдает ошибку, если меньше то удаляет
 { for(int i=0;i<l;i++)
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].kol_ed);
fscanf(f,"%d\n",&r[i].cena);
fscanf(f,"%d\n",&r[i].date);
 }
 for(int i=q;i<l-1;i++)
 r[i]=r[i+1];
 l--;
 fclose(f);
 runFile();
 }
 else//если введённое число больше количества структур
 printf("oshibka");
}
else
 printf("ne sozdan");
getch();
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2016, 19:45
Ответы с готовыми решениями:

Ввести массив структур; рассортировать массив в алфавитном порядке
Пришел из армии восстановился в универе и тут сразу курсавай. Помогите Исходные данные(описание...

Используя указатель рассортировать массив строк в алфавитном порядке
Доброй ночи, ребят! необходимо используя указатель рассортировать массив строк в алфавитном...

Используя указатель рассортировать массив строк в алфавитном порядке
Используя указатель рассортировать массив строк в алфавитном порядке. Может знает кто?

Поиск в массиве структур по заданному полю и вывод в алфавитном порядке (файловый ввод/вывод)
Помогите с функцией void runFile() что бы с файла брал и выводил в алфавитном порядке список...

Массив структур Aeroflot, отсортировать пункты назначения в алфавитном порядке
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; using namespace std; struct...

7
jdzvk
20 / 10 / 2
Регистрация: 07.03.2016
Сообщений: 211
12.03.2016, 20:00 2
не-не-не. вы для ларька программу пишете, что ли?)
один-единственный автомобиль, часто хранится на складе больше месяца.
а если любой автомобиль за 500 тыщ по запчастям разложить - получится уже ваш мильй0н.
----
-много ларёшников у вас берут(покупают) проги?
100 миллионов - это даже для ларька - минимум. особенно если их несколько, а склад один)

Добавлено через 6 минут

и, {кхм-кхм-кхм}, стесьняюсь спросить: - цена товара - с копейками?
0
jonipeper
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 7
12.03.2016, 20:08  [ТС] 3
Не для ларька, это программа для моей курсовой.
Цена товара без копеек.
0
jdzvk
20 / 10 / 2
Регистрация: 07.03.2016
Сообщений: 211
12.03.2016, 20:44 4

Не по теме:

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



:>в сабже нет указания, в чём именно у ТС трудности.
выглядит вроде прилично, пояснения есть. работает-нет - здесь не проверить
0
12.03.2016, 20:44
jonipeper
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 7
12.03.2016, 21:43  [ТС] 5
Цитата Сообщение от jdzvk Посмотреть сообщение
Не по теме:
то есть учебное задание. курсовая. интересно на каком курсе дают такие задания
и как называется учебная специализация.
хорошо, что подсказали. уж испугался, что топик окажется многостраничным, и длинным.
1 курс на заочном, специальность: программное обеспечение информационных технологий.
Трудность в:
когда добавляю #include <conio.h>
для функции getch();
то куча ошибок

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
1>------ Построение начато: проект: kyrsax, Конфигурация: Debug Win32 ------
1>  kyrsax.cpp
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(39): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(56): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(65): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(69): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(71): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(136): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(143): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(148): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(150): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(152): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(154): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(161): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(163): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(165): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(167): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(175): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(183): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(185): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(190): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(191): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(192): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(199): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(201): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(203): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(217): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(224): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(232): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(234): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(248): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(255): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(258): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(262): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(263): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(264): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(265): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253): см. объявление "fscanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(278): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(77): warning C4700: использована неинициализированная локальная переменная "q"
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
1>C:\Users\andrew\Documents\Visual Studio 2010\Projects\poect\kyrsax\Debug\kyrsax.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
И в программе тут только попытался меню сделать, а этот как сделать я даже не знаю
Цитата Сообщение от jonipeper Посмотреть сообщение
Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб., используя созданное меню.
0
jonipeper
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 7
12.03.2016, 22:31  [ТС] 6
добавил #include <conio.h> и убрал #include <iostream>
C++
1
2
3
4
5
6
7
8
9
#include "stdafx.h"
#include <conio.h>
 
struct sklad //объявляем шаблон структуры
{char name[30]; //Наименование
int kol_ed; //Количество едениц товара
float cena; //Цена за единицу
int date; //Дата поступления товара на склад
};
стало меньше ошибок
C++
1
2
3
4
5
6
7
8
9
10
11
12
1>------ Построение начато: проект: kyrsax, Конфигурация: Debug Win32 ------
1>  kyrsax.cpp
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(37): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(44): error C3861: system: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(55): error C3861: system: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(226): error C3861: strcpy: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(228): error C3861: strcpy: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(230): error C3861: strcpy: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(210): error C3861: exit: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(232): error C3861: strcpy: идентификатор не найден
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
но когда добавляю любую другю(#include <stdlib.h>
#include <cstdlib>
#include <windows.h>
#include <iostream>) снова начинается вот это
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1>------ Построение начато: проект: kyrsax, Конфигурация: Debug Win32 ------
1>  kyrsax.cpp
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(39): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(56): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(65): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(69): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(71): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(136): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(143): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(148): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf"
Добавлено через 10 минут
подключил ещё #include <string.h>
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <conio.h>
#include <string.h>
 
 
struct sklad //объявляем шаблон структуры
{char name[30]; //Наименование
int kol_ed; //Количество едениц товара
float cena; //Цена за единицу
int date; //Дата поступления товара на склад
};
и вот ошибки остались
C++
1
2
3
4
5
6
7
8
1>------ Построение начато: проект: kyrsax, Конфигурация: Debug Win32 ------
1>  kyrsax.cpp
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(37): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(44): error C3861: system: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(55): error C3861: system: идентификатор не найден
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kyrsax\kyrsax\kyrsax.cpp(210): error C3861: exit: идентификатор не найден
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
jonipeper
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 7
13.03.2016, 12:10  [ТС] 7
как сделать чтобы в две структуры вводились данные
Кликните здесь для просмотра всего текста
программа
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
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std; 
 
struct date
{
    int dd;
    int mm;
    int yy;
};
 
 
struct commodity //объявляем шаблон структуры
{char name[30]; //Наименование
int num; //Количество едениц товара
double price; //Цена за единицу
date d;// дата поступления товара
 
};
// функция для обмена ячейками массива структур
void swapp(commodity &a, commodity &b)
{
    commodity temp;
    temp = a;
    a = b;
    b = temp;
}
 
 
int u=0,y=0,l=0; //глобальные переменные.1-ая отвечает за создание файла,2-аяследит за колличеством заполненых структур
commodity r[100]; //массив структур
//прототипы функций
int menu();
void newFile();
void viewFile();
void addFile();
void editFile();
void runFile();
void deleterecord();
int tmain()
{
while(1)
    switch (menu()) //вызом меню
 {
 case 1:newFile();break;
 case 2:viewFile();break;
 case 3:addFile();break;
 case 4:editFile();break;
 case 5:runFile();break;
 case 6:deleterecord();break;
 case 7:return 0;
 default:printf("Neverniy vibor\n");
 }
getch();
}
int menu()
{
int choice;
do
{
 system ("cls");//очищает содержание экрана
 printf("Menu\n");
 printf("1.newFile\n");
 printf("2.viewFile\n");
 printf("3.addFile\n");
 printf("4.editFile\n");
 printf("5.runFile\n");
 printf("6.deleterecord\n");
 printf("7.vihod\n");
 printf("Vash vibor?\n");
 scanf("%d", &choice);//ввод действия,которое хотим произвести
 system("cls"); 
 }while (choice>7);
return choice;
}
void newFile()
{
int q;
FILE *f;
f=fopen("pkp.txt", "w");
do
{
    printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].num);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].price);
 printf("vvedite den ");
 scanf("%d",&r[l].dd);
 printf("vvedite mesec ");
 scanf("%d",&r[l].mm);
 printf("vvedite god ");
 scanf("%d",&r[l].yy);
 printf("hotite dobavit esche tovaru?\n");//условие,которое спрашивает у нас,хотим ли мы ещё добавить структуру
 printf("1.Da\t2.Net\n");
 printf("vash vibor(chislo)? ");
 scanf("%d",&q); 
 l++;
 }while (q!=2);
for(int i=0;i<l;i++)//записываем данные в файл
    {
 fprintf(f,"%s\n",r[i].name);
 fprintf(f,"%d\n",r[i].num);
 fprintf(f,"%d\n",r[i].price);
 fprintf(f,"%d\n",r[i].dd);
  fprintf(f,"%d\n",r[i].mm);
   fprintf(f,"%d\n",r[i].yy);
}
y++;//счетчик проверяющий создан ли файл изменяется только тут
fclose(f);//закрываем файл
}
void viewFile()
{
if(y!=0)//смотрим создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "r");//фай открыт только для чтения
 if(u==0)
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].num);
fscanf(f,"%d\n",&r[i].price);
fscanf(f,"%d\n",&r[i].dd);
fscanf(f,"%d\n",&r[i].mm);
fscanf(f,"%d\n",&r[i].yy);
 }
 for(int i=0;i<l;i++)//выводим стуктуру на экран
 {
 printf("naimenovanie tovara ");
printf("%s\n",r[i].name);
printf("kolichestvo edinic ");
printf("%d\n",r[i].num);
printf("cena za edinicy ");
printf("%d\n",r[i].price);
printf("den ");
printf("%d\n",r[i].dd);
printf("mesec ");
printf("%d\n",r[i].mm);
printf("god ");
printf("%d\n",r[i].yy);
 }
 }
 else
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].num);
fscanf(f,"%d\n",&r[i].price);
fscanf(f,"%d\n",&r[i].dd);
fscanf(f,"%d\n",&r[i].mm);
fscanf(f,"%d\n",&r[i].yy);
 }
 for(int i=0;i<l;i++)//выводим стуктуру на экран
 { 
 printf("naimenovanie tovara %s\n", r[i].name);
printf("kolichestvo edinic %d\n",r[i].num);
printf("cena za edinicy %s\n",r[i].price);
printf("den %s\n",r[i].dd);
printf("mesec %s\n",r[i].mm);
printf("god %s\n",r[i].yy);
 }
 }
 fclose(f);//закрываем файл
}
else//если файл не создан то
 printf("ne sozdan");
getch();
}
void addFile()
{
if(y!=0)//смотрим создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "a");//файл открыт для дозаписи
 if(u==0)
 {
 //дозаписываем
     printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].num);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].price);
 printf("den ");
 scanf("%d",&r[l].dd);
 printf("mesec ");
 scanf("%d",&r[l].mm);
 printf("god ");
 scanf("%d",&r[l].yy);
 l++;//увеличиваем счётчик колличества заполненых структур,т.к. мы добавляем новые данные в самый конец,т.е. на место l
 fclose(f);
 }
 else
 {
 printf("vvedite naimenovanie tovara ");
 scanf("%s",r[l].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[l].num);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[l].price);
 printf("den ");
 scanf("%d",&r[l].dd);
 printf("mesec ");
 scanf("%d",&r[l].mm);
 printf("god ");
 scanf("%d",&r[l].yy);
 l++;//увеличиваем счётчик колличества заполненых структур,т.к. мы добавляем новые данные в самый конец,т.е. на место l
 fclose(f);
 runFile();
 }
}
else
 printf("ne sozdan");
getch();
}
void editFile()
{
int q;
if(y!=0)//проверяем создан ли файл
{
 FILE *f;
 f=fopen("pkp.txt", "r");
 printf("vvedite naimenovanie tovara,kotori vi hotite izmenit\n");
 scanf("%d",&q);
 if(q<l)//смотрим не превышает ли введённое число количество стуртур,которое у нас имеется
 {
 for(int i=0;i<l;i++)//в этом цикле считываем данные из файла в структуру
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].num);
fscanf(f,"%d\n",&r[i].price);
fscanf(f,"%d\n",&r[i].dd);
fscanf(f,"%d\n",&r[i].mm);
fscanf(f,"%d\n",&r[i].yy);
 if(i==q)
{
 printf("vvedite naimenovanie tovara ");
 scanf("%s",r[q].name);
 printf("vvedite kolichestvo edinic ");
 scanf("%d",&r[q].num);
 printf("vvedite cena za edinicy ");
 scanf("%d",&r[q].price);
 printf("den ");
 scanf("%d",&r[q].dd);
 printf("mesec ");
 scanf("%d",&r[q].mm);
 printf("god ");
 scanf("%d",&r[q].yy);
 }
 }
 fclose(f);
 runFile();
 }
 else//если колличество структур меньше введённого числа,то мы выдаем ошибку и выходим из программы
 {
 printf("oshibka");
 exit(1);
 }
}
else
 printf("ne sozdan");//если файл не создан
getch();
}
void runFile()
{
if(y!=0)
{
 FILE *f;
 f=fopen("pkp.txt", "w");
 for(int i=0;i<l;i++)
 {
  const int N = 20; // размер массива
    commodity ar[N]; // массив структур
    date currentDate;// объект структуры для текущей датты
 
    // текущая дата
    currentDate.dd = 13;
    currentDate.mm = 03;
    currentDate.yy = 2016;
 
 
    // сначала отсортируем массив структур по названию товаров
    for(int i(1); i < N; i++){
        for(int j(N-1); j >= i; j--){
            for(int k(0); ar[j-1].name[k]; k++){
                if(ar[j-1].name[k] > ar[j].name[k]) { swapp(ar[j-1],ar[j]); break; } // если буква первого слова больше чем буква второго, то меняем местами слова и переходим к следующему слову
                else if(ar[j-1].name[k] == ar[j].name[k]) continue; // если буквы равны, то проверяем следующую букву
                else break;
            }
        }
    }
 
    // теперь выведем те товары, которые соответсвуют заданным условиям
    // т.е. их цена больше 1000 и лежат на складе больше месяца
    for(int i(0); i < N; i++){
    if(ar[i].price > 1000000)
        if(currentDate.yy > ar[i].d.yy) cout << ar[i].name << endl;
        else if(currentDate.mm > ar[i].d.mm && currentDate.dd > ar[i].d.dd) cout << ar[i].name << endl;
    }
    cin.get();
    return 0;
 strcpy (r[i].name,"neopredelen");
 }
 for(int i=0;i<l;i++)//записываем данные в файл
 {
 fprintf(f,"%s\n",r[i].name);
 fprintf(f,"%d\n",r[i].num);
 fprintf(f,"%s\n",r[i].price);
 fprintf(f,"%s\n",r[i].dd);
 fprintf(f,"%s\n",r[i].mm);
 fprintf(f,"%s\n",r[i].yy);
 }
 u++;
 fclose(f);
}
else
 printf("ne sozdan");
getch();
}
void deleterecord()
{
if(y!=0)
{
 FILE *f;
 f=fopen("pkp.txt", "w");
 int q;
 printf("vvedite porjadkovi nomer tovara,kotori vi hotite udalit\n");
 scanf("%d",&q);//вводим порядковый номер структуры, который хотим удалить
 if(q<l)//проверяет не больше ли введённое нами число колличества структур. Если больше то выдает ошибку, если меньше то удаляет
 { for(int i=0;i<l;i++)
 {
 fscanf(f,"%s\n",r[i].name);
fscanf(f,"%d\n",&r[i].num);
fscanf(f,"%d\n",&r[i].price);
fscanf(f,"%d\n",&r[i].dd);
fscanf(f,"%d\n",&r[i].mm);
fscanf(f,"%d\n",&r[i].yy);
 }
 for(int i=q;i<l-1;i++)
 r[i]=r[i+1];
 l--;
 fclose(f);
 runFile();
 }
 else//если введённое число больше количества структур
 printf("oshibka");
}
else
 printf("ne sozdan");
getch();
}

и не ругался
Кликните здесь для просмотра всего текста
на вот это
C++
1
2
3
4
5
6
7
8
9
10
11
12
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(94): error C2039: dd: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(96): error C2039: mm: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(98): error C2039: yy: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(110): error C2039: dd: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(111): error C2039: mm: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
1>c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(112): error C2039: yy: не является членом "commodity"
1>          c:\users\andrew\documents\visual studio 2010\projects\poect\kers 2\kers 2\kers 2.cpp(18): см. объявление "commodity"
0
шедевр
0 / 0 / 0
Регистрация: 09.11.2015
Сообщений: 4
14.03.2016, 00:14 8
Помогите написать задачу в Visual Studio C# Заменить каждый элемент массива с четным номером на соседний слева элемент.
0
14.03.2016, 00:14
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2016, 00:14

Рассортировать элементы в структуре в алфавитном порядке
Как реализовать, помогите? Написать структуру (книги) и рассортировать элементы в ней в алфавитном...

Написать структуру и рассортировать элементы в ней в алфавитном порядке
Всем: привет! Ребят, кто может, помогите, пожалуйста. У самой никак не получается, вообще чайник :)...

Сортировка структур в алфавитном порядке
Помогите пожалуйста, как сделать сортировку структур по алфавиту?) Заранее спасибо!) Программа...


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

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

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