Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
1

Класс Студент

24.04.2013, 18:57. Просмотров 1480. Ответов 15
Метки нет (Все метки)

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
#include <iostream>
#include <conio.h>
using namespace std;
 
//базовый класс "студент"
class CStudent
{ protected:
   char m_Fio[80];//ФИО
   int m_Year;//год поступления
   int m_Course;//курс
   int m_Number;//номер
   int m_Stipendia;//стипендия
   int m_Ocenki;//оценки
  public:
   CStudent();
   virtual ~ CStudent(){}
   virtual void Display();//вывод описания студента
  };
  
 CStudent::CStudent()
  { //ввод года поступления, ФИО, курс, номер группы, стипендия, оценки
   cout << "\nGod postuplenija:"; cin >> m_Year;
   cout << "\nFIO:"; cin.get();
          cin.getline(m_Fio,80);
   cout << "\nKurs:"; cin >> m_Course;
   cout << "\nNomer grupy:"; cin >> m_Number;
   cout << "\nStipendija:"; cin >> m_Stipendia;
   cout << "\nOcenki:"; cin >> m_Ocenki;
  }
  void CStudent:: Display()
    { cout << "\nStudent:"; 
      cout << "\nFIO:"<< m_Fio;
      cout << "\nGod postuplenija:" << m_Year;
      cout << "\nKurs:" << m_Course;
      cout << "\nNomer grupy:" << m_Number;
      cout << "\nStipendija:" << m_Stipendia;
      cout << "\nOcenki:" << m_Ocenki;
    }
    
  //производный класс "студент-общественник"  
  class CObshestvennik : public  CStudent
   { protected:
       char m_Work[80]; //выполняемая работа 
       int m_Procent; //процент надбавки к стипендии
     public:
       CObshestvennik();
       virtual ~ CObshestvennik(){}
       virtual void Display(); //вывод описания студента
    };
    
  CObshestvennik::CObshestvennik()
  { //Ввод выволняемой работы, процента надбавки к стипендии
   cout << "\nVjypolnjaemaja rabota*: "; cin>>m_Work;
   cout << "\nProcent k nadbawki k stependii: "; cin>>m_Procent;
   }     
 void CObshestvennik::Display()
  {cout << "\nStudent: ";
   cout << "\nVjypolnjaemaja rabota*: " << m_Work << " ";
   cout << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
  }
    
 // производный класс "студент-спортсмен" 
  class CSportsmen : public  CStudent
   { protected:
      char m_Sport[80]; //спорт
      int m_Procent; //процент надбавки к стипендии
     public:
       CSportsmen();
       virtual ~ CSportsmen(){}
       virtual void Display();//вывод описания студента
    };
    
  CSportsmen::CSportsmen():CStudent()
  { //ввод вида спорта
   cout << "\nVid sporta*: "; cin >>m_Sport;
   }     
 void CSportsmen::Display()
 { cout << "\nStudent:  ";
   cout << "Vid sporta: "<< m_Sport << " ";
   cout << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
  }  
 
int main()
{ int nMenu, flag = 1, kol;
  int i = 0; //индекс нового студента
  CStudent* p[100];
  cout <<"\nStudent: ";cin >> kol;
  while(i < kol && flag)
   { // вывод пунктов меню
     cout<<"\nNovjy student. Vvedite: " << endl; 
     cout<<"1-dlja obschestvenika, 2-dlja sportsmena, 3- vjyhod\n"; 
      cin >> nMenu;
     switch (nMenu)
      { case 1 : p[i++] = new CObshestvennik(); break;
        case 2 : p[i++] = new CSportsmen(); break;
        default : flag = 0; break;
      }  
    }
  // вывод описания студента
  for (int id = 0; id < kol; id++)
   { p[id]->Display();
     delete p[id];
    }
  getch();  
 }
Пмогите пожалуйста в программе реализовать возможность записи объектов в файл и чтения объектов из файла. Осуществлять контроль состояния потоков. В случае возникновения ошибок потоков генерировать и обрабатывать исключительные ситуации.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2013, 18:57
Ответы с готовыми решениями:

Создать класс "Студент" и классы "Бюджетный студент" и "Коммерческий студент"
Доброго времени суток. Помогите с задачкой. Наследование. Создать класс студент и классы бюджетный...

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Реализовать базовый класс Человек и класс-наследник Студент
Создать базовый класс Человек. Каждый объект этого класса должен содержать ФИО, год рождения и пол....

Класс Студент
Вообщем задания таково: &quot;Класс &quot;Студент&quot;. Действия над объектами класса: начисление стипендии,...

15
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
27.04.2013, 17:37  [ТС] 2
помогите плиз
0
Форумчанин
Эксперт CЭксперт С++
8157 / 5005 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
27.04.2013, 17:41 3
shmat_ru, необходимо перегрузить операторы << и >>

Вот пример, как это делается:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// перегружаем оператор вывода, функция принимает в качестве параметров ссылку
// на std::ostream и константную ссылку на объект класса FinalExam
ostream & operator<< (ostream &out, const FinalExam &fe)
{
    out << fe.getMark() << " " << fe.getDay() << " " << fe.getMonth() << " "
        << fe.getYear() << endl;
    return out; // возвращаем сформированный поток
}
 
// перегружаем оператор ввода, функция принимает в качестве параметров ссылку
// на std::istream и ссылку на объект класса FinalExam
istream & operator>> (istream &ist, FinalExam &fe)
{
    int mark, day, year;
    string month;
    ist >> mark >> day >> month >> year;
    fe.setMark(mark);
    fe.setDay(day);
    fe.setMonth(month);
    fe.setYear(year);
    return ist; // возвращаем поток
}
Чуть хуже - сделать функцию дружественной к классу и даже не объявлять get-set методы. Хотя, по-хорошему, надо бы.
0
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
27.04.2013, 18:34  [ТС] 4
MrGluck, Вот как у меня получается,но ошибок дофига

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
#include <iostream>
#include <conio.h>
using namespace std;
 
//áàçîâûé êëàññ "ñòóäåíò"
class CStudent
{ friend std:ostream & operator<< (ostream &out, const CStudent&)
  string protected:
   char m_Fio[80];//ÔÈÎ
   int setYear;//ãîä ïîñòóïëåíèÿ
   int setCourse;//êóðñ
   int setNumber;//íîìåð
   int setStipendia;//ñòèïåíäèÿ
   int setOcenki;//îöåíêè
   return int
  public:
   CStudent();
   virtual ~ CStudent(){}
   virtual void Display();//âûâîä îïèñàíèÿ ñòóäåíòà
  };
  
 std:ostream & operator<< (ostream &out, const CStudent&)
  { //ââîä ãîäà ïîñòóïëåíèÿ, ÔÈÎ, êóðñ, íîìåð ãðóïïû, ñòèïåíäèÿ, îöåíêè
   return out << "\nGod postuplenija:"; cin >> m_Year;
              << "\nFIO:"; cin.get();
               cin.getline(m_Fio,80);
              << "\nKurs:"; cin >> m_Course;
              << "\nNomer grupy:"; cin >> m_Number;
              << "\nStipendija:"; cin >> m_Stipendia;
              << "\nOcenki:"; cin >> m_Ocenki;
  }
  std:ostream & operator<< (ostream &out, const CStudent&)
    {  return out  << "\nStudent:"; 
           << "\nFIO:"<< m_Fio;
           << "\nGod postuplenija:" << m_Year;
           << "\nKurs:" << m_Course;
           << "\nNomer grupy:" << m_Number;
           << "\nStipendija:" << m_Stipendia;
           << "\nOcenki:" << m_Ocenki;
    }
    
  //ïðîèçâîäíûé êëàññ "ñòóäåíò-îáùåñòâåííèê"  
  class CObshestvennik : public  CStudent
   { protected:
       char m_Work[80]; //âûïîëíÿåìàÿ ðàáîòà 
       int m_Procent; //ïðîöåíò íàäáàâêè ê ñòèïåíäèè
     public:
       CObshestvennik();
       virtual ~ CObshestvennik(){}
       virtual void Display(); //âûâîä îïèñàíèÿ ñòóäåíòà
    };
    
  std:ostream & operator<< (ostream &out, const CStudent&)
  { //Ââîä âûâîëíÿåìîé ðàáîòû, ïðîöåíòà íàäáàâêè ê ñòèïåíäèè
   out << "\nVjypolnjaemaja rabota*: "; cin>>m_Work;
   out << "\nProcent k nadbawki k stependii: "; cin>>m_Procent;
   }     
  std:ostream & operator<< (ostream &out, const CStudent&)
  {out<< "\nStudent: ";
   out << "\nVjypolnjaemaja rabota*: " << m_Work << " ";
   out << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
  }
    
 // ïðîèçâîäíûé êëàññ "ñòóäåíò-ñïîðòñìåí" 
  class CSportsmen : public  CStudent
   { protected:
      char m_Sport[80]; //ñïîðò
      int m_Procent; //ïðîöåíò íàäáàâêè ê ñòèïåíäèè
     public:
       CSportsmen();
       virtual ~ CSportsmen(){}
       virtual void Display();//âûâîä îïèñàíèÿ ñòóäåíòà
    };
    
  CSportsmen::CSportsmen():CStudent()
  { //ââîä âèäà ñïîðòà
   out << "\nVid sporta*: "; cin >>m_Sport;
   }     
 std:ostream & operator<< (ostream &out, const CStudent&)
 { out << "\nStudent:  ";
   out << "Vid sporta: "<< m_Sport << " ";
   out << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
  }  
 
