0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 9
1

Перегрузка >>, << при считывании из текстового файла

17.11.2020, 17:24. Показов 453. Ответов 1
Метки нет (Все метки)

Задание: Реализуйте возможность хранения в связном списке сотрудников из файла list.txt. Для этого:
- создайте класс employee, полями данных которого будут данные о сотрудниках,
хранящиеся в файле list.txt, а именно: идентификационный номер, имя, фамилию и оклад;
- напишите дружественную классу employee функцию, которая будет перегружать
операцию извлечения данных из потока (>>) для объектов данного класса;
- напишите дружественную классу employee функцию, которая будет перегружать
операцию вставки данных в поток (<<) для объектов данного класса ;
В функции main():
- с помощью шаблона класса linklist создайте связный список для хранения объектов класса
employee;
- считайте данные о сотрудниках из файла list.txt;
- запишите считанные из файла данные в связный список;
- выведите весь список на экран.
Ошибку выдает в main - file >> current;
кто может помочь с выполнением и объяснением?

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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <iomanip>
#include <fstream>
#include <string>
 
 
using namespace std;
void read_f(string);
fstream list;
 
template<class Type>
struct link {
Type data;
link* next;
};
template <class Type>
class linklist {
private:
link<Type>* first;
public:
linklist()
{
first = NULL;
}
void additem(Type d);
void display();
 
 
};
 
 
class employers {
private:
int id;
string fname;
string iname;
float salary;
public:
employers() : id(0), fname("fname"), iname("iname"), salary(0.0)
{}
 
 
friend ostream& operator << (ostream&, const employers&);
friend std::istream& operator >> (istream&, employers&);
};
 
ostream& operator <<(ostream& os, const employers& e)
{
os << e.id <<" "<< e.fname << " " << e.iname << " " << e.salary<< endl;
return os;
}
 
istream& operator >> (istream& is, employers& e)
{
is >> e.id >> e.fname >> e.iname >> e.salary;
return is;
}
 
 
 
template<class Type>
void linklist<Type>::additem(Type d) {
link<Type>* newLink = new link<Type>;
newLink->data = d;
newLink->next = first;
first = newLink;
}
 
 
template<class Type>
void linklist<Type>::display() {
link<Type>* current = first;
while (current) {
cout << current->data << endl;
current = current->next;
}
}
 
 
 
 
int main() {
 
system("chcp 1251 > nul");
string file = "C:/Users/Bqerm/OneDrive/Рабочий стол/7 семестр/7 семестр/7 семестр/20/list.txt";
 
 
 
linklist<int> list;
for (int i = 0; i < 6;i++) {
int current;
file >> current; (ЗДЕСЬ ПОДЧЕРКИВАЕТ ОШИБКУ >>)
list.additem(current);
}
list.display();
 
_getche();
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2020, 17:24
Ответы с готовыми решениями:

Неправильная кодировка при считывании кирилицы из текстового файла
У меня есть код для считывания текста из файла... если в файле русский язык то он выдает непонятные...

Удалить пустую строку при считывании текстового файла
Дана форма на ней имеется два текст бокса (на обоих multiline=true и wordwrap=false) Требуется...

Появляются лишние символы при считывании текстового файла
Добрый день. Необходима помощь, имеется текстовый файл, в котором содержится информация о том или...

При считывании текстового файла выдает ошибку "file is being used by another process"
private static bool ChekStatus(string login) { bool status = false; ...

1
Just Do It!
3412 / 1879 / 623
Регистрация: 23.09.2014
Сообщений: 5,935
17.11.2020, 22:30 2
Цитата Сообщение от jordan1 Посмотреть сообщение
Ошибку выдает в main - file >> current;
кто может помочь с выполнением и объяснением?
исправил:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
...
 
int main()
{
    system("chcp 1251 > nul");
    string dir = "C:/Users/Bqerm/OneDrive/Рабочий стол/7 "
                 "семестр/7 семестр/7 семестр/20/list.txt";
 
    ifstream file(dir);
 
    linklist<int> list;
    for (int i = 0; i < 6; i++)
    {   int current;
        file >> current;
        //(ЗДЕСЬ не ПОДЧЕРКИВАЕТ ОШИБКУ >>)
        list.additem(current);
    }
    list.display();
 
    _getche();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2020, 22:30
Помогаю со студенческими работами здесь

При считывании текста из файла, при нахождении пробела или enter ставится пробел
Помогите пожалуста вот код: read(fin,ch); if (ord(ch)=10) or (ord(ch)=13) then ch:=' ';...

Кракозябры при считывании с файла
Доброго времени суток. Я написал прогу, которая считывает инфу с текстового файла. Вначале все...

Ошибка при считывании файла
Пожалуйста помогите разобраться почему не находит указанный мною файл. #include &lt;windows.h&gt;...

Ошибка при считывании из файла
пишу тестер при кампиляции выдает не понятную ошибку,думаю проблема при считывании вопросов из...

Проблема при считывании из файла
Пишу простенькую программу по криптографии. В результате шифрования получается txt файлик с набором...

Ошибка при считывании из файла
При считывании файла (есть в архиве, outfile.txt) в 1 строке StringGrid'a (после фиксированной)...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru