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

Создать класс, содержащий сведения о сотрудниках института - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ На форме в textBox вместо текста отображается "T r u e". В чем может быть ошибка? http://www.cyberforum.ru/cpp-beginners/thread603735.html
Вот кусочек кода: char line3; FILE *stream2; stream2 = fopen("C:\\file.txt", "r"); fseek (stream2, 4L ,SEEK_SET); fgets (line3, 10, stream2); textBox1->Text = Convert::ToString(line3); fclose(stream2);
C++ Что я не так делаю? #ifndef TCONTROL_HPP_INCLUDED #define TCONTROL_HPP_INCLUDED... http://www.cyberforum.ru/cpp-beginners/thread603733.html
C++ сортировка
Из ассортимента конфет,выпускаемых пермской кондитерской фабрикой,выбрать те,стоимость которых от 30 до 55 руб. за 1 кг. Указать срок их годности и номера магазинов , в которых они имеются в продаже нужно написать прогу на С++
Как исправить ошибку? C++
#include <fstream.h> #include <string.h> #include <conio.h> #include <iomanip.h> #include <stdlib.h> #include <io.h> #define FIO 20 #define MARKA 26 #define GOD 6 #define MODEL 12
C++ пример с условием http://www.cyberforum.ru/cpp-beginners/thread603705.html
if (k>1) {x=3;y=0;} else if (k) z=2; else {x=1;y++;} что в данном случае значит if (k)?
C++ c программка со строками Залание Даны строки A и B. Если в A есть русские буквы, а в B нет повторяющихся символов, то упорядочить символы B в порядке, обратном к алфавитному, и удалить русские буквы из A; в остальных случаях продублировать латинские буквы в В и упорядочить символы А в алфавитном порядке. проблема: не получается найти русский символ в строке а. Так: for (i=0;a;i++) { if(a>='а' && a<='я') ia=1;... подробнее

Показать сообщение отдельно
ideaworks
1 / 1 / 0
Регистрация: 12.06.2012
Сообщений: 15
13.06.2012, 14:49  [ТС]     Создать класс, содержащий сведения о сотрудниках института
Цитата Сообщение от fasked Посмотреть сообщение
Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
ща просто комп вырубился

Добавлено через 8 минут
Условие задачи:
Создать класс, содержащий сведения о сотрудниках института: фамилия, отдел, год рождения, стаж работы, должность, оклад. Написать программу, позволяющую получить следующую информацию: список сотрудников пенсионного возраста, стаж работы по отделу. Данные в файлах. Предусмотреть добавление информации, удаление записей, сортировка по полям.

Так вот


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public:
    void s_f(char* num){strcpy(fam,num);}
    char* g_f(){return fam;}
    void s_o(char* num){strcpy(otdel,num);}
    char* g_o(){return otdel;}
    //void s_g(char* num){strcpy(god,num);}
    //char* g_g(){ return god;}
        void s_g(int num) {num=god;}
        int g_g(){return god;}
    //void s_s(char* num){strcpy(stag,num);}
    //char* g_s(){return stag;}
        void s_s(int num) {num=stag;}
        int g_s(){return stag;}
        void s_d(char* num){strcpy(dolgn,num);}
    char* g_d(){ return dolgn;}
    void s_k(char* num){strcpy(klad,num);}
    char* g_k(){ return klad;}
 
    void s_n(int num){n=num;}
    int g_n(){return n;}
};

я заменил здесь char на int. А дальше у меня проблемы с strcpy

Добавлено через 20 часов 17 минут
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
#include <vcl.h>
#include <iostream.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
const int n=100000;
class zapis{
private:
    char fam[25];
    char otdel[25];
        char god[25];
    char stag[25];
    char dolgn[25];
        char klad[25];
    int n;
public:
    void s_f(char* num){strcpy(fam,num);}
    char* g_f(){return fam;}
    void s_o(char* num){strcpy(otdel,num);}
    char* g_o(){return otdel;}
    void s_g(char* num){strcpy(god,num);}
    char* g_g(){ return god;}
    void s_s(char* num){strcpy(stag,num);}
    char* g_s(){ return stag;}
        void s_d(char* num){strcpy(dolgn,num);}
    char* g_d(){ return dolgn;}
    void s_k(char* num){strcpy(klad,num);}
    char* g_k(){ return klad;}
 
