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

Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Может так случится, что процесс приема новых сообщений и их прорисовки превратится в бесконечный цикл? http://www.cyberforum.ru/cpp-beginners/thread1153641.html
Допустим у меня есть приложение, которое добавляет в себя поступающие сообщения. А эти сообщения сыпят постоянно. Может так случится,что процесс приема новых сообщений и их прорисовки превратится в бесконечный цикл? и все начнет тормозить? мышь начнет постепенно медленней реагировать, а потом все зависнет?
C++ Wchar_t подключаюсь к серверу. Присваиваю переменной типа string имя, const char* charName = _Name.c_str(); затем в цикле передаю серверу имя клиента, в цикле делаю следующее: Client.send_data(charName); cout<<*charName; выводит : 98Data send 32767Data send -268434792Data send http://www.cyberforum.ru/cpp-beginners/thread1153633.html
Неверная кодировка при считывании из файла C++
Проблема такая, при считывание из файла идет кракозябра, как это исправитьsetlocale(LC_ALL, "rus"); FILE *fp; if(!(fp = fopen("C:\\Users\\Maxim\\Documents\\Visual Studio 2008\\Projects\\datebasemax\\datebasemax\\maxim.txt","r"))==NULL) { cout<<"открыт"<<endl; } student maxim; int i =0; while(!feof(fp))
Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию C++
C++ Построить лес цифрового поиска по числам, хранящимся в текстовом файле http://www.cyberforum.ru/cpp-beginners/thread1153577.html
Построить лес цифрового поиска по числам, хранящимся в текстовом файле. Использовать реализацию леса в виде бинарного дерева. Проверить с помощью этого леса, есть ли среди указанных чисел число N, введенное с клавиатуры. всё что есть #pragma once class tree { struct data { int key; data*left;
C++ Тело POST запроса. Как самому узнать, что там должно быть? Всем здрасти! У меня следующая делема... Нагуглил POST запрос на авторизацию на одноклассниках. Тело POST запроса имеет следующий вид: std::string post_data; post_data+= "fr.posted=set"; post_data+= "&fr.needCaptcha="; post_data+= "&fr.login=" + escape(curl_handle, user_name); post_data+= "&fr.password=" + escape(curl_handle, password); подробнее

Показать сообщение отдельно
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 303
23.04.2014, 12:35  [ТС]     Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла
C++
1
2
3
4
5
6
7
8
  while(!ifstr.eof())
    {
    ifstr>>nam;  // вот тут должно читать
        cout<<nam;
    //  x=ifstr.tellg();
    //  if(x == kol[n]-2)
            break;
    }
- так по несколько раз выскакивает имя фамилия, и данные не напротив нужных строчек

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
116
117
118
119
#include <iostream>
#include <string>
#include <fstream>
#include <locale.h>
using namespace std;
 
class name
{
private:
    string _name;
    string fam;
    string surname;
    int 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;       
        int kol[10];
        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;;
                kol[i]=_ofs.tellp();
                cl++;
            }
            _ofs.close();
            f.open("myfile.txt", ios_base::in);
            int n;
            cout<<"Введите номер записи, которую необходимо считать из файла: ";
            cin>>n;
            //f.seekg(k[n-1]);
            //int x=ov.tellg();
            f.seekg((kol[n-1]));
        //  int x=f.tellg();
            while(!f.eof())
            {
                //name ob;
                cout<<endl;
                f>>obj;
                cout<<obj<<endl;
                f.close();
                break;
            }
            system("pause");
}
- я вот тут заново попробовал сделать с записью и чтением в мэине, читает всегда только последнюю запись, даже без seekg, можете плз помочь сделать чтобы читало определённую запись, и вставку в середину файла?
 
Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru