,   CyberForum.ru

- C++

 
roman777
0 / 0 / 0
: 20.02.2011
: 59
15.05.2011, 19:42     #1
,
- void add_in_file(int n)
?

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
#include <iostream>
#include <conio.h>
#include <string>
#include <stdio>
#define MAXT 30
using namespace std;
 
void scan();       //äëÿ ôó*êöèé ïèøóòñÿ ïðîòîòèïû ïåðåä ìåé*îì..
void firm_search( int n);
void min_price(int n);
void all_tovars(int n);
void add_in_file(int n);
 
struct date
{
        int dd, mm, yy;
};
struct tovar
{
        char name[30];
        char firm[30];
        double price;
        short int kol;
        char naimenovanie[50];
        char country[30];
        date day;
}t[MAXT];               // ãëîá*ëü**ÿ ïåðåìå***ÿ
 
int main()
{
        int c;
        cout<<"1. BBecTu 3aIIucu B Fau'JI"<<endl;
        cout<<"2. C4uTatb daHHbIe u3 Fau'JIa"<<endl;
        cout<<"3. YdaJIuTb 3aIIucu"<<endl;
        cout<<"4. BbIxod"<<endl;
 
        cin>>c;
        if(c==0 || c>4){
        cout<<"HeBePHbIu' BbI6op!"<<"dJI9I IIpodoJIjeHu9I Ha3Mute JIy6yjy kHoIIky"<<endl;
        getch();
        }
 
        if(c>0 && c<4){
                switch (c){
                case 1: scan(); break;
                //case 2: read_file(); break;
 
            }
        }
 
        if(c==4) exit(1);
 
        //int n;
        //cout<<"\nVedite kol-vo tovarov, dannie o kotopix bydete voditb: ";
        //cin>>n;
 
       // tovar * a = new tovar[n]; //óæå åñòü ãëîá*ëü*ûé òîâ*ð ò
                                                                        // ÷òîáû *å ïåðåä*â*òü ê*æäûé ð*ç â ôó*êöèþ..
        //scan(n);
        //firm_search(n);
        //min_price(n);
        //all_tovars(n);
 
 
 
        system("pause");
 
        return 0;
 
}
 
 
void scan()
{
           int n;
        cout<<"\nVedite kol-vo tovarov, dannie o kotopix bydete voditb: ";
        cin>>n;
      for (int i=0; i<n; i++) {
      cout<<endl<<"------------------Dannie o "<<i+1<<"-om tovare------------------"<<endl<<endl;
 
      cout<<"HauMeHoBaHue ToBapa: ";
      cin>>t[i].name;
 
      cout<<"FupMa IIocTaBLLI,uK: ";
      cin>>t[i].firm;
 
      cout<<"cTouMocTb: ";
      cin>>t[i].price;
 
      cout<<"KoJI-Bo: ";
      cin>>t[i].kol;
 
      cout<<"cTpaHa IIocTaBLLI,uK: ";
      cin>>t[i].country;
 
      cout<<"DaTa IIocTyIIJIeHu9I ToBapa: "<<endl; // ìîæ*î ââîäèòü 3 ÷èñë* ÷åðåç ïðîáåë, "6 5 2011"
      cin>>t[i].day.dd;
      cin>>t[i].day.mm;
      cin>>t[i].day.yy;
      }
 
            firm_search(n);
            min_price(n);
            all_tovars(n);
            add_in_file(n);
};
 
void firm_search(int n)
{
        int i, j, k, l;
        struct foo { char fi[30]; };
        foo f[MAXT];
        for (i = 0; i < n; i++)
                // êîïèðóåì âñå ôèðìû òîâ*ðîâ â äðóãîé ì*ññèâ
                strcpy(f[i].fi, t[i].firm); 
 
        //ñîçä*åì *îâûé ì*ññèâ ñî ñïèñêîì **øèõ ôèðì è öèêëîì â*îñèì â *åãî ä***ûå...
        char temp[30];
        k = n;
        for (i = 0; i < k-1; i++)
        {
                //ç*ïèñûâ*åì ç**÷å*èÿ èç f[i].fi â temp
                strcpy(temp, f[i].fi);
                        // Òóò ïðîèñõîäèò óä*ëå*èå ïîâòîðÿþùèõñÿ ôèðì
                // â òåìï ïîëîæèëè 1 ýëåìå*ò, **÷è**åì ñð*â*èâ*òü ñî âòîðîãî, ïîýòîìó j = i+1
                for (j = i + 1; j < k; j++)
                {
                        //ñâåðÿåì ç**÷å*èÿ ì*ññèâîâ temp è f[j].fi, åñëè = 0, òî ç**÷å*èÿ îäè**êîâû
                        if (strcmp(temp, f[j].fi) == 0)
                        {               // åñëè **øëè ñîâï*äå*èå, òî ïðîõîäèì äî êî*ö* ì*ññèâ*
                                                                // êîïèðóÿ j+1 ýëåìå*ò â j, òåì ñ*ìûì ç*òèð*ÿ **éäå**îå ïîâòîðå*èå
                                                                //
                                for (l = j; l < k; l++)
                                        // ???
                                        strcpy(f[j].fi, f[j+1].fi);
                                // k - êîë-âî ýëåìå*òîâ â ì*ññèâå f[].fi
                                                                // ò.å. 1 ïîâòîðÿþùèéñÿ ýëåìå*ò ìû óä*ëèëè, k óìå*üø*åì ** 1
                                k--;
                                                                j = i + 1; //**÷è**åì ïðîâåðêó ñ **÷*ë* ñïèñê*.
                        }
                }
                // â èòîãå ïîëó÷*åì ñïèñîê ôèðì.
                // **âåð*î ýòî ìîæ*î ñäåë*òü ê*ê òî ïðîùå, ïðè ñ*ìîì ñîçä**èè ýòî ì*ññèâ*
                // *î ýòî ïåðâûé *ëãîðèòì êîòîðûé ïðèø¸ë ì*å â ãîëîâó
        }
 
        int more = 0, findet = 0;
        int count;
                // òóò èùåì ôèðìó îò êîòîðîé áîëüøå âñåãî òîâ*ðîâ
        for (i = 0; i < k; i++)
        {       
                // êîïèðóåì 1 **çâ**èå â òåìï
                strcpy(temp, f[i].fi);
                count = 0;
                for (j = 0; j < n; j++) // ïðîõîäèì ïî ê*æäîìó òîâ*ðó
                        // åñëè òîâ*ð îò ôèðìû êîòîð*ÿ ëåæèò â temp
                        if (strcmp(temp, t[j].firm) == 0)
                                 count++;       // óâåëè÷èâ*åì ñ÷¸ò÷èê
                if (count > more) // â more áóäåò ñèäåòü **èáîëüøåå ÷èñëî ïîâòîðå*èé
                                
                                {               // åñëè **øëè ôèðìó, êîòîð*ÿ âñòðå÷*åòñÿ ÷*ùå ïðåäûäóùåé
                                        more = count; // ïðèñâ*èâ*åì more ýòî ÷èñëî
                                        findet = i; // è ç*ïîìè**åì è*äåêñ ôèðìû
                                }
        }
                printf("\n________________________________________________________________________________\n\n- 6oJIbLLI,e Bcero ToBapa IIocTyIIuJIo oT:  %s\n", t[findet].firm); //ïå÷*ò*åì ôèðìó ñ ýòèì è*äåêñîì.
 
}
 
void min_price(int n)
{
    int i, min;
   char name[100];
 
   min = t[0].price;
   strcpy(name, t[0].name);
 
   for (i = 1; i < n; i++){
 
    if  (t[i].price < min){
        min = t[i].price;
        strcpy(name, t[i].name);
        }
   }
 cout<<endl<<"- ToBap c MuHuMaJIbHou' cTouMocT'y: "<<name<<endl;
}
 
void all_tovars(int n)
{
    int i, sum;
 
   sum = 0;
 
   for (i = 0; i < n; i++){
    sum+=t[i].kol;
    }
   cout<<endl<<"- Bcero IIocTyIIuJIo "<<sum<<" ToBapoB"<<"\n________________________________________________________________________________"<<endl;
}
 
void add_in_file(int n)
{
  FILE *fp;
  fp = fopen("data.txt", "w");
 
 
        for (int i=0; i <n; i++){
      fprintf(fp, "------------------Dannie o %s-om tovare------------------ \n\n", i);
      fprintf(fp, "HauMeHoBaHue ToBapa: %s \n", t[i].name);
      fprintf(fp, "FupMa IIocTaBLLI,uK: %s \n", t[i].firm);
      fprintf(fp, "cTouMocTb: %s \n", t[i].price);
      fprintf(fp, "KoJI-Bo: %s \n", t[i].kol);
      fprintf(fp, "cTpaHa IIocTaBLLI,uK: %s \n", t[i].country);
      fprintf(fp, "DaTa IIocTyIIJIeHu9I ToBapa: %d %d %d \n", t[i].day.dd, t[i].day.mm, t[i].day.yy);
 
      //fprintf(fp, "------------------Dannie o %s-om tovare------------------ \n\nHauMeHoBaHue ToBapa: %s \nFupMa IIocTaBLLI,uK: %s \ncTouMocTb: %s \nKoJI-Bo: %s \ncTpaHa IIocTaBLLI,uK: %s \nDaTa IIocTyIIJIeHu9I ToBapa: %d %d %d \n", i, t[i].name, t[i].firm, t[i].price, t[i].kol, t[i].country, t[i].day.dd, t[i].day.mm, t[i].day.yy);
      }
 
  fclose(fp);
}
     
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
15.05.2011, 19:42    
:

C++
. :( C++
C++
C++
C++
C++
C++ io.h
C++



:
.
roman777
0 / 0 / 0
: 20.02.2011
: 59
16.05.2011, 13:55  []     #2
)

17 52
-
dampir_sanek
149 / 147 / 21
: 09.02.2010
: 407
16.05.2011, 14:11     #3
roman777, add_in_file
C
1
fprintf(fp, "KoJI-Bo: %s \n", t[i].kol);

C
1
fprintf(fp, "KoJI-Bo: %d \n", t[i].kol);
int %s.
Yandex
16.05.2011, 14:11    

: 21:06. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru