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

C++, созданную програму поделить в классы - C++

Восстановить пароль Регистрация
 
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
26.04.2010, 20:12     C++, созданную програму поделить в классы #1
у меня есть созданная программа, с другом, сделана она без классов, но узнал условия задания что мне надо обязательно в программе использовать классы. Помогите мне разделить программу, на минимум два класса и чтоб эти классы между собой "общались", если будет проще поделить на МНОГО классов то тоже очень хорошо, КОД ПРОГРАМЫ
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
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <conio.h>
#include <sys\stat.h>
 
using namespace std;
 
 
struct student
{
 char name[25];
 char fname[35];
 float massa;
 float rost;
};
 
 
void enter(int count,student *s);
void out_head();
void out_inf(student *s,int count);
void out_inf2(student *s,int count);
void search_i(student *s,int count);
void search_f(student *s,int count);
void search_r(student *s,int count);
void search_m(student *s,int count);
void sort_m(student *s,int count);
void sort_r(student *s,int count);
 
 
void enter(int count,student *s)
{
 int i;
  for(i=0;i<count;i++)
  {
   cout<<"Enter "<<i+1<<" student name:";cin>>s[i].name;
   cout<<"Enter "<<i+1<<" student fname:";cin>>s[i].fname;
   cout<<"Enter "<<i+1<<" student massa:";cin>>s[i].massa;
   cout<<"Enter "<<i+1<<" student rost:";cin>>s[i].rost;
  }
 }
 
 
void out_head()
{
 system("cls");
  cout<<"-------------------------------------------------------------------------------\n";
 cout<<"| Nr |      Name      |       Fname       |      massa    |      rost    |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void out_inf(student *s,int count)
{
 int j=3,i;
 for(i=0;i<count;i++)
  {
  
   printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  }
 cout<<"\n-------------------------------------------------------------------------------\n";
 cout<<"| I - search name | F - search fname  |   S - rasstanovka po...\n";
 cout<<"| R - search rost   | M - search massa    |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void out_inf2(student *s,int count)
{
 int j=3,i;
 for(i=0;i<count;i++)
  {
   printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  }
 cout<<"\n-------------------------------------------------------------------------------\n";
 cout<<"|          R - rasstanovka po rostu     |         M - rasstanovka po mase      |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void search_i(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"search name:";cin>>temp.name;
  out_head();
  for(i=0;i<count;i++)
   {
    if(strcmp(s[i].name,temp.name) == 0)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
   
void search_f(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"search fname:";cin>>temp.fname;
  out_head();
  for(i=0;i<count;i++)
   {
    if(strcmp(s[i].fname,temp.fname) == 0)
  {
    printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void search_r(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"search rost:";cin>>temp.rost;
  out_head();
  for(i=0;i<count;i++)
   {
    if(s[i].rost == temp.rost)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void search_m(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"search massa:";cin>>temp.massa;
  out_head();
  for(i=0;i<count;i++)
   {
    if(s[i].massa == temp.massa)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void sort_m(student *s,int count)         
{                                       
 student temp;int i,k,j=3;               
      
   for (i=0;i<count;i++)
    {
     for (k=0;k<count;k++)
      {
       if(s[i].massa < s[k].massa)
     {
      temp = s[i];
         s[i] = s[k];
      s[k] = temp;
        }
      }
    }
 for(i=0;i<count;i++)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;  
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void sort_r(student *s,int count)         
{                                       
 student temp;int i,k,j=3;               
      
   for (i=0;i<count;i++)
    {
     for (k=0;k<count;k++)
      {
       if(s[i].rost < s[k].rost)
     {
      temp = s[i];
         s[i] = s[k];
      s[k] = temp;
        }
      }
    }
 for(i=0;i<count;i++)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;  
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
int main()
{
    int n;
 system("cls");
 cout<<"skolko v komande igrakov \n" ;
 cout<<"(vvedite cyfru - skolko igrakov):";cin>>n;
 student *s;
 s=(student*)calloc(n,sizeof(student)); 
 enter(n,s);
m1:
 out_head();
 out_inf(s,n);
 char c = getch();
  if(c == 'i' || c == 'I')
   {
    search_i(s,n);
 getch();
 goto m1;
   }
  if(c == 'f' || c == 'F')
   {
   search_f(s,n);
   getch();
   goto m1;
   }
  if(c == 'm' || c == 'M')
   {
    search_m(s,n);
    getch();
 goto m1;
   }
  if(c == 'r' || c == 'R')
   {
    search_r(s,n);  
 getch();
 goto m1;
   }
  if(c == 's' || c == 'S')
   {
    out_head();
    out_inf2(s,n);
    char d = getch();
    if(d == 'r' || d == 'R')
     {
      sort_r(s,n);  
    getch();
   goto m1;
     }
    if(d == 'm' || d == 'M')
     {
      sort_m(s,n);  
     getch();
   goto m1;
     }
   }  
   
  FILE *f;
  f = fopen("D:\\textfile.TXT","w+");
  for(int i=0;i<n;i++)
   {
    fprintf(f,"%s\t",s[i].name);
    fprintf(f,"%s\t",s[i].fname);
    fprintf(f,"%0.1f\t",s[i].massa);
    fprintf(f,"%0.1f\n",s[i].rost);
   }
   fclose(f);
   free(s);    
   return EXIT_SUCCESS;
}
Добавлено через 1 минуту
тут в основном работают void'ы так думаю слишком много проблем не будет, но у меня ничего не получается, если можно переделайте код уже с классами и прешлите, в среду зачет по ней, а сессия на носу, честно не УСПЕВАЮ... ////:

Добавлено через 1 минуту
и сам еще не силен в програмирыванние только на первом курсе... СПАСИБО Заранее...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
26.04.2010, 20:30     C++, созданную програму поделить в классы #2
pqi, два вопроса:
1) Зачем вам столько библиотек? Вы же и трети из них не используете
2) Почему вы используете одновременно потоки ввода/вывода С++ и функции консольного и файлового ввода/вывода языка С? Это не хорошо

По сути ваша структура Студент может быть уже классом, осталось только struct заменить на class, выставить модификаторы доступа и перенести прототипы функций в описание касса
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
26.04.2010, 20:32  [ТС]     C++, созданную програму поделить в классы #3
Цитата Сообщение от M128K145 Посмотреть сообщение
pqi, два вопроса:
1) Зачем вам столько библиотек? Вы же и трети из них не используете
2) Почему вы используете одновременно потоки ввода/вывода С++ и функции консольного и файлового ввода/вывода языка С? Это не хорошо

По сути ваша структура Студент может быть уже классом, осталось только struct заменить на class, выставить модификаторы доступа и перенести прототипы функций в описание касса
я примерно понимаю что вы хотите мне сказать, но все же не предстовляю как это сделать, я же говорю не опотный библиотеки да сам терь в шоке, нан их внимания как-то не обращал ^^
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
27.04.2010, 00:15     C++, созданную програму поделить в классы #4
все что нашол я вот и подключил
с Dev до етого не роботал поетому столько и закинул
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.04.2010, 00:19     C++, созданную програму поделить в классы #5
Цитата Сообщение от Radjuk Посмотреть сообщение
все что нашол я вот и подключил


Добавлено через 1 минуту
Цитата Сообщение от M128K145 Посмотреть сообщение
о сути ваша структура Студент может быть уже классом, осталось только struct заменить на class, выставить модификаторы доступа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class student{
private:
 char name[25];
 char fname[35];
 float massa;
 float rost;
public:
void enter(int count,student *s);
void out_head();
void out_inf(student *s,int count);
void out_inf2(student *s,int count);
void search_i(student *s,int count);
void search_f(student *s,int count);
void search_r(student *s,int count);
void search_m(student *s,int count);
void sort_m(student *s,int count);
void sort_r(student *s,int count);
};
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
27.04.2010, 12:07  [ТС]     C++, созданную програму поделить в классы #6
Цитата Сообщение от PointsEqual Посмотреть сообщение


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


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class student{
private:
 char name[25];
 char fname[35];
 float massa;
 float rost;
public:
void enter(int count,student *s);
void out_head();
void out_inf(student *s,int count);
void out_inf2(student *s,int count);
void search_i(student *s,int count);
void search_f(student *s,int count);
void search_r(student *s,int count);
void search_m(student *s,int count);
void sort_m(student *s,int count);
void sort_r(student *s,int count);
};
да все тогда хорошо, будет как класс, но проблема в том, что мне эту программу надо разбить хотя бы на два класса ////: и я не понимаю как тогда INT перемещать с класса на класс (как-то со стрелочками, но с ними же вообще не шарю), хотя бы чтоб один класс был то что там ты переделал, а второй класс уже вся остальная программа и чтоб эти классы между собой общались, правда буду благодарен... оооочен благодарен.

оригинал
da vsio togda xorosho, budet kak klass, no problema v tom chto mne etu programu nado razbit xotiaby na dva klassa ////: i ja ne ponimaju kak togda INT peremeschiat s klassa na klas (kakto so strelachkami, no s nimi ja voshe ne shariu), xotiaby chtob odin klass byl to chto tam ty peredelal, a vtoroj klass uzhe vsia ostolnaja programa i chtob eti klassy mezhdu soboj obshialis, pravda budu blagodaren... oooochen blagodaren.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
27.04.2010, 18:18     C++, созданную програму поделить в классы #7
pqi, пишите кириллицей, если нет возможности, то воспользуйтесь виртуальной клавиатурой
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
27.04.2010, 20:44  [ТС]     C++, созданную програму поделить в классы #8
Цитата Сообщение от PointsEqual Посмотреть сообщение


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


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class student{
private:
 char name[25];
 char fname[35];
 float massa;
 float rost;
public:
void enter(int count,student *s);
void out_head();
void out_inf(student *s,int count);
void out_inf2(student *s,int count);
void search_i(student *s,int count);
void search_f(student *s,int count);
void search_r(student *s,int count);
void search_m(student *s,int count);
void sort_m(student *s,int count);
void sort_r(student *s,int count);
};
выкидывает ошибку в конце программы самую последнюю } кривую скобку где уже полная программа..
и пишет в ошибках:
312 \main.cpp expected `}' at end of input
312\main.cpp expected unqualified-id at end of input
312 \main.cpp expected `,' or `;' at end of input

что делать????? добовлял и отнимал скобки, точка запятая тоже ставил... все же такая-же хрень!!
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
27.04.2010, 20:50     C++, созданную програму поделить в классы #9
pqi, выложите весь код
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2010, 21:12     C++, созданную програму поделить в классы
Еще ссылки по теме:

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы C++
Поделить стек на части C++
Как сделать уже созданную переменную ссылкой C++

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

Или воспользуйтесь поиском по форуму:
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
27.04.2010, 21:12  [ТС]     C++, созданную програму поделить в классы #10
Цитата Сообщение от M128K145 Посмотреть сообщение
pqi, выложите весь код
все вроде решил сам, все же точка запятая не хвотало ^^

но вот еще, как сделать чтоб можно было вписывать место Массы "например Оценки Ученика" а потом посчитать средний бал, и чтоб у одного ученика как минимум две оценки (можно былоб вписивать)... и средний бал каждого ученика например вывести там где в табличке теперешней РОСТ..????????

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
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <conio.h>
#include <sys\stat.h>
 
using namespace std;
 
class student{
 
public:
 
 char name[25];
 char fname[35];
 float massa;
 float rost;
       
void enter(int count,student *s);
void out_head();
void out_inf(student *s,int count);
void out_inf2(student *s,int count);
void search_i(student *s,int count);
void search_f(student *s,int count);
void search_r(student *s,int count);
void search_m(student *s,int count);
void sort_m(student *s,int count);
void sort_r(student *s,int count);
 
 
};
void enter(int count,student *s)
{
 int i;
  for(i=0;i<count;i++)
  {
   cout<<"Enter "<<i+1<<" student name:";cin>>s[i].name;
   cout<<"Enter "<<i+1<<" student fname:";cin>>s[i].fname;
   cout<<"Enter "<<i+1<<" student massa:";cin>>s[i].massa;
   cout<<"Enter "<<i+1<<" student rost:";cin>>s[i].rost;
  }
 }
 
 
void out_head()
{
 system("cls");
  cout<<"-------------------------------------------------------------------------------\n";
 cout<<"| Nr |      Vardas      |       Pavarde       |      svoris    |      Ugis    |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void out_inf(student *s,int count)
{
 int j=3,i;
 for(i=0;i<count;i++)
  {
 
   printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  }
 cout<<"\n-------------------------------------------------------------------------------\n";
 cout<<"| I - iesko pagal varda | F - iesko pagal pavarde  |   S - pasirinkti rusiavima\n";
 cout<<"| R - iesko pagal ugi   | M - iesko pagal svori    |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void out_inf2(student *s,int count)
{
 int j=3,i;
 for(i=0;i<count;i++)
  {
 
   printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  }
 cout<<"\n-------------------------------------------------------------------------------\n";
 cout<<"|          R - rusiuoti pagal ugi     |         M - rusiuoti pagal svori      |\n";
 cout<<"-------------------------------------------------------------------------------\n";
}
 
void search_i(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"Ieskoti pagal varda:";cin>>temp.name;
  out_head();
  for(i=0;i<count;i++)
   {
    if(strcmp(s[i].name,temp.name) == 0)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
   
void search_f(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"Ieskoti pagal pavarde:";cin>>temp.fname;
  out_head();
  for(i=0;i<count;i++)
   {
    if(strcmp(s[i].fname,temp.fname) == 0)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void search_r(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"Ieskoti pagal ugi:";cin>>temp.rost;
  out_head();
  for(i=0;i<count;i++)
   {
    if(s[i].rost == temp.rost)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void search_m(student *s,int count)
{
  int j=3,i;
  student temp;
  
 
  cout<<"Ieskoti pagal svori:";cin>>temp.massa;
  out_head();
  for(i=0;i<count;i++)
   {
    if(s[i].massa == temp.massa)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;
  } 
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void sort_m(student *s,int count)         
{                                       
 student temp;int i,k,j=3;               
      
   for (i=0;i<count;i++)
    {
     for (k=0;k<count;k++)
      {
       if(s[i].massa < s[k].massa)
     {
      temp = s[i];
         s[i] = s[k];
      s[k] = temp;
        }
      }
    }
 for(i=0;i<count;i++)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;  
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
void sort_r(student *s,int count)         
{                                       
 student temp;int i,k,j=3;               
      
   for (i=0;i<count;i++)
    {
     for (k=0;k<count;k++)
      {
       if(s[i].rost < s[k].rost)
     {
      temp = s[i];
         s[i] = s[k];
      s[k] = temp;
        }
      }
    }
 for(i=0;i<count;i++)
  {
 
      printf("|%3d |%15s   |%17s    |%12.1f    |%11.1f   |",i+1,s[i].name,s[i].fname,s[i].massa,s[i].rost);
   j++;  
   }
  cout<<"\n-------------------------------------------------------------------------------\n"; 
  cout<<"|\t\t\tPaspausti enter pratesimui...\t\t\t      |\n";
  cout<<"-------------------------------------------------------------------------------\n"; 
}
 
int main()
{
    int n;
 system("cls");
 cout<<"Iveskite skaiciu, norint pratesti registravima \n" ;
 cout<<"(skaicius atitinka - ivedamu zaideju skaiciui):";cin>>n;
 student *s;
 s=(student*)calloc(n,sizeof(student)); 
 enter(n,s);
m1:
 out_head();
 out_inf(s,n);
 char c = getch();
  if(c == 'i' || c == 'I')
   {
    search_i(s,n);
 getch();
 goto m1;
   }
  if(c == 'f' || c == 'F')
   {
   search_f(s,n);
   getch();
   goto m1;
   }
  if(c == 'm' || c == 'M')
   {
    search_m(s,n);
    getch();
 goto m1;
   }
  if(c == 'r' || c == 'R')
   {
    search_r(s,n);  
 getch();
 goto m1;
   }
  if(c == 's' || c == 'S')
   {
    out_head();
    out_inf2(s,n);
    char d = getch();
    if(d == 'r' || d == 'R')
     {
      sort_r(s,n);  
    getch();
   goto m1;
     }
    if(d == 'm' || d == 'M')
     {
      sort_m(s,n);  
     getch();
   goto m1;
     }
   }  
   
  FILE *f;
  f = fopen("D:\\sportininku duomenys.TXT","w+");
  for(int i=0;i<n;i++)
   {
    fprintf(f,"%s\t",s[i].name);
    fprintf(f,"%s\t",s[i].fname);
    fprintf(f,"%0.1f\t",s[i].massa);
    fprintf(f,"%0.1f\n",s[i].rost);
   }
   fclose(f);
   free(s);    
   return EXIT_SUCCESS;
}
Добавлено через 12 минут
SVORIS - масса
UGIS - рост
Yandex
Объявления
27.04.2010, 21:12     C++, созданную програму поделить в классы
Ответ Создать тему
Опции темы

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