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

Сделать сортировку или выбор из класса? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись и чтения из файла матрицы http://www.cyberforum.ru/cpp-beginners/thread1203655.html
Здравствуйте! Подскажите, пожалуйста, как сделать запись в файл матрицы, а также загрузку из него матрицы (желательно С++ функциями). Спасибо большое! МАТРИЦА cout << "\nEnter rows size: "; cin >> k; cout << "\nEnter columns size: "; cin >> m; //------------------------Выделение памяти------------------------------------
C++ Определить, является ли матрица магическим квадратом 6. Дана целая квадратная матрица п-го порядка. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы. Только нужно сделать так чтоб матрицу и все данные мы вводили сами. http://www.cyberforum.ru/cpp-beginners/thread1203654.html
Копирование памяти под std::string C++
Есть код: const int N = 3; string* pstr = (string*)malloc(sizeof(string) * N); string arrstr; memcpy(pstr, arrstr, sizeof(string) * N); pstr = "string0"; pstr = "string1";
C++ Записать всю информацию из файла в другой файл
в файл нужно записывать информацию , которая хранится после чисел -1 -1 55, ниже указан пример информации в файле -1 -1 55 ufkahfku rhkauhkakhra hu ara aa raw raw aw -1 -1
C++ Как записать все числа из файла в вектор? http://www.cyberforum.ru/cpp-beginners/thread1203604.html
Числа хранятся в таком формате, слово Fail потом идет набор чисел и заканчивается двумя пустыми строчками и потом повторяется ниже указан пример bla bla blal fail 9.755 0 2 55 25 2 52 52 2 2.525 2.2 52.5. dahkja ai a aia fail 1515.153315 5151.5 5 44 и так далее
C++ Файлы: вывести информацию об абитуриентах, проживающих в деревнях с населением выше 30 человек 9. Ведомость абитуриентов содержит ФИО, населенный пункт проживания, суммарный балл. Информация о населенном пункте включает в себя население, тип пункта, область. Вывести информацию об абитуриентах, проживающих в деревнях с населением выше 30 человек и имеющих суммарный балл выше 100. подробнее

Показать сообщение отдельно
stepa3800
2 / 2 / 0
Регистрация: 10.12.2013
Сообщений: 41
09.06.2014, 16:33     Сделать сортировку или выбор из класса?
помогите вставить сортировку ну или выборку
Создать класс, содержащий сведения о том, какие из пяти дисциплин по выбору желает изучить студент. Структура: Фамилия студента, индекс группы, пять дисциплин, средний балл успеваемости. Выбираемая дисциплина отмечается -1, иначе 0. Написать программу, выдающую список студентов, желающих прослушать дисциплину Х. Если число желающих превысит 5 человек, то отобрать студентов, имеющих более высокий средний балл. Данные и результаты должны храниться в файлах. Предусмотреть возможность добавления информации, удаления отдельных записей.
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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <fstream>
 
int n=3;
using namespace std;
class instityt
{
char familia[25];
char index[25];
int diciplina1;
int diciplina2;
int diciplina3;
int diciplina4;
int diciplina5;
int sredni;
public:
    void fam(char* str){strcpy(familia,str);}
    char* fam2(){return familia;}
    void ind(char* str){strcpy(index,str);}
    char* ind2(){return index;}
    void dis11(int a){diciplina1=a;}
    int dis12(){return diciplina1;}
    void dis21(int a){diciplina2=a;}
    int dis22(){return diciplina2;}
    void dis31(int a){diciplina3=a;}
    int dis32(){return diciplina3;}
    void dis41(int a){diciplina4=a;}
    int dis42(){return diciplina4;}
    void dis51(int a){diciplina5=a;}
    int dis52(){return diciplina5;}
    void sre(int a){sredni=a;}
    int sre2(){return sredni;}
};
 
void vvod()
{
 FILE *fp;
    fp=fopen("instityt.txt","w");
    int i,diciplina1,diciplina2,diciplina3,diciplina4,diciplina5,sredni;
    char familia[25],index[25];
    instityt *vk;
    vk=new instityt[n];
    for(i=0;i<n;i++){
        cout<<"familia: "; cin>>familia;
        cout<<"index: "; cin>>index;
        cout<<"diciplina1: "; cin>>diciplina1;
        cout<<"diciplina2: "; cin>>diciplina2;
        cout<<"diciplina3: "; cin>>diciplina3;
        cout<<"diciplina4: "; cin>>diciplina4;
        cout<<"diciplina5: "; cin>>diciplina5;
        cout<<"sredni' ball: "; cin>>sredni; cout<<"\n"<<"\n";
        vk[i].fam(familia);
        vk[i].ind(index);
        vk[i].dis11(diciplina1);
        vk[i].dis21(diciplina2);
        vk[i].dis31(diciplina3);
        vk[i].dis41(diciplina4);
        vk[i].dis51(diciplina5);
        vk[i].sre(sredni);
        fwrite(&vk[i],sizeof(instityt),1,fp);
    }fclose(fp);
}
 
void vivod()
{ cout<<"\n"<<"\n";
    FILE *fp;
    int i,j,num[5];
    instityt *vk;
    vk=new instityt[n];
    fp=fopen("instityt.txt","r");
    for(i=0;i<n;i++){
       fread(&vk[i],sizeof(instityt),1,fp);
    }
    for(i=0;i<n;i++){
        cout<<"familia: "<<vk[i].fam2()<<"\n";
        cout<<"index: "<<vk[i].ind2()<<"\n";
        cout<<"diciplini1: "<<vk[i].dis12()<<"\n";
        cout<<"diciplini2: "<<vk[i].dis22()<<"\n";
        cout<<"diciplini3: "<<vk[i].dis32()<<"\n";
        cout<<"diciplini4: "<<vk[i].dis42()<<"\n";
        cout<<"diciplini5: "<<vk[i].dis52()<<"\n";
        cout<<"sredni' ball: "<<vk[i].sre2()<<"\n"<<"\n";
    }
 
}
 
void zadanie()
{
   FILE *fp,*fp1;
    int b,i,j,z=0,num;
    instityt *vk;
    //char familia[25];
    vk=new instityt[n];
    fp=fopen("instityt.txt","rb");
    fp1=fopen("zadanie.txt","wt");
    for(i=0;i<n;i++){
       fread(&vk[i],sizeof(instityt),1,fp);
    }
 
    cout<<"Viberite discipiny: ";
    cin>>b;
    switch(b){
        case 1:
            for(i=0;i<n;i++)
            {if(vk[i].dis12()!=0){
                       fprintf(fp1,"familia: ");fprintf(fp1,"%s",vk[i].fam2());fprintf(fp1,"\n");
                        fprintf(fp1,"index: ");fprintf(fp1,"%s",vk[i].ind2());fprintf(fp1,"\n");
                        fprintf(fp1,"sredni' ball: ");fprintf(fp1,"%d",vk[i].sre2());fprintf(fp1,"\n\n");
                       //fwrite(&vk[i],sizeof(instityt),1,fp1);};
                       z++;}
                 };break;
        case 2:
            for(i=0;i<n;i++)
            {if(vk[i].dis22()!=0){
                       fprintf(fp1,"familia: ");fprintf(fp1,"%s",vk[i].fam2());fprintf(fp1,"\n");
                        fprintf(fp1,"index: ");fprintf(fp1,"%s",vk[i].ind2());fprintf(fp1,"\n");
                        fprintf(fp1,"sredni' ball: ");fprintf(fp1,"%d",vk[i].sre2());fprintf(fp1,"\n\n");
                       //fwrite(&vk[i],sizeof(instityt),1,fp1);};
                       z++;}
                 };break;
        case 3:
            for(i=0;i<n;i++)
            {if(vk[i].dis32()!=0){
                       fprintf(fp1,"familia: ");fprintf(fp1,"%s",vk[i].fam2());fprintf(fp1,"\n");
                        fprintf(fp1,"index: ");fprintf(fp1,"%s",vk[i].ind2());fprintf(fp1,"\n");
                        fprintf(fp1,"sredni' ball: ");fprintf(fp1,"%d",vk[i].sre2());fprintf(fp1,"\n\n");
                       //fwrite(&vk[i],sizeof(instityt),1,fp1);};
                       z++;}
                 };break;
        case 4:
            for(i=0;i<n;i++)
            {if(vk[i].dis42()!=0){
                       fprintf(fp1,"familia: ");fprintf(fp1,"%s",vk[i].fam2());fprintf(fp1,"\n");
                        fprintf(fp1,"index: ");fprintf(fp1,"%s",vk[i].ind2());fprintf(fp1,"\n");
                        fprintf(fp1,"sredni' ball: ");fprintf(fp1,"%d",vk[i].sre2());fprintf(fp1,"\n\n");
                       //fwrite(&vk[i],sizeof(instityt),1,fp1);};
                       z++;}
                 };break;
        case 5:
            for(i=0;i<n;i++)
            {if(vk[i].dis52()!=0){
                       fprintf(fp1,"familia: ");fprintf(fp1,"%s",vk[i].fam2());fprintf(fp1,"\n");
                        fprintf(fp1,"index: ");fprintf(fp1,"%s",vk[i].ind2());fprintf(fp1,"\n");
                        fprintf(fp1,"sredni' ball: ");fprintf(fp1,"%d",vk[i].sre2());fprintf(fp1,"\n\n");
                       //fwrite(&vk[i],sizeof(instityt),1,fp1);};
                       z++;}
                 };break;
            }
 
 
    cout<<"soxraneny v file\n";
   fclose(fp);fclose(fp1);getch();
}
 
void udal()
{
 int i;
    instityt *vk;
    int k;
    vk=new instityt[n];
    FILE *fp;
    fp=fopen("instityt.txt","r");
    for(i=0;i<n;i++){
      fread(&vk[i],sizeof(instityt),1,fp);
    } fclose(fp);
    fp=fopen("instityt.txt","wb");
    cout<<"Kakuy zapis udalit?";cin>>k;
    for(i=0;i<n;i++){
            if(i!=k){
      fwrite(&vk[i],sizeof(instityt),1,fp);
            }
    }fclose(fp);n-=1;
}
 
void dobavit()
{
   FILE *fp,*fp1;
    int i,diciplina1,diciplina2,diciplina3,diciplina4,diciplina5,sredni;
    char familia[25],index[25];
    instityt *vk;
    vk=new instityt[n+1];
    fp1=fopen("instityt.txt","r");
    for(i=0;i<n;i++){
       fread(&vk[i],sizeof(instityt),1,fp1);
    }fclose(fp1);
 
       cout<<"familia: "; cin>>familia;
        cout<<"index: "; cin>>index;
        cout<<"diciplina1: "; cin>>diciplina1;
        cout<<"diciplina2: "; cin>>diciplina2;
        cout<<"diciplina3: "; cin>>diciplina3;
        cout<<"diciplina4: "; cin>>diciplina4;
        cout<<"diciplina5: "; cin>>diciplina5;
        cout<<"sredni' ball: "; cin>>sredni; cout<<"\n";
        vk[i].fam(familia);
        vk[i].ind(index);
        vk[i].dis11(diciplina1);
        vk[i].dis21(diciplina2);
        vk[i].dis31(diciplina3);
        vk[i].dis41(diciplina4);
        vk[i].dis51(diciplina5);
        vk[i].sre(sredni);
fp=fopen("instityt.txt","w");
n=n+1;
for(i=0;i<=n;i++){
                cout<<"familia: "<<vk[i].fam2()<<"\n";
        cout<<"index: "<<vk[i].ind2()<<"\n";
        cout<<"diciplini1: "<<vk[i].dis12()<<"\n";
        cout<<"diciplini2: "<<vk[i].dis22()<<"\n";
        cout<<"diciplini3: "<<vk[i].dis32()<<"\n";
        cout<<"diciplini4: "<<vk[i].dis42()<<"\n";
        cout<<"diciplini5: "<<vk[i].dis52()<<"\n";
        cout<<"sredni' ball: "<<vk[i].sre2()<<"\n"<<"\n";
        fwrite(&vk[i],sizeof(instityt),1,fp);}
    fclose(fp);;
}
 
int main()
{   int nomer;
    vvod();
    cout<<n<<"\n\n";
    cout<<"::MENU::";
    cout<<"\n1.Vivod dannix"<<"\n2.Zadanie"<<"\n3.Dobavit"<<"\n4.Udalit"<<"\n5.Exit\n";
    cin>>nomer;
    while(nomer!=5)
    {
    switch(nomer)
    {
    case 1:vivod();break;
    case 2:zadanie();break;
    case 3:dobavit();break;
    case 4:udal();break;
    case 5:break;
    }cout<<"\n\n::MENU::";
    cout<<"\n1.Vivod dannix"<<"\n2.Zadanie"<<"\n3.Dobavit"<<"\n4.Udalit"<<"\n5.Exit\n";
    cin>>nomer;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru