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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
#1

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

28.05.2012, 09:47. Просмотров 333. Ответов 0
Метки нет (Все метки)

Помогите, пожалуйста, добавить возможность записи объектов в файл и чтения объектов из файла.
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++
При объявлении потоков просто в функции все ок, объявляю поток в классе, компилятор ругается: &quot;error C4430: missing type specifier - int...

Перенаправление файловых потоков, перехват системных вызовов - C++
Есть несколько программ, например C:\p1dir\prog1.exe, C:\p2dir\prog2.exe, C:\p3dir\prog3.exe каждая программа хранит настройки в различных...

Поиск в бинарном файле с использованием файловых потоков - C++
Подскажите как реализовать поиск объекта в бинарном файле.(телефонный справочник, поиск по названию абонента)

Задача на классы - C++
Я не понимаю как написать функцию чтобы она проверяла или числа с плавающей запятой! Помогите! #include &lt;iostream.h&gt; #include...

Задача на классы - C++
Написал програмку. Все работает,только неправильно считает среднюю скорость. Задача: Создать класс «транспортное средство»....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2012, 09:47
Привет! Вот еще темы с ответами:

[C++]Задача на классы - C++
Путем подражания создать новый класс Лэптоп. Переопределить указанную операцию Новый член класса - марка.Создать собственные конструкторы...

Задача на классы в C++ - C++
Добрый день. Пытаюсь решить задачу: Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и...

Массивы и классы C++. Задача. - C++
Доброго времени суток, товарищи... Объявляю награду за выполнение след. задач.. заинтересовавшиеся в ЛС отпишитесь

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


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

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

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