int main()
{ int nMenu, flag = 1, kol;
  int i = 0; //èíäåêñ íîâîãî ñòóäåíòà
  CStudent* p[100];
 out <<"\nStudent: ";cin >> kol;
  while(i < kol && flag)
   { // âûâîä ïóíêòîâ ìåíþ
     out<<"\nNovjy student. Vvedite: " << endl; 
     out<<"1-dlja obschestvenika, 2-dlja sportsmena, 3- vjyhod\n"; 
      cin >> nMenu;
     switch (nMenu)
      { case 1 : p[i++] = new CObshestvennik(); break;
        case 2 : p[i++] = new CSportsmen(); break;
        default : flag = 0; break;
      }  
    }
  // âûâîä îïèñàíèÿ ñòóäåíòà
  for (int id = 0; id < kol; id++)
   { p[id]->Display();
     delete p[id];
    }
  set:cin.getch();  
 }
 Комментарий модератора 
Используйте тэги подсветки кода для удобства восприятия ваших сообщений другими пользователями.
0
Форумчанин
Эксперт CЭксперт С++
8157 / 5005 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
27.04.2013, 19:20 5
shmat_ru, мб все-таки потрудитесь оформить все нормально? Или вы думаете, что ваш код легко читается?
0
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
27.04.2013, 19:45  [ТС] 6
MrGluck, Давай на ты я не старый.Я незнаю ,что тут больше надо делать,чтобы программа правельно заработала,если поможешь буду очень тебе благадарен.Я на MinGW Developer Studio кстати всё делаю
0
Форумчанин
Эксперт CЭксперт С++
8157 / 5005 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
27.04.2013, 20:06 7
shmat_ru, пока вы не заключите код в теги CPP [CPP ] [/CPP ], сделаете нормальную кодировку, расставите переносы, в ваш код смотреть страшно. Вы хотите, чтобы вам помогли - отнеситесь к людям с уважением, далеко не у многих есть желание проделывать дополнительные лишние усилия и всматриваться в сырой текст.

Добавлено через 1 минуту
shmat_ru, на этом форуме на ты лишь или с друзьями, или с кем нормально общаюсь, или имею общие интересы. Вы к ним не относитесь.
0
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
28.04.2013, 04:50  [ТС] 8
MrGluck, Кодировкой не я,я так понимаю должен заниматся,а создатели сайта?А насчёт программы поможете?
0
23 / 23 / 14
Регистрация: 15.04.2013
Сообщений: 62
28.04.2013, 11:49 9
добавил ввод и вывод
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
#include <iostream>
#include <cstdlib>
#include <string>
#include <stdexcept>
#include <vector>
#include <fstream>
using namespace std;
 
//базовый класс "студент"
class CStudent
{
protected:
    char m_Fio[30];//ФИО
    int m_Year;//год поступления
    int m_Course;//курс
    int m_Number;//номер
    double m_Stipendia;//стипендия
    double m_Ocenki;//оценки
    std::ostream& CommonWriteTextStream(std::ofstream&, std::string const&, char) const; // Запись в текстовый поток полей CStudent
    template<typename T>
    void ShiftConsoleField(std::string const&, T& field); // Ввод поля с консоли с проверкой ошибок
    virtual std::ifstream& ReadExtendedFields(std::ifstream& ifst, CStudent* const){return ifst;};
public:
    virtual void WriteConsole()const; //вывод описания студента в консоль
    virtual void ReadConsole(); // Чтение студента с консоли
    virtual void WriteTextStream(std::string const&) const; // Вывод студента в файл
    std::ifstream& ReadTextStream(std::ifstream&, CStudent* const);// Ввод студента из файла
};
 
typedef std::vector<CStudent*> psvector;
 
void CStudent::ReadConsole()
{
   ShiftConsoleField("\nGod postuplenija:", m_Year);
   cout << "\nFIO:"; cin.get();
    cin.getline(m_Fio, sizeof(m_Fio));
   ShiftConsoleField("\nKurs:", m_Course);
   ShiftConsoleField("\nNomer grupy:", m_Number);
   ShiftConsoleField("\nStipendija:", m_Stipendia);
   ShiftConsoleField("\nOcenki:", m_Ocenki);
}
 
void CStudent:: WriteConsole()const
{
      cout << "\nStudent:";
      cout << "\nFIO:"<< m_Fio;
      cout << "\nGod postuplenija:" << m_Year;
      cout << "\nKurs:" << m_Course;
      cout << "\nNomer grupy:" << m_Number;
      cout << "\nStipendija:" << m_Stipendia;
      cout << "\nOcenki:" << m_Ocenki;
}
 
void CStudent::WriteTextStream(std::string const& textfilepath) const
{
    std::ofstream ofst;
    CommonWriteTextStream(ofst, textfilepath, 'c');
    ofst << "\n";
    ofst.clear();
    ofst.close();
}
 
std::ostream& CStudent::CommonWriteTextStream(std::ofstream& ofst, std::string const& textfilepath, char type = 'c') const
{
    ofst.open(textfilepath.c_str(), std::ios::app);
    if(!ofst.is_open())
        throw std::runtime_error("CommonWriteTextStream: unable to open output file\n");
    return ofst << type << '\n' << m_Fio<< '\n' << m_Year << '\n' << m_Course << '\n'
        << m_Number << '\n' << m_Stipendia << '\n' << m_Ocenki << '\n';
}
 
std::ifstream& CStudent::ReadTextStream(std::ifstream& ifst, CStudent* const pstudent)
{
    ifst.ignore(100, '\n');
    ifst.getline(pstudent->m_Fio, sizeof(pstudent->m_Fio));
    ifst >> pstudent->m_Year;
    ifst >> pstudent->m_Course;
    ifst >> pstudent->m_Number;
    ifst >> pstudent->m_Stipendia;
    ifst >> pstudent->m_Ocenki;
    ReadExtendedFields(ifst, pstudent);
    if(!ifst)
        throw std::runtime_error("CommonReadTextStream: error reading file\n");
    return ifst;
}
 
template<typename T>
void CStudent::ShiftConsoleField(std::string const& message, T& field)
{
    do
    {
        std::cout << message << '\n';
        std::cin.clear();
        std::cin.sync();
        std::cin >> field;
    }
    while(!std::cin);
}
 
