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

Чтение и запись в stack из файла

23.12.2018, 15:47. Показов 629. Ответов 0

Author24 — интернет-сервис помощи студентам
Добрый день!
Проблема состоит в следующем:
Есть class Car и stack <Car> car_STK. Мне нужно считать данные из файла и записать их в stack.
Я пытаюсь реализовать это таким образом:
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
#include <iostream>
#include <fstream>
#include <stack>
#include "classes.h"
 
int main()
{
    int i, n;
    Car car_OBJ;
    stack <Car> car_STK;
 
    ifstream car_IN("Input\\Cars_list.txt");
    ofstream car_OUT("Output\\Cars_list.txt");
 
    if (!car_IN) cerr << "Can't open file" << endl;
 
    car_IN >> n;
 
    for (i = 0; i < n; i++)
    {
        car_IN >> car_OBJ;
        car_STK.push(car_OBJ);
    }
 
    for (i = 0; i < n; i++)
    {
        car_OUT << car_OBJ;
        car_STK.pop();
        car_OBJ = car_STK.top();
    }
 
    return 0;
}
Это мой заголовочный файл с описанием класса.
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
using namespace std;
 
class Car
{
    int ID_Car,
       Edition,
       Price;
    string  Name,
            Condition,
            Autobody,
            Equipment,
            Engine,
            Transmission,
            Drive,
            Color;
public:
   
    int getID_Car();
    int getEdition();
    int getPrice();
    string getName();
    string getCondition();
    string getAutobody();
    string getEquipment();
    string getEngine();
    string getTransmission();
    string getDrive();
    string getColor();
 
    void putID_Car(int id_car);
    void putEdition(int edition);
    void putPrice(int price);
    void putName(string id_car);
    void putCondition(string condition);
    void putAutobody(string autobody);
    void putEquipment(string equipment);
    void putEngine(string engine);
    void putTransmission(string transmission);
    void putDrive(string drive);
    void putColor(string color);
 
    template <class TYPE> friend TYPE & operator <<(TYPE &out, Car &car)
    {
        out << car.getID_Car() << " " << car.getName() << " " << car.getCondition() << " "
            << car.getEdition() << " " << car.getAutobody() << " " << car.getEquipment() << " "
            << car.getEngine() << " " << car.getTransmission() << " " << car.getDrive() << " "
            << car.getColor() << " " << car.getPrice() << endl;
 
        return out;
    }
    template <class TYPE> friend TYPE & operator >>(TYPE &in, Car &car)
    {
        int value1; string value;
 
        in >> value1;
        car.putID_Car(value1);
 
        in >> value;
        car.putName(value);
 
        in >> value;
        car.putCondition(value);
 
        in >> value1;
        car.putEdition(value1);
 
        in >> value;
        car.putAutobody(value);
 
        in >> value;
        car.putEquipment(value);
 
        in >> value;
        car.putEngine(value);
 
        in >> value;
        car.putTransmission(value);
 
        in >> value;
        car.putDrive(value);
 
        in >> value;
        car.putColor(value);
 
        in >> value1;
        car.putPrice(value1);
 
        return in;
    };
 
};
Файл с описанием функций get\put не привожу, чтобы не занимать место.
И собственно файл txt из которого беру данные:

HTML5
1
2
3
4
5
1 Ford_Focus_III Новый 2018 Хэтчбек Special_Edition 1.6 л/125л.с./бензин Робот Передний Синий 997000
2 Новый 2018 Ford_EcoSport_I Внедорожник Trend 1.5л/123л.с./бензин Автоматическая Передний Белый 1100000
3 Ford_Kuga_II Новый 2018 Внедорожник Trend_Plus 2.5л/150л.с./бензин Автоматическая Передний Белый 1611000
4 Ford_Fiesta_Mk6 Новый 2018 Хэтчбек Trend 1.6л/105л.с./бензин Робот Передний Серебристый 876000
5 Ford_Explorer_V Новый 2018 Внедорожник Limited_Plus 3.5л/249л.с./бензин Автоматическая Полный Черный 3113000
При запуске пишет Прекращена работа. А в выходной файл записывает только:
HTML5
1
0   0       0
Очевидно, что где-то накосячил, но не знаю где. Подскажите пожалуйста, как в данном случае правильно организовать чтение-запись.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2018, 15:47
Ответы с готовыми решениями:

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран...

Запись и чтение *.txt файла - запись частичная
Доброе время суток! Помогите решить проблемку. У меня либо не полностью считывается файл, либо не...

Чтение и запись из файла, проверка файла на пустоту
В общем написал код который использует сессии и массивы, не могу понять как переделать так что бы...

0
23.12.2018, 15:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2018, 15:47
Помогаю со студенческими работами здесь

Чтение и запись файла
Подскажите пожалуйста, мне необходимо открывать любой файл из диалогового меню, загружать,...

Запись и чтение из файла
Нужно сохранять в файл запись в таком виде Имя Фамилия Телефон Имя ..... помогите плиз...

Чтение и запись из файла
Пользуюсь code::blocks. Перерыл весь гугл, так и не понял, как что-то читать или записыват в файл...

Запись и чтение из файла
Всем добрый вечер, как можно записать данные в файл? Например записать в txt файл список паролей....


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

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

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