powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите исправить ошибки в коде
7 сообщений из 7, страница 1 из 1
Помогите исправить ошибки в коде
    #38847765
Модератор: Такие портянки надо прятать под spoiler.
длинный текст
Код: plaintext
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.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
#include <stdio.h>
#include <iomanip.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
 
//-----------------------------------------------&#234;&#238;&#237;&#241;&#242;&#224;&#237;&#242;&#251;-----------------------------------------------------
const int N_ITEMS=7; //&#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;
const int L_TOV=9; //&#228;&#235;&#232;&#237;&#224; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#255; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251;
const int STEP=18; //&#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#241;&#242;&#240;&#238;&#234; &#237;&#224; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#229;
 
 
//-------------------------------------&#242;&#232;&#239;&#251; &#232; &#227;&#235;&#238;&#225;&#224;&#235;&#252;&#237;&#251;&#229; &#239;&#229;&#240;&#229;&#236;&#229;&#237;&#237;&#251;&#229;---------------------------------
struct date {
    int day; //&#228;&#229;&#237;&#252;
    int month; //&#236;&#229;&#241;&#255;&#246;
    int year; //&#227;&#238;&#228;
    };
struct magazine {
    int mag; //&#237;&#224;&#226;&#231;&#224;&#237;&#232;&#229; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#224;
    int sec; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#241;&#229;&#234;&#246;&#232;&#232;
    int check; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#247;&#229;&#234;&#224;
    int art; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#224;&#240;&#242;&#232;&#234;&#243;&#235;&#224;
    char name[L_TOV]; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#242;&#238;&#226;&#224;&#240;&#224;
    int kol; //&#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#242;&#238;&#226;&#224;&#240;&#224;
    int cena; //&#246;&#229;&#237;&#224;
    date dat; //&#228;&#224;&#242;&#224;
    int tov_ob; //&#242;&#238;&#226;&#224;&#240;&#238;&#238;&#225;&#238;&#240;&#238;&#242;
    };
struct elist { //&#253;&#235;&#229;&#236;&#229;&#237;&#242;&#251; 2-&#227;&#238; &#237;&#224;&#239;&#240;&#224;&#226;&#235;&#229;&#237;&#237;&#238;&#227;&#238; &#241;&#239;&#232;&#241;&#234;&#224;
    magazine data; //&#228;&#224;&#237;&#237;&#251;&#229; &#238; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#229;
    elist *left; // &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#232; &#237;&#224; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#235;&#229;&#226;&#224;
    elist *right; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#232; &#237;&#224; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#239;&#240;&#224;&#226;&#224;
    };
unsigned int defaultmode, //&#242;&#229;&#234;&#243;&#249;&#232;&#233; &#240;&#229;&#230;&#232;&#236; &#253;&#234;&#240;&#224;&#237;&#224;
          activecolor, //&#224;&#234;&#242;&#232;&#226;&#237;&#251;&#233; &#239;&#243;&#237;&#234;&#242; &#236;&#229;&#237;&#254;
          inactivecolor; //&#237;&#229;&#224;&#234;&#242;&#232;&#226;&#237;&#251;&#233; &#239;&#243;&#237;&#234;&#242; &#236;&#229;&#237;&#254;
int key; //&#234;&#238;&#228; &#234;&#235;&#224;&#226;&#232;&#248;&#232;
elist *beg, //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#239;&#229;&#240;&#226;&#251;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#239;&#232;&#241;&#234;&#224;
      *fin, //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#239;&#238;&#241;&#235;&#229;&#228;&#237;&#232;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#239;&#232;&#241;&#234;&#224;
      *p; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#242;&#229;&#234;&#243;&#249;&#232;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#239;&#232;&#241;&#234;&#224;
char name1[L_TOV]; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#242;&#238;&#226;&#224;&#240;&#224;
magazine magz;
unsigned int item; //&#237;&#238;&#236;&#229;&#240; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;
unsigned int prev; //&#237;&#238;&#236;&#229;&#240; &#239;&#240;&#229;&#228;&#251;&#228;&#243;&#249;&#229;&#227;&#238; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;
 
//------------------------------------&#239;&#240;&#238;&#242;&#238;&#242;&#232;&#239;&#251; &#244;&#243;&#237;&#234;&#246;&#232;&#233;---------------------------------------------------
void add(elist* &beg, elist* &fin, magazine magz); //&#228;&#238;&#225;&#224;&#226;&#235;&#229;&#237;&#232;&#229; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224; &#226; &#241;&#239;&#232;&#241;&#238;&#234;
int load(elist* &beg,elist* &fin); //&#231;&#224;&#227;&#240;&#243;&#231;&#234;&#224; &#225;&#224;&#231;&#251; &#232;&#231; &#244;&#224;&#233;&#235;&#224;
int showbase(elist *beg); //&#226;&#251;&#226;&#238;&#228; &#225;&#224;&#231;&#251; &#237;&#224; &#253;&#234;&#240;&#224;&#237;
void drawitem(unsigned int item, unsigned int color); //&#226;&#251;&#226;&#238;&#228; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;
void initmenu(unsigned int activecolor, unsigned int inactivecolor); //&#232;&#237;&#232;&#246;&#232;&#224;&#235;&#232;&#231;&#224;&#246;&#232;&#255; &#236;&#229;&#237;&#254;
void dlgwindow(void); //&#238;&#242;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#229; &#238;&#234;&#237;&#224; &#228;&#232;&#224;&#235;&#238;&#227;&#224;
void stub (unsigned int item); //&#231;&#224;&#227;&#235;&#243;&#248;&#234;&#224;
void save(); //&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229;
void queryname(char *s);
void clear(void); //&#206;&#247;&#232;&#241;&#242;&#234;&#224; &#253;&#234;&#240;&#224;&#237;&#224;
elist *find(elist *p, int *s);  //&#207;&#238;&#232;&#241;&#234;
void message(char *message); //&#226;&#251;&#226;&#238;&#228; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255;
void error(char message[]); // &#226;&#251;&#226;&#238;&#228; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255; &#238;&#248;&#232;&#225;&#234;&#232;
magazine query(); //&#231;&#224;&#239;&#240;&#238;&#241; &#241;&#226;&#229;&#228;&#229;&#237;&#232;&#233; &#238; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#229;
void edit(elist* beg, magazine magz); //&#231;&#224;&#239;&#240;&#238;&#241; &#241;&#224;&#236;&#238;&#227;&#238; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#224;
magazine query2();
void sort();//&#209;&#238;&#240;&#242;&#232;&#240;&#238;&#226;&#234;&#224;
 
//========================&#195;&#235;&#224;&#226;&#237;&#224;&#255; &#244;&#243;&#237;&#234;&#246;&#232;&#255;=========================================
int main() {
int n;
defaultmode=LASTMODE; //&#231;&#224;&#239;&#238;&#236;&#237;&#232;&#242;&#252; &#242;&#229;&#234;&#243;&#249;&#232;&#233; &#242;&#229;&#234;&#241;&#242;&#238;&#226;&#251;&#233; &#240;&#229;&#230;&#232;&#236; &#253;&#234;&#240;&#224;&#237;&#224;
textmode(C80); //&#243;&#241;&#242;&#224;&#237;&#238;&#226;&#232;&#242;&#252; &#240;&#229;&#230;&#232;&#236; 80&#245;25 &#246;&#226;&#229;&#242;&#237;&#238;&#233;
 
beg=0; fin=0; //&#238;&#225;&#237;&#243;&#235;&#232;&#242;&#252; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#232; &#237;&#224; &#237;&#224;&#247;&#224;&#235;&#238; &#232; &#234;&#238;&#237;&#229;&#246; &#241;&#239;&#232;&#241;&#234;&#224;
clear();
 
activecolor=WHITE; //&#246;&#226;&#229;&#242;  &#224;&#234;&#242;&#232;&#226;&#237;&#238;&#227;&#238; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;
inactivecolor=YELLOW; //&#246;&#226;&#229;&#242; &#237;&#229;&#224;&#234;&#242;&#232;&#226;&#237;&#238;&#227;&#238; &#239;&#243;&#237;&#234;&#242;&#224;
initmenu(activecolor,inactivecolor); //&#232;&#237;&#232;&#246;&#232;&#224;&#235;&#232;&#231;&#224;&#246;&#232;&#255; &#236;&#229;&#237;&#254;
 
item=0;prev=0; //&#238;&#225;&#237;&#243;&#235;&#232;&#242;&#252; &#237;&#238;&#236;&#229;&#240;&#224; &#242;&#229;. &#232; &#239;&#240;&#229;&#228;. &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;
 
/*------------&#246;&#232;&#234;&#235; &#226;&#251;&#225;&#238;&#240;&#224; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;----------------*/
while (1) {
                    key=getch();  //&#226;&#226;&#229;&#241;&#242;&#232; &#234;&#238;&#228; &#237;&#224;&#230;&#224;&#242;&#238;&#233; &#234;&#235;&#224;&#226;&#232;&#248;&#232;
                    if (key==0) key=getch(); //&#229;&#241;&#235;&#232; &#226;&#226;&#229;&#228;&#229;&#237; &#240;&#224;&#241;&#248;&#232;&#240;&#229;&#237;&#237;&#251;&#233; &#234;&#238;&#228;
                    switch(key) { //&#239;&#240;&#238;&#226;&#229;&#240;&#232;&#242;&#252; &#234;&#238;&#228; &#237;&#224;&#230;&#224;&#242;&#238;&#233; &#234;&#235;&#224;&#226;&#232;&#248;&#232;
                                    /*---------------------&#226;&#251;&#239;&#238;&#235;&#237;&#229;&#237;&#232;&#229; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;-------------------*/
                                    case 13:   //&#237;&#224;&#230;&#224;&#242;&#224; ENTER
                                        switch (item) {  //&#224;&#237;&#224;&#235;&#232;&#231; &#237;&#238;&#236;&#229;&#240;&#224; &#239;&#243;&#237;&#234;&#242;&#224;
                                            case 0:
                                                showbase(beg);
                                                break;
 
                                            case 1: magz=query();
                                                add(beg,fin,magz);
                                                break;
                                            case 2:  //&#240;&#229;&#228;&#224;&#234;&#242;&#232;&#240;&#238;&#226;&#224;&#237;&#232;&#229; &#231;&#224;&#239;&#232;&#241;&#232;
                                                    magz=query2();
                                                    edit(beg,magz);
                                                    break;
 
                                            case 3: //&#243;&#228;&#224;&#235;&#229;&#237;&#232;&#229; &#231;&#224;&#239;&#232;&#241;&#232;
                                                    /*queryname(name1);
                                                    p=find(beg,name1);
                                                    if (p) { del(beg,fin,p);
                                                        gotoxy(3,4);
                                                        textcolor(LIGHTRED);
                                                        cputs("&#231;&#224;&#239;&#232;&#241;&#252; &#243;&#228;&#224;&#235;&#229;&#237;&#224;");
                                                        gotoxy(3,6);
                                                        cputs("&#237;&#224;&#230;&#236;&#232;&#242;&#229; ENTER");-
                                                        getch();
                                                        }
                                                    break;  */
                                            case 4://&#231;&#224;&#227;&#240;&#243;&#231;&#234;&#224; &#225;&#224;&#231;&#251; &#232;&#231; &#244;&#224;&#233;&#235;&#224;
                                                    load(beg,fin);
                                                    break;
                                            case 5: //&#241;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#225;&#224;&#231;&#251; &#226; &#244;&#224;&#233;&#235;
                                                    save();
                                                    clrscr();
                                                    puts("&#212;&#224;&#233;&#235; &#241;&#238;&#245;&#240;&#224;&#237;&#229;&#237;");
                                                    break;
                                            default: //&#226;&#251;&#245;&#238;&#228; &#232;&#231; &#239;&#240;&#238;&#227;&#240;&#224;&#236;&#236;&#251;
                                                            textmode(defaultmode);
                                                            exit(1);
                                        };
                                        break;
                    /*----------------&#239;&#229;&#240;&#229;&#236;&#229;&#249;&#229;&#237;&#232;&#229; &#234;&#243;&#240;&#241;&#238;&#240;&#224; &#226;&#235;&#229;&#226;&#238;----------------*/
                    case 15: case 75: //&#237;&#224;&#230;&#224;&#242;&#224; Shift+Tab &#232;&#235;&#232; Left
                        prev=item;
                        if (item==0)
                                        item=N_ITEMS-1;
                        else item--;
                        break;
                    /*--------------&#239;&#229;&#240;&#229;&#236;&#229;&#249;&#229;&#237;&#232;&#229; &#234;&#243;&#240;&#241;&#238;&#240;&#224; &#226;&#239;&#240;&#224;&#226;&#238;-----------------*/
                    case 9: case 77: //&#237;&#224;&#230;&#224;&#242;&#224; Tab &#232;&#235;&#232; Right
                        prev=item;
                        if (item==N_ITEMS-1)
                            item=0;
                        else item++;
                        break;
}
clear();
clrscr();
drawitem(prev,inactivecolor); //&#226;&#251;&#226;&#238;&#228; &#239;&#240;&#229;&#228;&#251;&#228;&#243;&#249;&#229;&#227;&#238; &#239;&#243;&#237;&#234;&#242;&#224;
drawitem(item,activecolor); //&#226;&#251;&#226;&#238;&#228; &#226;&#251;&#225;&#240;&#224;&#237;&#237;&#238;&#227;&#238; &#239;&#243;&#237;&#234;&#242;&#224;
 
}
}
 
//----------------------------------&#194;&#251;&#226;&#238;&#228; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;---------------------------------------------------
void drawitem(unsigned int item, unsigned int color) {
const d=12; //&#228;&#235;&#232;&#237;&#224; &#239;&#238;&#235;&#255; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;
const char* items[N_ITEMS]={"&#207;&#240;&#238;&#241;&#236;&#238;&#242;&#240;","&#196;&#238;&#225;&#224;&#226;&#235;&#229;&#237;&#232;&#229;","&#211;&#228;&#224;&#235;&#229;&#237;&#232;&#229;","&#208;&#229;&#228;&#224;&#234;....","&#199;&#224;&#227;&#240;&#243;&#231;&#234;&#224;","&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229;","&#194;&#251;&#245;&#238;&#228;"}; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#239;&#243;&#237;&#234;&#242;&#238;&#226;
const int pos[N_ITEMS]={1,d,2*d,3*d,4*d,5*d,6*d}; //&#239;&#238;&#231;&#232;&#246;&#232;&#232; &#237;&#224;&#247;&#224;&#235;&#224; &#239;&#238;&#235;&#229;&#233; &#239;&#243;&#237;&#234;&#242;&#224;
window(1,1,80,2); //&#238;&#234;&#237;&#238; &#228;&#235;&#255; &#238;&#242;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#229; &#239;&#243;&#237;&#234;&#242;&#238;&#226;
textbackground(RED); //&#246;&#226;&#229;&#242;  &#244;&#238;&#237;&#224; &#226; &#238;&#234;&#237;&#229; &#234;&#240;&#224;&#241;&#237;&#251;&#233;
textcolor(color); //&#246;&#226;&#229;&#242; &#225;&#243;&#234;&#226; &#239;&#243;&#237;&#234;&#242;&#224;
gotoxy(pos[item],1); //&#239;&#238;&#231;&#232;&#246;&#232;&#255; &#237;&#224;&#247;&#224;&#235;&#224; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;
cprintf("%s",items[item]); //&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#239;&#243;&#237;&#234;&#242;&#238;&#226;
}
//-----------------------------------------&#200;&#237;&#232;&#246;&#232;&#224;&#235;&#232;&#231;&#224;&#246;&#232;&#255; &#236;&#229;&#237;&#254;-------------------------------------------
void initmenu(unsigned int activecolor, unsigned int inactivecolor) {
unsigned int item; //&#237;&#238;&#236;&#229;&#240; &#239;&#243;&#237;&#234;&#242;&#224; &#236;&#229;&#237;&#254;
window(1,1,80,2); //&#238;&#234;&#237;&#238; &#232;&#231; &#228;&#226;&#243;&#245; &#241;&#242;&#240;&#238;&#234; &#228;&#235;&#255; &#226;&#251;&#226;&#238;&#228;&#224; &#239;&#243;&#237;&#234;&#242;&#238;&#226;
textbackground(RED); //&#246;&#226;&#229;&#242; &#244;&#238;&#237;&#224; &#226; &#238;&#234;&#237;&#229; &#241;&#226;&#229;&#242;&#235;&#238;-&#241;&#229;&#240;&#251;&#233;
clrscr();
 
/*-----------------------------------&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#239;&#243;&#237;&#234;&#242;&#238;&#226; &#236;&#229;&#237;&#254;-----------------------------*/
drawitem(0,activecolor); //&#224;&#234;&#242;&#232;&#226;&#237;&#251;&#236; &#246;&#226;&#229;&#242;&#238;&#236; "&#207;&#240;&#238;&#241;&#236;&#238;&#242;&#240;"
for(item=1;item<N_ITEMS;item++)
        drawitem(item,inactivecolor); //&#226;&#241;&#229; &#238;&#241;&#242;&#224;&#235;&#252;&#237;&#251;&#229; &#237;&#229;&#224;&#234;&#242;&#232;&#226;&#237;&#251;&#229;
 
/*-------------------------------&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#227;&#240;&#224;&#237;&#232;&#246;&#243; &#238;&#234;&#237;&#224; &#236;&#229;&#237;&#254;, &#239;&#238;&#228;&#247;&#229;&#240;&#234;&#237;&#243;&#226; &#229;&#227;&#238; &#241;&#237;&#232;&#231;&#243;---------*/
gotoxy(1,2);
textcolor(inactivecolor);
cputs("_______________________________________________________________________________");
gotoxy(1,1); //&#234;&#243;&#240;&#241;&#238;&#240; &#237;&#224; "&#207;&#240;&#238;&#241;&#236;&#238;&#242;&#240;";
}
 
//------------------------&#199;&#224;&#227;&#235;&#243;&#248;&#234;&#224;----------------------------------------------------
void stub(unsigned int item) {
window(1,4,80,24);
textbackground(BLACK);
textcolor(WHITE);
clrscr();
cprintf("&#194;&#251;&#231;&#226;&#224;&#237; &#239;&#243;&#237;&#234;&#242; &#236;&#229;&#237;&#254; %d ",item);
getch();
}
 