//производный класс "студент-общественник"
class CObshestvennik : public  CStudent
{
     protected:
       char m_Work[40]; //выполняемая работа
       double m_Procent; //процент надбавки к стипендии
       virtual std::ifstream& ReadExtendedFields(std::ifstream&, CStudent* const);
     public:
        virtual void ReadConsole();
        virtual void WriteConsole() const; //вывод описания студента
        virtual void WriteTextStream(std::string const&) const; // Вывод студента в файл
};
 
void CObshestvennik::ReadConsole()
{
    CStudent::ReadConsole();
    cout << "\nVjypolnjaemaja rabota*: ";
    std::cin.clear();
    std::cin.sync();
    std::cin.getline(m_Work, sizeof(m_Work));
    ShiftConsoleField("\nProcent k nadbawki k stependii: ", m_Procent);
}
 
void CObshestvennik::WriteConsole() const
{
    CStudent::WriteConsole();
    cout << "\nVjypolnjaemaja rabota*: " << m_Work << " ";
    cout << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
}
 
void CObshestvennik::WriteTextStream(std::string const& textfilepath) const
{
    std::ofstream ofst;
    CommonWriteTextStream(ofst, textfilepath, 'o');
    ofst << m_Work << '\n' << m_Procent << "\n\n";
    ofst.clear();
    ofst.close();
}
 
std::ifstream& CObshestvennik::ReadExtendedFields(std::ifstream& ifst, CStudent* const pstudent)
{
    CObshestvennik* const postudent = dynamic_cast<CObshestvennik*>(pstudent);
    if(postudent)
    {
        ifst.ignore(100, '\n');
        ifst.getline(postudent->m_Work, sizeof(postudent->m_Work));
        ifst >> postudent->m_Procent;
    }
    else
        throw std::runtime_error("CObshestvennik::ReadExtendedFields: !postudent");
    return ifst;
}
 
 // производный класс "студент-спортсмен"
class CSportsmen : public  CStudent
{
    protected:
      char m_Sport[40]; //спорт
      double m_Procent; //процент надбавки к стипендии
      virtual std::ifstream& ReadExtendedFields(std::ifstream&, CStudent* const);
     public:
        virtual void ReadConsole();
        virtual void WriteConsole()const;//вывод описания студента
        virtual void WriteTextStream(std::string const&) const; // Вывод студента в файл
};
 
void CSportsmen::ReadConsole()
{
    CStudent::ReadConsole();
    cout << "\nVid sporta*: ";
    std::cin.clear();
    std::cin.sync();
    std::cin.getline(m_Sport, sizeof(m_Sport));
    ShiftConsoleField("\nProcent k nadbawki k stependii: ", m_Procent);
}
 
void CSportsmen::WriteConsole()const
{
    CStudent::WriteConsole();
    cout << "\nVid sporta: "<< m_Sport << " ";
    cout << "\nProcent k nadbawki k stependii: " << m_Procent << "\n";
}
 
void CSportsmen::WriteTextStream(std::string const& textfilepath) const
{
    std::ofstream ofst;
    CommonWriteTextStream(ofst, textfilepath, 's');
    ofst << m_Sport << '\n' << m_Procent << "\n\n";
    ofst.clear();
    ofst.close();
}
 
std::ifstream& CSportsmen::ReadExtendedFields(std::ifstream& ifst, CStudent* const pstudent)
{
    CSportsmen* const psportstudent = dynamic_cast<CSportsmen*>(pstudent);
    if(psportstudent)
    {
        ifst.ignore(100, '\n');
        ifst.getline(psportstudent->m_Sport, sizeof(psportstudent->m_Sport));
        ifst >> psportstudent->m_Procent;
    }
    else
        throw std::runtime_error("CSportsmen::ReadExtendedFields: !psportstudent");
    return ifst;
}
 
// Вводит вектор студентов из файла
psvector& FillVectorFromTextStream(std::string const& inputtextfilepath, psvector& vecp)
{
    std::ifstream ifst(inputtextfilepath);
    if(!ifst.is_open())
        throw std::runtime_error("ReadTextStream: Unable to open input file\n");
    char type;
    while(ifst >> type)
    {
        switch(type)
        {
            case 'o':
                vecp.push_back(new CObshestvennik);
                vecp.back()->ReadTextStream(ifst, vecp.back());
                break;
            case 's':
                vecp.push_back(new CSportsmen);
                vecp.back()->ReadTextStream(ifst, vecp.back());
                break;
            default:
                std::string s("ReadTextStream: unknown student type: ");
                throw std::runtime_error(s + type + '\n');
        }
    }
    ifst.close();
    return vecp;
}
 
int main()
{
    try
    {
        int nMenu = 0, count = 0, i = 0;
        psvector vecp;
        cout <<"\nCount: ";
        cin >> count;
        for(i = 0; i < count; ++i)
        {
            cout<<"\nVvedite tip studenta: " << endl;
            cout<<"1-dlja obschestvenika, 2-dlja sportsmena, 3- vjyhod\n";
            cin >> nMenu;
             switch (nMenu)
             {
                case 1 :
                    vecp.push_back(new CObshestvennik());
                    vecp.back()->ReadConsole();
                    break;
                case 2 :
                    vecp.push_back(new CSportsmen());
                    vecp.back()->ReadConsole();
                    break;
                case 3:
                    exit(0);
                    break;
                default:
                    std::cout << "Incorrect choice\n";
                    --i;
             }
        }
        std::string const textfilepath("students.txt");
        // вывод описания студента в файл
        for (i = 0; i < vecp.size(); i++)
        {
            vecp[i]->WriteTextStream(textfilepath);
        }
        for(i = 0; i < vecp.size(); ++i)
        {
            delete vecp[i];
            vecp[i] = 0;
        }
        vecp.resize(0);
        FillVectorFromTextStream(textfilepath, vecp);
        for(i = 0; i < vecp.size(); ++i)
        {
            vecp[i]->WriteConsole();
        }
    }
    catch(std::exception const& exc)
    {
        std::cerr << "main: exception: " << exc.what() << "\n\n";
    }
    system("pause");
    return 0;
 }
1
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
28.04.2013, 14:53  [ТС] 10
cyberbrain1000, Cпосибо конечно за помощь,но всёравно у меня 4 ошибки выдаёт сейчас покажу какие,у меня если что MinGW Developer Studio 2.05 установлен.Я его отсюда скачивал http://soft.sibnet.ru/soft/107... udio-2-05/
0
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
28.04.2013, 14:55  [ТС] 11
Вот
0
Миниатюры
Класс Студент  
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
28.04.2013, 16:12  [ТС] 12
cyberbrain1000, Можете пожалуйста исправить ошибки
0
Форумчанин
Эксперт CЭксперт С++
8157 / 5005 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
28.04.2013, 17:34 13
shmat_ru, добавить пустые конструкторы по-умолчанию, навроде:
C++
1
CSportsmen() {}
И сделать инициализацию в списке инициализации.
0
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
28.04.2013, 17:59  [ТС] 14
MrGluck, Это CSportsmen() {} поставить в самом началеили или где про спортсмена речь идет?
0
23 / 23 / 14
Регистрация: 15.04.2013
Сообщений: 62
28.04.2013, 18:30 15
наверно не может построить поток на основе строки и требует указатель на char. Строку 209 замени на это
std::ifstream ifst(inputtextfilepath.c_str());
1
Форумчанин
Эксперт CЭксперт С++
8157 / 5005 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
28.04.2013, 21:34 16
shmat_ru, надо в каждом классе в объявлении задать пустые конструкторы.

Например
C++
1
2
3
4
5
6
class A
{
    ...
    public:
    A() {}
};
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2013, 21:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Описать класс студент
Доброго времени суток, помогите описать класс 1. Определить класс с именем STUDENT, содержащий...

Определите класс «Студент»
Помогите пожалуйста с задачей Определите класс «Студент».Методы – перевод на следующий курс,...

Разработать класс «Студент»
Добрый вечер)если не сложно , помогите реализовать одну из программ)а то на завтра нужно чтобы было...

Объявить класс студент. C++
Объявить класс студент с функцией считающий средний балл его оценок. С полями данных имя студента и...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.