    void s_n(int num){n=num;}
    int g_n(){return n;}
};
zapis zp[n];
FILE *fail1, *fail2, *fail3, *fail4;
int main(int argc, char* argv[])
{
    char fam[25],otdel[25],god[25],stag[25],dolgn[25],klad[25],otv='d';
    int i=0,menu,k=0,d,b=0,m=0,c=0,f=0;
    char tmf[25],tto[25],ttg[25],tts[25],ttd[25],ttk[25];
    fail1=fopen("zapiska1.txt","rb");
    fail2=fopen("zapiska2.txt","a");
    for(i=0;i<n;i++)
    fread(&zp[i], sizeof(zapis),1,fail1);
    k=zp[0].g_n();
    for(i=0;i<k;i++)
        cout<<zp[i].g_f()<<" "<<zp[i].g_o()<<" "<<zp[i].g_g()<<" "<<zp[i].g_s()<<" "<<zp[i].g_d()<<" "<<zp[i].g_k()<<"\n";                                                 "\n";
    cout<<k<<"\n";
    cout<<"Menu upravleniya\n";
    cout<<"1.sredni stag\n2.pensioni vozreast\n3.Dobavlenie zapisi\n4.Udalenie zapisi\n5.Sortirovka po familii\n6.Sortirovka po odelu\n7.Sortirovka po dolgn\n0.Vihod\n";
    cout<<"Vvedite nomer operacii ";
    cin>>menu;
    while(menu!=0)
    {
        switch(menu)
        {
            case 1:
 
            cout<<"Vvedite otdel\n";cin>>otdel;
                        for(i=0;i<k;i++){
                        if(strcmp(zp[i].g_o(),otdel)==0){
                        //f=atoi(zp[i].g_s());
                        //f=zp[i].g_s()-'0';
                        f=StrToInt(zp[i].g_s());
                        c=c+f; b++; } }
                        m=c/b;
 
 
                        cout<<"sredniy stag raboti="<<m<<"\n";break;
            case 2:
                        int h;
            for(i=0;i<k;i++){
                        if (StrToInt(zp[i].g_g())<=1952)
                        {printf("%s %s\n",zp[i].g_f(),zp[i].g_s());
                        h=StrToInt(zp[i].g_g());}}
                        cout<<h<<" "<<"soxraneno v fail 'mfail1.txt'\n";break;
            case 3:
                fail3=fopen("zapiska1.txt","at");
                while(otv=='d'||otv=='D')
                {
                cout<<"Vvedite familiyu\n";
                cin>>fam;
                cout<<"otdel\n";
                cin>>otdel;
                cout<<"god\n";
                cin>>god;
                cout<<"stag\n";
                cin>>stag;
                                cout<<"dolgn\n";
                cin>>dolgn;
                cout<<"oklad\n";
                cin>>klad;
                zp[i].s_f(fam);
                zp[i].s_o(otdel);
                zp[i].s_g(god);
                zp[i].s_s(stag);
                zp[i].s_d(dolgn);
                zp[i].s_k(klad);
                cout<<"Prodoljit?(d/n)";cin>>otv;i++;k++;
                }
                    for(i=0;i<k;i++)
                        zp[i].s_n(k);
                    fail3=fopen("zapiska1.txt","wt");
                    for(i=0;i<k;i++)
                        fwrite(&zp[i],sizeof(zapis),1,fail3);
                    fclose(fail3);
                break;
            case 4:
                fail3=fopen("zapiska1.txt","at");
                cout<<"Vvedite familiyu\n";
                cin>>fam;
                for(i=0;i<k;i++)
                {
                    if(strcmp(zp[i].g_f(),fam)==0)
                    d=i;
                }
                for(i=0;i<k;i++)
                        zp[i].s_n(k);
                    fail3=fopen("zapiska1.txt","wt");
                    for(i=0;i<k;i++){
                        if(i==d)i++;
                        fwrite(&zp[i],sizeof(zapis),1,fail3);}
                    fclose(fail3);
                break;
            case 5:
                for (int i = 0; i<k; ++i)
                {
                     for (int j=(i+1); j<k; ++j)
                         if (strcmp(zp[i].g_f(),zp[j].g_f())>0)
                         {
                            strcpy(tmf,zp[i].g_f());
                            strcpy(tto,zp[i].g_o());
                            strcpy(ttg,zp[i].g_g());
                            strcpy(tts,zp[i].g_s());
                                                        strcpy(ttd,zp[i].g_d());
                            strcpy(ttk,zp[i].g_k());
                            strcpy(zp[i].g_f(),zp[j].g_f());
                            strcpy(zp[i].g_o(),zp[j].g_o());
                            strcpy(zp[i].g_g(),zp[j].g_g());
                            strcpy(zp[i].g_s(),zp[j].g_s());
                                                        strcpy(zp[i].g_d(),zp[j].g_d());
                            strcpy(zp[i].g_k(),zp[j].g_k());
                            strcpy(zp[j].g_f(),tmf);
                            strcpy(zp[j].g_o(),tto);
                            strcpy(zp[j].g_g(),ttg);
                            strcpy(zp[j].g_s(),tts);
                                                        strcpy(zp[j].g_d(),ttd);
                            strcpy(zp[j].g_k(),ttk);
 
                         }
                fprintf(fail2,"%s %s %s 0%s %s %s\n",zp[i].g_f(),zp[i].g_o(),zp[i].g_g(),zp[i].g_s(),zp[i].g_d(),zp[i].g_k());
                }
                cout<<"soxraneno v fail 'fail2.txt'\n";
                break;
            case 6:
                for (int i = 0; i<k; ++i)
                {
                    for (int j=(i+1); j<k; ++j)
                        if (strcmp(zp[i].g_o(),zp[j].g_o())>0)
                        {
                            strcpy(tmf,zp[i].g_f());
                            strcpy(tto,zp[i].g_o());
                            strcpy(ttg,zp[i].g_g());
                            strcpy(tts,zp[i].g_s());
                                                        strcpy(ttd,zp[i].g_d());
                            strcpy(ttk,zp[i].g_k());
                            strcpy(zp[i].g_f(),zp[j].g_f());
                            strcpy(zp[i].g_o(),zp[j].g_o());
                            strcpy(zp[i].g_g(),zp[j].g_g());
                            strcpy(zp[i].g_s(),zp[j].g_s());
                                                        strcpy(zp[i].g_d(),zp[j].g_d());
                            strcpy(zp[i].g_k(),zp[j].g_k());
                            strcpy(zp[j].g_f(),tmf);
                            strcpy(zp[j].g_o(),tto);
                            strcpy(zp[j].g_g(),ttg);
                            strcpy(zp[j].g_s(),tts);
                                                        strcpy(zp[j].g_d(),ttd);
                            strcpy(zp[j].g_k(),ttk);
                        }
                fprintf(fail2,"%s %s %s %s %s %s\n",zp[i].g_f(),zp[i].g_o(),zp[i].g_g(),zp[i].g_s(),zp[i].g_d(),zp[i].g_k());
                }
                cout<<"soxraneno v fail 'fail2.txt'\n";
                break;
                        case 7-0:
                                    for (int i = 0; i<k; ++i)
                {
                     for (int j=(i+1); j<k; ++j)
                         if (strcmp(zp[i].g_d(),zp[j].g_d())>0)
                         {
                                strcpy(tmf,zp[i].g_f());
                            strcpy(tto,zp[i].g_o());
                            strcpy(ttg,zp[i].g_g());
                            strcpy(tts,zp[i].g_s());
                                                        strcpy(ttd,zp[i].g_d());
                            strcpy(ttk,zp[i].g_k());
                            strcpy(zp[i].g_f(),zp[j].g_f());
                            strcpy(zp[i].g_o(),zp[j].g_o());
                            strcpy(zp[i].g_g(),zp[j].g_g());
                            strcpy(zp[i].g_s(),zp[j].g_s());
                                                        strcpy(zp[i].g_d(),zp[j].g_d());
                            strcpy(zp[i].g_k(),zp[j].g_k());
                            strcpy(zp[j].g_f(),tmf);
                            strcpy(zp[j].g_o(),tto);
                            strcpy(zp[j].g_g(),ttg);
                            strcpy(zp[j].g_s(),tts);
                                                        strcpy(zp[j].g_d(),ttd);
                            strcpy(zp[j].g_k(),ttk);
                         }
                fprintf(fail2,"%s %s %s %s %s %s\n",zp[i].g_f(),zp[i].g_o(),zp[i].g_g(),zp[i].g_s(),zp[i].g_d(),zp[i].g_k());
                }
                cout<<"soxraneno v fail 'fail2.txt'\n";
                break;
 
        }
            cout<<"Vvedite nomer operacii ";
            cin>>menu;
    }
    fclose(fail1);
    fclose(fail2);
    getch();
}

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