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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать таблицу истинности для логической функции http://www.cyberforum.ru/cpp-beginners/thread588823.html
Напечатать таблицу истинности для логической функции: (A<=>B<=>C)A-, где v,-,<=>-знаки логических операций или, не, эквивалентность
C++ Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида. Алгоритм Евклида: вычитаем числа меньшее до тех число и есть НОД http://www.cyberforum.ru/cpp-beginners/thread588806.html
C++ Адрес первого элемента массива
1. Написать функцию, принимающую в качестве параметра количество строк и столбцов в таблице умножения. Функция должна создать двумерный массив целых чисел размера, достаточного для хранения таблицы умножения и заполнить массив элементами таблицы умножения. Функция должна вернуть адрес первого элемента массива. Заголовок функции: int * get_multiplication_table (unsigned int count);
C++ Создать одномерный массив
Создать одномерный массив. Найти сумму элементов с наибольшими индексами. помоги, очень срочно нужна ваша помощь. Добавлено через 1 час 57 минут Хоть кто нибудь мне поможет... Добавлено через 1 минуту Хоть кто нибудь мне поможет...
C++ Вычислить сумму элементов, расположенных до последнего положительного элемента http://www.cyberforum.ru/cpp-beginners/thread588789.html
В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов, расположенных до последнего положительного элемента. Помогите пожалуйсто, очень срочно надо написать программку на С++:wall::bravo: Добавлено через 33 минуты
C++ Задача на обработку файла Создайте файл, заполненный любыми строками, а дальше по заданию: -Дан текстовый файл. Определить среднее количество слов в строке.- подробнее

Показать сообщение отдельно
nnina
 Аватар для nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
28.05.2012, 09:47     Задача на классы файловых потоков
Помогите, пожалуйста, добавить возможность записи объектов в файл и чтения объектов из файла.
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();  
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru