Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск максимального элемента вектора http://www.cyberforum.ru/cpp-beginners/thread206034.html
Написала программу поиска максимального элемента вектора, только теперь её надо переделать немного с использованием указателей... #include<iostream.h> #include<malloc.h> #include<stdlib.h>...
Ввести n и числа a1, a2,...,an Вычислить и вывести коэффициенты многочлена p(x) = (x+a1)*(x+a1*a2)*...*(x+a1*a2*...*an) C++
Ввести n и числа a1, a2,...,an Вычислить и вывести коэффициенты многочлена p(x) = (x+a1)*(x+a1*a2)*...*(x+a1*a2*...*an)
C++ Целая часть от деления
Здравствуйте уважаемые форумчане! Есть ли в языке СИ функция, которая возвращает целю часть от числа( к примеру в паскале (div)) А если нет, то каким способом ее можно получить. Заранее спс!
C++ Матрица Помогите в решении примера! Пожалуйста:) Задана квадратная матрица порядка n. Обнулить все елементы, сума индексов которых есть парным числом. http://www.cyberforum.ru/cpp-beginners/thread206007.html
C++ Как заполнить массив! http://www.cyberforum.ru/cpp-beginners/thread205993.html
Приветствую Вас друзья! Кто знает подскажите как заполнить массив, числами с плавающей запятой. объявляю: float mas; /*заполняю*/ randomize(); for(int i=0; i<20;i++) { mas = random(10);
Перегруженная функция C++
Здравствуйте, помогите пожалуйста разобраться. Как сделать из функции MaxWord перегруженную функцию, чтобы выводил например длину самого длинного слова? #include <stdio.h> #include <iostream.h>...
C++ Решите Задание по С++
Дана матрица. Найти максимальный елемент, на главной диагонали отсортировать елементы 1 строки матрицы, номер строки задаёт пользователь.
C++ Смена цвета Помогите, пожалуйста!!! Опишите подробнее, в какой среде цвет чего и каким образом Вы менять пытаетесь. При такой постановке вопроса можем только морально поддержать. http://www.cyberforum.ru/cpp-beginners/thread205983.html
C++ Функции пользователя http://www.cyberforum.ru/cpp-beginners/thread205980.html
Вычисление Y(x) и S(x) реализовать в виде функций. Продемонстрировать два способа передачи аргументов в вызываемые функции: по значению и по адресу (использование косвенной адресации). В основной...
C++ выделение букв из массива Помогите выделить из двумерного массива 10 на 10 в отдельные массивы буквы латинского алфавита заглавные и прописные. http://www.cyberforum.ru/cpp-beginners/thread205971.html
LineStown
69 / 69 / 7
Регистрация: 04.08.2010
Сообщений: 427
Завершенные тесты: 1
0

Решить упражнение на файловый ввод/вывод из книги Лафоре (12 глава)

08.12.2010, 18:59. Просмотров 6957. Ответов 40
Метки (Все метки)

Доброго времени суток.
В очередной раз обращаюсь за советом касательно разъяснения задачи
Другим подходом к добавлению файлового потока к объекту является превращение самого этого потока в
статическую компоненту объекта. Для чего это делается? Ну, часто бывает проще представить себе поток связанным
с классом в целом, а не с отдельными его объектами. К тому же, гораздо правильнее открывать поток только один
раз для записи и чтения всего, что нужно. Например, мы открываем файл и начинаем последовательное чтение.
Функция чтения всякий раз возвращает данные для следующего объекта. Указатель файла сдвигается при этом
автоматически, так как между чтениями файл мы не закрываем.
Понимаю типы ifstream, ofstream как записать в файл класс, как считать. Но тут что делать вообще не понимаю.
Как полностью считать в
C++
1
static fstream file
весь файл, как из этого
C++
1
file
выдирать нужную запись\

Вот решенная задача которую нужно переделать\ (в ней вроде бы все просто)
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
#include<iostream>
#include<fstream>
using namespace std;
class Persona
{
private:
    int number;
    char surname[15];
    char name[15];
    char surname2[15];
public:
    void bern()
    {
        ofstream file;
        file.open("Persona1204.dat",ios::binary|ios::app);
        file.write((char*)this,sizeof(*this));
        file.close();
    }
    void read(int a)
    {
        ifstream file;
        file.open("Persona1204.dat",ios::binary);
        file.seekg((a-1)*sizeof(Persona));
        file.read((char*)this,sizeof(*this));
        file.close();
    }
    static int count()
    {
        ifstream file;
        file.open("Persona1204.dat",ios::binary);
        file.seekg(0,ios::end);
        return (int)(file.tellg()/sizeof(Persona));
    }
    friend istream& operator>>(istream& s,Persona& p)
    {
        cout << "Введите номер: ";
        s >> p.number;
        cout << "Введите фамилию: ";
        s >> p.surname;
        cout << "Введите имя: ";
        s >> p.name;
        cout << "Введите отчество: ";
        s >> p.surname2;
        p.bern();
        return s;
    }
    friend ostream& operator<<(ostream& s,Persona& p)
    {
        int a;
        s << "Всего записей: " << p.count() << endl;
        s << "Какую вывести: ";
        cin >> a;
        p.read(a);
        s << p.number << "\t" << p.surname << "\t" << p.name << "\t" << p.surname2 << endl;
        return s;
    }
};
int main()
{
    setlocale(LC_ALL,"Russian");
    Persona p;
    //cin >> p;
    cout << p;
    return EXIT_SUCCESS;
}
Добавлено через 39 минут
И немного хотелось бы разьяснения понятия файловый поток с физической точки зрения.
Как я понимаю - это как бы "мост" между файлом и пользователем

Добавлено через 52 минуты
Товарищи Гуру. хотелось бы услышать хоть намек, куда смотреть)

Добавлено через 3 часа 41 минуту
Апну на правах важности темы)

Вернуться к обсуждению:
Решить упражнение на файловый ввод/вывод из книги Лафоре (12 глава)
1
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 18:59
Готовые ответы и решения:

Зацикливание программы. В чем же ошибка? ( Упражнение 5 Глава 7 Лафоре ООП C++)
Миллион раз пересмотрел, ну не вижу ошибку и все тут :(. Должна же остановка на вводе быть! Что...

Упражнение из книги Лафоре
//11.cpp #include &lt;iostream&gt; using namespace std; class sterling { private: long pounds;...

Упражнение №8 глава 5 из книги Страуструпа
Здравствуйте. Помогите решить задание. Напишите программу,считывающую ряд чисел и записывающую их...

Работа с Классами или разбираем 10 Упражнение 6 главы книги ООП в С++ Р.Лафоре
Доброго времени суток господа. Подскажите пожалуйста каким образом можно объединить классы? Почему...

Упражнение по программированию (Стивен Прата, глава 2, упражнение 3)
2 Глава, вопрос 3. Напишите программу на С++, которая использует три определяемых пользователем...

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