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

Задача на классы файловых потоков - C++

Восстановить пароль Регистрация
 
nnina
 Аватар для nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
28.05.2012, 09:47     Задача на классы файловых потоков #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
#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 << "\nГод поступления:"; cin >> m_Year;
   cout << "\nФИО:"; cin.get();
          cin.getline(m_Fio,80);
   cout << "\nКурс:"; cin >> m_Course;
   cout << "\nНомер группы:"; cin >> m_Number;
   cout << "\nСтипендия:"; cin >> m_Stipendia;
   cout << "\nОценки:"; cin >> m_Ocenki;
  }
  void CStudent:: Display()
    { cout << "\nСтудент:"; 
      cout << "\nФИО:"<< m_Fio;
      cout << "\nГод поступления:" << m_Year;
      cout << "\nКурс:" << m_Course;
      cout << "\nНомер группы:" << m_Number;
      cout << "\nСтипендия:" << m_Stipendia;
      cout << "\nОценки:" << m_Ocenki;
    }
    
  //производный класс "студент-общественник"  
  class CObshestvennik : public  CStudent
   { protected:
       char m_Work[80]; //выполняемая работа 
       int m_Procent; //процент надбавки к стипендии
     public:
       CObshestvennik();
       virtual ~ CObshestvennik(){}
       virtual void Display(); //вывод описания студента
    };
    
  CObshestvennik::CObshestvennik()
  { //Ввод выволняемой работы, процента надбавки к стипендии
   cout << "\nВыполняемая работа*: "; cin>>m_Work;
   cout << "\nПроцент надбавки к стипендии: "; cin>>m_Procent;
   }     
 void CObshestvennik::Display()
  {cout << "\nСтудент: ";
   cout << "\nВыполняемая работа*: " << m_Work << " ";
   cout << "\nПроцент надбавки к стипендии: " << 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 << "\nВид спорта*: "; cin >>m_Sport;
   }     
 void CSportsmen::Display()
 { cout << "\nСтудент:  ";
   cout << "Вид спорта: "<< m_Sport << " ";
   cout << "\nПроцент надбавки к стипендии: " << m_Procent << "\n";
  }  
 
int main()
{ int nMenu, flag = 1, kol;
  int i = 0; //индекс нового студента
  CStudent* p[100];
  cout <<"\nСтудент: ";cin >> kol;
  while(i < kol && flag)
   { // вывод пунктов меню
     cout<<"\nНовый студент. Введите: " << endl; 
     cout<<"1-для общественника, 2-для спортсмена, 3- выход\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();  
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2012, 09:47     Задача на классы файловых потоков
Посмотрите здесь:

объявление файловых потоков в классе C++
C++ [C++]Задача на классы
C++ [C++]Задача на классы
Задача на классы в C++ C++
C++ Задача на классы
C++ Перенаправление файловых потоков, перехват системных вызовов
Поиск в бинарном файле с использованием файловых потоков C++
C++ Копирование файловых потоков

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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