//----------------------------------&#194;&#251;&#226;&#238;&#228; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255; &#238;&#248;&#232;&#225;&#234;&#232;---------------------------------------------
void error(char message[]) {
window(15,6,70,12); // &#227;&#240;&#224;&#237;&#232;&#246;&#251; &#238;&#234;&#237;&#224;
textbackground(RED);  //&#246;&#226;&#229;&#242;  &#244;&#238;&#237;
textcolor(GREEN); //&#246;&#226;&#229;&#242; &#242;&#229;&#234;&#241;&#242;&#224;
clrscr(); //&#238;&#247;&#232;&#241;&#242;&#234;&#224; &#253;&#234;&#240;&#224;&#237;&#224;
gotoxy(15,4);
cputs(message); //&#226;&#251;&#226;&#238;&#228; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255;
getch();
textmode(defaultmode);
}
 
 
//---------------------------------&#194;&#226;&#238;&#228; &#225;&#224;&#231;&#251; &#232;&#231; &#244;&#224;&#233;&#235;&#224;-------------------------------------------------------
int load(elist* &beg, elist* &fin) {
FILE *f;
int key;
char file_name[10]; //&#232;&#236;&#255; &#231;&#224;&#227;&#240;&#243;&#230;&#224;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224;
magazine magz;
dlgwindow();
window(1,6,70,12); //&#238;&#234;&#237;&#238; &#228;&#235;&#255; &#226;&#226;&#238;&#228;&#224;
gotoxy(1,1);
cprintf("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#232;&#236;&#255; &#232; &#242;&#232;&#239; &#231;&#224;&#227;&#240;&#243;&#230;&#224;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224; (*.*): ");
key=getch();
    if (key==0)  key=getch(); //&#229;&#241;&#235;&#232; &#240;&#224;&#241;&#248;&#232;&#240;&#229;&#237;&#237;&#251;&#233; &#234;&#238;&#228;
    switch(key) {
            case 27: //&#229;&#241;&#235;&#232; &#237;&#224;&#230;&#224;&#242; ESC, &#242;&#238;
                return -1; //&#226;&#229;&#240;&#237;&#243;&#242;&#241;&#255; &#237;&#224;&#231;&#224;&#228;
            }
scanf("%s",file_name);
gotoxy(1,2);
 
/*-----------------------------------&#239;&#240;&#238;&#226;&#229;&#240;&#234;&#224; &#238;&#242;&#234;&#240;&#251;&#242;&#232;&#255; &#244;&#224;&#233;&#235;&#224;-------------------------------*/
f=fopen(file_name,"r+");
if (!f) {               clrscr();
            window(15,6,70,12);
            textbackground(RED);
            textcolor(BLUE);
            clrscr();
            gotoxy(15,4);
            cprintf("&#212;&#224;&#233;&#235; %s &#237;&#229; &#237;&#224;&#233;&#228;&#229;&#237;",file_name);
            getch();
            return -1;
            }
else {
/*-------------------------------------&#247;&#242;&#229;&#237;&#232;&#229; &#231;&#224;&#239;&#232;&#241;&#229;&#233; &#232;&#231; &#244;&#224;&#233;&#235;&#224;-----------------------------------------*/
while (!feof(f)) {
            fscanf(f,"%d%d%d%d%s%d%d%d%d%d",&magz.mag,&magz.sec,&magz.check,&magz.art,&magz.name,&magz.kol,&magz.cena,&magz.dat.day,&magz.dat.month,&magz.dat.year);
            add(beg,fin,magz);  //&#228;&#238;&#225;&#224;&#226;&#235;&#229;&#237;&#232;&#229; &#226; &#241;&#239;&#232;&#241;&#238;&#234;
            }
gotoxy(1,3);
textcolor(WHITE);
cprintf("&#212;&#224;&#233;&#235; %s &#231;&#224;&#227;&#240;&#243;&#230;&#229;&#237;",file_name);
}
textcolor(LIGHTRED);
gotoxy(1,5);
cprintf("&#205;&#224;&#230;&#236;&#232;&#242;&#229; ENTER");
getch();
fclose(f);
return 0;
}
 
 
//------------------------------------&#196;&#238;&#225;&#224;&#226;&#235;&#229;&#237;&#232;&#229; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224; &#226; &#234;&#238;&#237;&#229;&#246; &#241;&#239;&#232;&#241;&#234;&#224;----------------------------
void add(elist* &beg,elist* &fin, magazine magz) {
elist *p; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#241;&#238;&#231;&#228;&#224;&#226;&#224;&#229;&#236;&#251;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242;
p=new elist; //&#241;&#238;&#231;&#228;&#224;&#237;&#232;&#229; &#237;&#238;&#226;&#238;&#227;&#238; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224;
p->data=magz; //&#231;&#224;&#239;&#238;&#235;&#237;&#229;&#237;&#232;&#229; &#229;&#227;&#238; &#232;&#237;&#244;&#238;&#240;&#236;&#224;&#246;&#232;&#238;&#237;&#237;&#238;&#233; &#247;&#224;&#241;&#242;&#232;
p->right=0; //&#231;&#224;&#239;&#238;&#235;&#237;&#229;&#237;&#232;&#229; &#229;&#227;&#238; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#229;&#233;
p->left=fin;
if (!beg) beg=p; //&#229;&#241;&#235;&#232; &#241;&#239;&#232;&#241;&#238;&#234; &#225;&#251;&#235; &#239;&#243;&#241;&#242;&#251;&#236;
    else fin->right=p; //&#239;&#240;&#232;&#226;&#255;&#231;&#234;&#224; &#237;&#238;&#226;&#238;&#227;&#238; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224; &#234; &#239;&#238;&#241;&#235;&#229;&#228;&#237;&#229;&#236;&#243;
fin=p; //&#238;&#225;&#237;&#238;&#226;&#235;&#229;&#237;&#232;&#229; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#229;&#233; &#237;&#224; &#234;&#238;&#237;&#229;&#246; &#241;&#239;&#232;&#241;&#234;&#224;
}
 
