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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск максимального элемента вектора http://www.cyberforum.ru/cpp-beginners/thread206034.html
Написала программу поиска максимального элемента вектора, только теперь её надо переделать немного с использованием указателей... #include<iostream.h> #include<malloc.h> #include<stdlib.h> #include<conio.h>
C++ Ввести n и числа a1, a2,...,an Вычислить и вывести коэффициенты многочлена p(x) = (x+a1)*(x+a1*a2)*...*(x+a1*a2*...*an) Ввести n и числа a1, a2,...,an Вычислить и вывести коэффициенты многочлена p(x) = (x+a1)*(x+a1*a2)*...*(x+a1*a2*...*an) http://www.cyberforum.ru/cpp-beginners/thread206023.html
C++ Целая часть от деления
Здравствуйте уважаемые форумчане! Есть ли в языке СИ функция, которая возвращает целю часть от числа( к примеру в паскале (div)) А если нет, то каким способом ее можно получить. Заранее спс!
Матрица C++
Помогите в решении примера! Пожалуйста:) Задана квадратная матрица порядка n. Обнулить все елементы, сума индексов которых есть парным числом.
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> #include <conio.h> #include <stdlib.h> #include <string.h> void MaxWord (int , char ) { int Index, MaxLen = 0; char C, Line, *Src = (char*) &Line, *MaxWord = (char*) &Line; подробнее

Показать сообщение отдельно
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
08.12.2010, 18:59     Решить упражнение на файловый ввод/вывод из книги Лафоре (12 глава)
Доброго времени суток.
В очередной раз обращаюсь за советом касательно разъяснения задачи
Другим подходом к добавлению файлового потока к объекту является превращение самого этого потока в
статическую компоненту объекта. Для чего это делается? Ну, часто бывает проще представить себе поток связанным
с классом в целом, а не с отдельными его объектами. К тому же, гораздо правильнее открывать поток только один
раз для записи и чтения всего, что нужно. Например, мы открываем файл и начинаем последовательное чтение.
Функция чтения всякий раз возвращает данные для следующего объекта. Указатель файла сдвигается при этом
автоматически, так как между чтениями файл мы не закрываем.
Понимаю типы 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 минуту
Апну на правах важности темы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru