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

Вывести из файла определённую запись, и добавить запись в середину файла скопировав его в обратном порядке - C++

Восстановить пароль Регистрация
 
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 291
23.04.2014, 11:37     Вывести из файла определённую запись, и добавить запись в середину файла скопировав его в обратном порядке #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
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <string>
#include <fstream>
#include <locale.h>
using namespace std;
 
class name
{
private:
    string _name;
    string fam;
    string surname;
    string number;
public:
    name();
    ~name(){};
    friend ostream &operator<<(ostream &, const name);
    friend istream &operator>>(istream &, name &);
//  void filein(ofstream &, ifstream &, name );
//  void filein_end(ofstream &, ifstream &, name );
//  void fileout(ifstream &, name );
    void filein(name q)
    {
    /*  int t;
        cout<<"Kol-vo zapis";
        cin>>t;*/
        ofstream of;
        of.open("file.txt");
    }
    void fileout()
    {
 
    }
};
 
name::name()
{
    _name = "";
    fam = "";
    surname = "";  // читает то, что в этом конструкторе
    number = 21;
}
 
ostream &operator<<(ostream &out, const name obj)
{
    name p;
    cout<<endl;
    out<<"Имя: "<<obj._name<<endl<<"Фамилия: "<<obj.fam<<endl<<"Отчество: "<<obj.surname<<endl<<"Номер: "<<obj.number<<endl;
    return out;
}
 
istream &operator>>(istream &in, name &obj)
{
      cout<<"Имя: ";
      in>>obj._name;
      cout<<endl<<"Фамилия: ";
      in>>obj.fam;
      cout<<endl<<endl<<"Отчество: ";
      in>>obj.surname;
      cout<<endl<<"Номер: ";
      in>>obj.number;
      return in;
}
 
 
int main()
{
    int k=0;
    int cl=0;
        setlocale(LC_ALL, "RUS");
        name obj;
        ifstream *fs;       
        
        ofstream _ofs("myfile.txt", ios_base::out);
        ifstream f("myfile.txt");
        ifstream &ff=f;
        //_ofs.close();
        cout<< "Введите количество работников: ";
            while(true) {
        try {
            cin >> k;
            cin.clear();
            _flushall();
            if (cin.fail() || k <= 0) throw "Ошибка ввода данных. ";
            else break;
        }
        catch(const char *s) {
            cout << s;
            cout << "Введите количество работников - ";
        }
    }
            for(int i=0; i<k; i++)
            {
                //cout<<obj;
                cin>>obj;
                _ofs<<obj;;
            }
            _ofs.close();
            f.open("myfile.txt", ios_base::in);
            int n;
            cout<<"Введите номер записи, которую необходимо считать из файла: ";
            cin>>n;
            //f.seekg(k[n-1]);
            //int x=ov.tellg();
            while(!f.eof())
            {
                //name ob;
                cout<<endl;
                f>>obj;
                cout<<obj<<endl;
                f.close();
                break;
            }
            system("pause");
}
Выводит только последнюю запись, помогите плз вывести определенную запись, и добавить запись в середину файла
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 11:37     Вывести из файла определённую запись, и добавить запись в середину файла скопировав его в обратном порядке
Посмотрите здесь:

C++ Считать из текстового файла 3 предложения и вывести их в обратном порядке
C++ считать текст из файла и вывести на экран все его предложения в обратном порядке
Считать текст из файла и вывести все его предложения в обратном порядке C++
C++ Считать из текстового файла три предложения и вывести их в обратном порядке
Дано целое число n. Вывести двоичную запись числа в обратном порядке C++
Запись в середину файла - fstream C++
Считать из текстового файла три предложения и вывести их в обратном порядке C++
C++ Как добавить запись в два файла

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

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

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