//---------------------------------&#238;&#247;&#232;&#241;&#242;&#234;&#224; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238; &#241;&#242;&#238;&#235;&#224;------------------------------------------
void clear() {
    window(1,3,80,25);
    textattr(WHITE);
    clrscr();
}
 
 
//---------------------&#199;&#224;&#239;&#240;&#238;&#241; &#241;&#226;&#229;&#228;&#229;&#237;&#232;&#233; &#238; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#229;-----------------------
magazine query() {
char s[L_TOV]; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251;
char key;
magazine magz; //&#228;&#224;&#237;&#237;&#251;&#229; &#238; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#229;
int i; //&#232;&#237;&#228;&#229;&#234;&#241; &#241;&#242;&#240;&#238;&#234;&#232;
int len; //&#228;&#235;&#232;&#237;&#224; &#241;&#242;&#240;&#238;&#234;&#232; &#241; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229;&#236; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251;
dlgwindow(); //&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#238;&#234;&#237;&#238; &#228;&#232;&#224;&#235;&#238;&#227;&#224;
 
do {
    gotoxy(2,1);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#238;&#236;&#229;&#240; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#224;: ");
    scanf("%s",s);
    magz.mag=atof(s); }
while (!magz.mag);
do {
    gotoxy(2,2);
    cputs("&#194;&#226;&#228;&#229;&#242;&#232;&#229; &#237;&#238;&#236;&#229;&#240; &#241;&#229;&#234;&#246;&#232;&#232;: ");
    scanf("%s",s);
    magz.sec=atof(s); }
while (!magz.sec);
do {
    gotoxy(2,3);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#238;&#236;&#229;&#240; &#247;&#229;&#234;&#224;: ");
    scanf("%s",s);
    magz.check=atof(s); }
while(!magz.check);
do {
    gotoxy(2,4);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#224;&#240;&#242;&#232;&#234;&#243;&#235; &#242;&#238;&#226;&#224;&#240;&#224;:");
    scanf("%s",s);
    magz.art=atof(s); }
while(!magz.art);
do {
    gotoxy(2,5);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    len=strlen(s);
    for (i=len;i<L_TOV-1;i++)
    s[i]=' ';
    s[L_TOV-1]='\0'; }
while (!len);
    strcpy(magz.name,s);
do {
    gotoxy(2,6);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    magz.kol=atof(s); }
while (!magz.kol);
do {
    gotoxy(2,7);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#246;&#229;&#237;&#243; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    magz.cena=atof(s); }
while (!magz.cena);
do {
    gotoxy(2,8);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#228;&#229;&#237;&#252;: ");
    scanf("%s",s);
    magz.dat.day=atof(s); }
while (!magz.dat.day);
do {
    gotoxy(2,9);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#236;&#229;&#241;&#255;&#246;: ");
    scanf("%s",s);
    magz.dat.month=atof(s); }
while (!magz.dat.month);
do {
    gotoxy(2,10);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#227;&#238;&#228;: ");
    scanf("%s",s);
    magz.dat.year=atof(s); }
while (!magz.dat.year);
gotoxy(2,11);
textcolor(LIGHTRED);
cputs("&#237;&#224;&#230;&#236;&#232;&#242;&#229; ENTER");
getch();
return magz;
}
 
//-------------------------------------&#194;&#251;&#226;&#238;&#228; &#225;&#224;&#231;&#251; &#237;&#224; &#253;&#234;&#240;&#224;&#237;-------------------------------------------------
int showbase(elist *beg){
int i; //&#241;&#247;&#229;&#242;&#247;&#232;&#234; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#224; &#241;&#242;&#240;&#238;&#234;
elist *p, //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#242;&#229;&#234;&#243;&#249;&#232;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242;  &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#251;
      *pn; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; 1-&#251;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#251;
int key; //&#234;&#238;&#228; &#237;&#224;&#230;&#224;&#242;&#238;&#233; &#234;&#235;&#224;&#226;&#232;&#248;&#232;
elist* showpage(elist *p);
elist* showtov(elist *p) ; //&#239;&#240;&#238;&#242;&#238;&#242;&#232;&#239; &#244;&#243;&#237;&#234;&#246;&#232;&#232; &#226;&#251;&#226;&#238;&#228;&#224; &#238;&#228;&#237;&#238;&#233; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#251;
dlgwindow();
 
    if (!beg) {//&#229;&#241;&#235;&#232; &#241;&#239;&#232;&#241;&#238;&#234; &#239;&#243;&#241;&#242;
       message("&#209;&#239;&#232;&#241;&#238;&#234; &#239;&#243;&#241;&#242;"); //&#242;&#238; &#226;&#251;&#226;&#229;&#241;&#242;&#232; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#229;
       return -1;
       }
    /*------------&#231;&#224;&#228;&#224;&#237;&#232;&#229; &#239;&#224;&#240;&#224;&#236;&#229;&#242;&#240;&#238;&#226; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238; &#238;&#234;&#237;&#224;------*/
    window(1,4,80,24);
    textcolor(WHITE);
p=beg; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#243;&#241;&#242;&#224;&#237;&#238;&#226;&#232;&#242;&#252; &#226; &#237;&#224;&#247;&#224;&#235;&#238; &#241;&#239;&#232;&#241;&#234;&#224;
while (1) {
    pn=p; //&#231;&#224;&#239;&#238;&#236;&#237;&#232;&#242;&#252; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#239;&#229;&#240;&#226;&#238;&#227;&#238; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#251;
    /*---------------&#226;&#251;&#226;&#229;&#241;&#242;&#232; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#243; &#232; &#239;&#238;&#235;&#243;&#247;&#232;&#242;&#252; &#237;&#238;&#226;&#238;&#229; &#231;&#237;&#224;&#247;&#229;&#237;&#232;&#229; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#255; &#242;&#229;&#234;&#243;&#249;&#229;&#227;&#238; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224;-----------*/
    p=showpage(p);
    /*------------------&#238;&#239;&#240;&#229;&#228;&#229;&#235;&#232;&#242;&#252; &#234;&#238;&#228; &#237;&#224;&#230;&#238;&#242;&#238;&#233; &#234;&#235;&#224;&#226;&#232;&#248;&#232;-----------*/
    key=getch();
    if (key==0) key=getch(); //&#229;&#241;&#235;&#232; &#240;&#224;&#241;&#248;&#232;&#240;&#229;&#237;&#237;&#251;&#233; &#234;&#238;&#228;
    /*---------&#243;&#239;&#240;&#224;&#226;&#235;&#229;&#237;&#232;&#229; &#239;&#240;&#238;&#234;&#240;&#243;&#242;&#234;&#238;&#233;------------------*/
    switch(key) {
        case 27: //&#237;&#224;&#230;&#224;&#242;&#224; ESC
            return 0; //&#226;&#251;&#245;&#238;&#228; &#232;&#231; &#239;&#240;&#238;&#241;&#236;&#238;&#242;&#240;&#224;
        case 80: case 81: case 77: //&#229;&#241;&#235;&#232; &#237;&#224;&#230;&#224;&#242;&#224; Down||PgDn
            if (!p) p=pn; //&#232; &#241;&#239;&#232;&#241;&#238;&#234; &#232;&#241;&#247;&#229;&#240;&#239;&#224;&#237;, &#242;&#238;
            break; //&#238;&#242;&#238;&#225;&#240;&#224;&#230;&#224;&#242;&#252; &#242;&#243; &#230;&#229; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#243;
        case 13: sort();
       /*   case 32:showtow(p)   */
        case 72: case 73: case 75://&#229;&#241;&#235;&#232; &#237;&#224;&#230;&#224;&#242; &#224; Up &#232;&#235;&#232; PgUp,
            p=pn; //&#242;&#238; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#226; &#237;&#224;&#247;&#224;&#235;&#238; &#241;&#242;&#240;&#224;&#237;&#232;&#246;&#251;
            for(i=1;(i<=STEP)&&(p);i++)
                p=p->left; //&#237;&#224; STEP &#231;&#224;&#239;&#232;&#241;&#229;&#233; &#226;&#226;&#229;&#240;&#245;
            if(!p) p=beg; //&#229;&#241;&#235;&#232; 1-&#224;&#255; &#231;&#224;&#239;&#232;&#241;&#252;
                break;
    }
}
}
 
elist* showpage(elist *p) {
int i; //&#237;&#238;&#236;&#229;&#240; &#241;&#242;&#240;&#238;&#234;&#232; &#226;&#251;&#226;&#238;&#228;&#224;
clrscr();
    gotoxy(1,1);
    cprintf("&#9556;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9559;");
    gotoxy(1,2);
    cprintf("&#9553; magaz  &#9553;sec     &#9553;check   &#9553;art     &#9553;naz_tov &#9553;kol     &#9553;cena    &#9553;data       &#9553;");
    gotoxy(1,3);
    cprintf("&#9568;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9571;");
    gotoxy(1,4);
    i=4;
    while(p) { //&#226;&#251;&#226;&#238;&#228; &#241;&#239;&#232;&#241;&#234;&#224;
           cprintf("&#9553;%-8d&#9553;%-8d&#9553;%-8d&#9553;%-8d&#9553;%-8s&#9553;%-8d&#9553;%-8d&#9553;%-2d.%-2d.%-4d &#9553;",p->data.mag,p->data.sec,p->data.check,p->data.art,p->data.name,p->data.kol,p->data.cena,p->data.dat.day,p->data.dat.month,p->data.dat.year);
           p=p->right; //&#239;&#229;&#240;&#229;&#245;&#238;&#228; &#234; &#241;&#235;&#229;&#228;&#243;&#254;&#249;&#229;&#236;&#243; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#243;
           i++; //&#243;&#226;&#229;&#235;&#232;&#247;&#232;&#226;&#224;&#229;&#236; &#241;&#247;&#229;&#242;&#247;&#232;&#234; &#228;&#235;&#255; gotoxy
           gotoxy(1,i);
           if (i>STEP) return p;
           }
           cprintf("&#9562;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9577;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9565;");
return p;
 }
 
/*elist* showtov(elist *p) {
int i2;
gotoxy(5,i+3);
    cprintf("&#9556;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9574;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9559;");
    cprintf("&#9553; magaz  &#9553;   sec  &#9553;tov_oborot                    &#9553;");
    cprintf("&#9568;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9580;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9571;");
    i2=i+5;
    while (beg) {
    beg->data.tov_ob=0;
        if ((beg->data.mag!=beg->right->data.mag))
            beg->data.tov_ob=beg->data.tov_ob+(beg->data.cena*beg->data.kol);
    i2=i+6;
    cprintf("&#9553;%-8d&#9553;%-8d&#9553;%-30d&#9553;",beg->data.mag,beg->data.sec,beg->data.tov_ob);
    beg=beg->right;
    i2++;
    gotoxy(5,i2);
    return p;
    }}}*/
 
 
 
 
 
//----------------------&#238;&#242;&#238;&#225;&#240;&#224;&#230;&#229;&#237;&#232;&#229; &#238;&#234;&#237;&#224; &#228;&#232;&#224;&#235;&#238;&#227;&#224;-----------------------------------------
void dlgwindow() {
    window(1,6,80,16);
    textattr(LIGHTGREEN);
    clrscr();
}
 
//---------------------------------&#226;&#251;&#226;&#238;&#228; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255;---------------------------------------------
void message(char message[]) {
    dlgwindow();
    gotoxy(32,7);
    cputs(message);
    getch();
}
 
 
//-------------------------------&#241;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#226; &#244;&#224;&#233;&#235;--------------------------------
void save() {
FILE *out;
int key;
char file_name[10]; //&#232;&#236;&#255; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224;
    dlgwindow(); //&#226;&#251;&#231;&#238;&#226; &#238;&#234;&#237;&#224; &#228;&#232;&#224;&#235;&#238;&#227;&#238;
    gotoxy(1,2);
    printf("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#232;&#236;&#255; &#232; &#242;&#232;&#239; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224; (*.*): ");
    key=getch();
    if (key==0)  key=getch(); //&#229;&#241;&#235;&#232; &#240;&#224;&#241;&#248;&#232;&#240;&#229;&#237;&#237;&#251;&#233; &#234;&#238;&#228;
    switch(key) {
            case 27:  //&#229;&#235;&#241;&#232; &#237;&#224;&#230;&#224;&#242;  ESC, &#242;&#238;
                return; //&#226;&#251;&#245;&#238;&#228;
            }
    scanf("%s",file_name); //&#241;&#247;&#232;&#242;&#251;&#226;&#224;&#229;&#236; &#232;&#236;&#255; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224;
    out=fopen(file_name,"w+");
    while(beg) { //&#231;&#224;&#239;&#232;&#241;&#252; &#226; &#244;&#224;&#233;&#235;
        fprintf(out,"%d %d %d %d %s %d %d %d %d %d\n",beg->data.mag,beg->data.sec,beg->data.check,beg->data.art,beg->data.name,beg->data.kol,beg->data.cena,beg->data.dat.day,beg->data.dat.month,beg->data.dat.year);
        beg=beg->right;
    }
 
    gotoxy(1,4);
    textcolor(WHITE);
    cprintf("&#212;&#224;&#233;&#235; %s &#241;&#238;&#245;&#240;&#224;&#237;&#229;&#237;",file_name);
    gotoxy(1,7);
    textcolor(LIGHTRED);
    cprintf("&#237;&#224;&#230;&#236;&#232;&#242;&#229; ENTER");
    getch();
    fclose(out);
}
 
void queryname(char *name1) {
int i; //&#232;&#237;&#228;&#229;&#234;&#241; &#241;&#242;&#240;&#238;&#234;&#232;
int len; //&#228;&#235;&#232;&#237;&#224; &#241;&#242;&#240;&#238;&#234;&#232;
char s[L_TOV]; //&#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251;
dlgwindow(); //&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#238;&#234;&#237;&#238; &#228;&#232;&#224;&#235;&#238;&#227;&#224;
 
do {
    gotoxy(2,2);
    cputs("&#210;&#238;&#226;&#224;&#240;: ");
    scanf("%s",s);
    len=strlen(s);
    for (i=len;i<L_TOV-1;i++)
        s[i]=' ';
    s[L_TOV-1]='\0'; }
while (!len);
strcpy(name1,s);
}
 
//------------&#211;&#228;&#224;&#235;&#229;&#237;&#232;&#229;-----------------
void del(elist* &beg, elist* &fin, elist *p) {
if ((p==beg)&&(p==fin)) //&#243;&#228;&#224;&#235;&#229;&#237;&#232;&#229; &#229;&#228;&#232;&#237;&#241;&#242;&#226;&#229;&#237;&#237;&#238;&#227;&#238; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224;
    {beg=0;fin=0;}
else
    if (p==beg) //&#243;&#228;&#224;&#235;&#229;&#237;&#232;&#229; &#232;&#231; &#237;&#224;&#247;&#224;&#235;&#224; &#241;&#239;&#232;&#241;&#234;&#224;
        {beg=beg->right; beg->left=0; }
else
    if (p==fin) //&#243;&#228;&#224;&#235;&#229;&#237;&#232;&#229; &#232;&#231; &#234;&#238;&#237;&#246;&#224;
        {fin=fin->left; fin->right=0; }
else { //&#243;&#228;&#224;&#235;&#229;&#237;&#232;&#229; &#232;&#231; &#241;&#229;&#240;&#229;&#228;&#232;&#237;&#251;
    p->left->right=p->right; //&#241;&#226;&#255;&#231;&#224;&#242;&#252; &#239;&#240;&#229;&#228;&#251;&#228;&#243;&#249;&#232;&#233; &#241;&#238; &#241;&#235;&#229;&#228;&#243;&#254;&#249;&#232;&#236;
p->right->left=p->left;
}
free(p);
}
 
 
//-----------------------&#209;&#238;&#240;&#242;&#232;&#240;&#238;&#226;&#234;&#224;-----------------------------
void sort() { //&#241;&#238;&#240;&#242;&#232;&#240;&#238;&#226;&#234;&#224; &#236;&#229;&#242;&#238;&#228;&#238;&#236; &#239;&#243;&#231;&#251;&#240;&#252;&#234;&#224;
magazine _data;
    p=beg;
    int n=0;
    while (p!=0) {
    n++;
    p=p->right;
    }
    if (n==0 || n==1) return;
    for (int i=0; i<=n; i++) {
        p=beg;
        while(p->right!=0) {
        if (p->data.mag>p->right->data.mag) {
        _data=p->data;
        p->data=p->right->data;
        p->right->data=_data;
        }
        p=p->right;
    }
    }
}
 
 
//-------------------------------&#208;&#229;&#228;&#224;&#234;&#242;&#232;&#240;&#238;&#226;&#224;&#237;&#232;&#229; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#224;--------------------------
magazine query2() {
char s[L_TOV];
magazine magz; //&#228;&#224;&#237;&#237;&#251;&#229; &#238; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#229;
int i; //&#232;&#237;&#228;&#229;&#234;&#241; &#241;&#242;&#240;&#238;&#234;&#232;
int len;
dlgwindow(); //&#238;&#242;&#238;&#225;&#240;&#224;&#231;&#232;&#242;&#252; &#238;&#234;&#237;&#238; &#228;&#232;&#224;&#235;&#238;&#227;&#224;
do {
    gotoxy(2,1);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#238;&#236;&#229;&#240; &#236;&#224;&#227;&#224;&#231;&#232;&#237;&#224;: ");
    scanf("%s",s);
    magz.mag=atof(s); }
while (!magz.mag);
do {
    gotoxy(2,2);
    cputs("&#194;&#226;&#228;&#229;&#242;&#232;&#229; &#237;&#238;&#236;&#229;&#240; &#241;&#229;&#234;&#246;&#232;&#232;: ");
    scanf("%s",s);
    magz.sec=atof(s); }
while (!magz.sec);
do {
    gotoxy(2,3);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#238;&#236;&#229;&#240; &#247;&#229;&#234;&#224;: ");
    scanf("%s",s);
    magz.check=atof(s); }
while(!magz.check);
do {
    gotoxy(2,4);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#224;&#240;&#242;&#232;&#234;&#243;&#235; &#242;&#238;&#226;&#224;&#240;&#224;:");
    scanf("%s",s);
    magz.art=atof(s); }
while(!magz.art);
do {
    gotoxy(2,5);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    len=strlen(s);
    for (i=len;i<L_TOV-1;i++)
    s[i]=' ';
    s[L_TOV-1]='\0'; }
while (!len);
    strcpy(magz.name,s);
do {
    gotoxy(2,6);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    magz.kol=atof(s); }
while (!magz.kol);
do {
    gotoxy(2,7);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#246;&#229;&#237;&#243; &#242;&#238;&#226;&#224;&#240;&#224;: ");
    scanf("%s",s);
    magz.cena=atof(s); }
while (!magz.cena);
do {
    gotoxy(2,8);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#228;&#229;&#237;&#252;: ");
    scanf("%s",s);
    magz.dat.day=atof(s); }
while (!magz.dat.day);
do {
    gotoxy(2,9);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#236;&#229;&#241;&#255;&#246;: ");
    scanf("%s",s);
    magz.dat.month=atof(s); }
while (!magz.dat.month);
do {
    gotoxy(2,10);
    cputs("&#194;&#226;&#229;&#228;&#232;&#242;&#229; &#227;&#238;&#228;: ");
    scanf("%s",s);
    magz.dat.year=atof(s); }
while (!magz.dat.year);
return magz;
}
 
//--------------------------------------&#200;&#241;&#239;&#240;&#224;&#226;&#235;&#229;&#237;&#232;&#229; &#231;&#224;&#239;&#232;&#241;&#232; &#238; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#229;--------------------------------
void edit(elist* beg, magazine magz) {
elist *p; //&#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252; &#237;&#224; &#237;&#224;&#233;&#228;&#229;&#237;&#237;&#251;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242;
dlgwindow();
p=find(beg,magz.mag); //&#239;&#238;&#232;&#241;&#234; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251; &#226; &#241;&#239;&#232;&#241;&#234;&#229;
if (p) {    //&#229;&#241;&#235;&#232; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#224; &#237;&#224;&#233;&#228;&#229;&#237;&#224;, &#242;&#238; &#232;&#231;&#236;&#229;&#237;&#232;&#242;&#252; &#238;&#246;&#229;&#237;&#234;&#232;
    magz=query2();
    p->data.mag=magz.mag; //&#238;&#242;&#235;&#232;&#247;&#237;&#251;&#229;
    p->data.sec=magz.sec; //&#245;&#238;&#240;&#238;&#248;&#232;&#229;
    p->data.check=magz.check; //&#243;&#228;&#238;&#226;&#235;&#229;&#242;&#226;&#238;&#240;&#232;&#242;&#229;&#235;&#252;&#237;&#251;&#229;
    p->data.artikul=magz.artikul; //&#237;&#229; &#243;&#228;&#238;&#226;&#235;&#229;&#242;&#226;&#238;&#240;&#232;&#242;&#229;&#235;&#252;&#237;&#251;&#229;
    p->data.cena=magz.cena;
    p->data.kol=magz.kol;
    p->data.dat.day=magz.dat.day;
    p->data.dat.month=magz.dat.month;   
    p->data.dat.year=magz.dat.year;
}
}
 
//---------------------------&#207;&#238;&#232;&#241;&#234; &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#224; &#226; &#241;&#239;&#232;&#241;&#234;&#229; (&#239;&#238; &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#254; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251;)---------------------------
elist *find(elist *p,char *s) {
 
while(p) {
    if (strcmp(s,p->data.mag)==0) //&#229;&#241;&#235;&#232; &#236;&#238;&#228;&#229;&#235;&#252; &#237;&#224;&#233;&#228;&#229;&#237;&#224;
        return p; //&#242;&#238; &#226;&#238;&#231;&#226;&#240;&#224;&#242;&#232;&#242;&#252; &#243;&#234;&#224;&#231;&#224;&#242;&#229;&#235;&#252;
    p=p->right; //&#239;&#229;&#240;&#229;&#245;&#238;&#228; &#234; &#241;&#235;&#229;&#228;. &#253;&#235;&#229;&#236;&#229;&#237;&#242;&#243; &#241;&#239;&#232;&#241;&#234;&#224;
    }

gotoxy(2,6);
message("&#210;&#224;&#234;&#238;&#233; &#228;&#232;&#241;&#246;&#232;&#239;&#235;&#232;&#237;&#251; &#226; &#241;&#239;&#232;&#241;&#234;&#229; &#237;&#229;&#242;");
p=0;
return p;
}


компилятор выдает следующее

[C++ Error] Unit1.cpp(626): E2285 Could not find a match for 'find<_InputIter,_Tp>(elist *,int)'
[C++ Error] Unit1.cpp(632): E2316 'artikul' is not a member of 'magazine'
[C++ Error] Unit1.cpp(632): E2316 'artikul' is not a member of 'magazine'
[C++ Error] Unit1.cpp(645): E2034 Cannot convert 'int' to 'const char *'
[C++ Error] Unit1.cpp(645): E2342 Type mismatch in parameter '__s2' (wanted 'const char *', got 'int')
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847768
Извеняюсь но почему то коментарии в коде не прогрузились
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847769
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Середакомпилятор выдает следующее

[C++ Error] Unit1.cpp(626): E2285 Could not find a match for 'find<_InputIter,_Tp>(elist
*,int)'
[C++ Error] Unit1.cpp(632): E2316 'artikul' is not a member of 'magazine'
[C++ Error] Unit1.cpp(632): E2316 'artikul' is not a member of 'magazine'
[C++ Error] Unit1.cpp(645): E2034 Cannot convert 'int' to 'const char *'
[C++ Error] Unit1.cpp(645): E2342 Type mismatch in parameter '__s2' (wanted 'const char
*', got 'int')

И какое слово из этого тебе непонятно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847771
я не могу понять почему он ругается
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847787
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Середая не могу понять почему он ругается
Он ругается потому, что в тексте программы есть ошибки. Он даже эти ошибки тебе
перечислил. Включая номера строк где они есть. Что именно тебе непонятно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847844
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений. Из уважения к форуму мог-бы перекодировать wrapped-символы в нормальное человеческое представление.
...
Рейтинг: 0 / 0
Помогите исправить ошибки в коде
    #38847863
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИз уважения к форуму мог-бы перекодировать wrapped-символы в нормальное человеческое представление.

какое представление, код то чужой и непонятный
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите исправить ошибки в коде
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]