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

STL список. Не понятно - C++

Восстановить пароль Регистрация
 
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
10.02.2014, 22:33     STL список. Не понятно #1
Доброго времени суток, форумчане!
Суть в том - Есть некое задание... В нем стоит условие:
Для хранения данных использовать текстовый файл.
У там должно хранится "Номер поезда" "Куда едет" "Время отправки"
Я сначала риализовал при помощи структуры. Это было довольно таки просто.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
struct Informer
    {
        char item[20];
        char Platform[20];
        char TimeBack[20];
}; Informer mas[10];
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void SetInformer(Informer * mas)
{
    ifstream in;
    in.open("File.txt");
    int i = 1;
    int n = 0;
    while (!in.eof())
    {
        n++;
        if (n != 4)
            switch (n)
        {
            case 1: in >> mas[i].item;
                break;
            case 2: in >> mas[i].Platform;
                break;
            case 3: in >> mas[i].TimeBack;
                break;
        }
        else { n = 0; i++; }
    }
}

Просто заносил все в массив, после чего считывал - ну, было удобно...
Но, Структуру нельзя использовать. Сказали, для хранения данных использовать списки...
И меня озадачило, как мне реализовать это?
Кликните здесь для просмотра всего текста

Смог считать из файла, то что мне нужно. И тд...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void main(void)
{
    list<string> mylist;
list<string>::iterator i = mylist.begin();
    ifstream in;
    in.open("File.txt");
    string n;
    while (!in.eof())
    {
        in >> n;
        mylist.insert(i, 1, n);
    }
    cout << mylist.size()<< endl;
    mylist.sort();
    std::copy(mylist.begin(), mylist.end(), ostream_iterator<string>(cout, "_"));

Тк, суть в том, что не понятно как теперь мне сделать тот аналог который я сделал со структурой в списке?
Допустим мне нужно будет найти поезда которые едут после 16:00:00, Как мне так организовать список, что бы я смог считать "Номер поезда" "Куда едет" - ну естественна, те которые едут после 16:00:00...
Надеюсь понятно объяснил -.-
Буду благодарен за помощь!
P.S: Спойлера добавил, что бы вы не подумали, будто я совсем не старался )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 22:33     STL список. Не понятно
Посмотрите здесь:

C++ С++, контейнерный класс типа список без использования STL
не понятно... C++
Не понятно C++
C++ кольцевой список. STL
C++ Дан список студентов (STL)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
10.02.2014, 23:09     STL список. Не понятно #2
Как-то так:

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
#include <iostream>
#include <fstream>
#include <list>
using namespace std;
 
struct Informer
{
    char item[20];
    char Platform[20];
    char TimeBack[20];
};
 
void SetInformer(list<Informer> & lst)
{
    ifstream in;
    in.open("C:\\File.txt");
    while (!in.eof())
    {
        Informer tmp;
        in >> tmp.item >> tmp.Platform >> tmp.TimeBack;
        lst.push_back(tmp); 
    }
}
 
int main()
{
    list<Informer> l_inf;
    SetInformer(l_inf);
    system("pause");
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.02.2014, 23:10     STL список. Не понятно #3
Цитата Сообщение от KochI Посмотреть сообщение
Сказали, для хранения данных использовать списки...
Наверное, всё-таки, списки структур, а не string. Сказали, что можно list из STL использовать?
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
10.02.2014, 23:14  [ТС]     STL список. Не понятно #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Наверное, всё-таки, списки структур, а не string. Сказали, что можно list из STL использовать?
Мне сказали, что структуру нельзя использовать. Используй лишь списки, ну STL list...

Добавлено через 39 секунд
Цитата Сообщение от vovacreme Посмотреть сообщение
Как-то так:

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
#include <iostream>
#include <fstream>
#include <list>
using namespace std;
 
struct Informer
{
    char item[20];
    char Platform[20];
    char TimeBack[20];
};
 
void SetInformer(list<Informer> & lst)
{
    ifstream in;
    in.open("C:\\File.txt");
    while (!in.eof())
    {
        Informer tmp;
        in >> tmp.item >> tmp.Platform >> tmp.TimeBack;
        lst.push_back(tmp); 
    }
}
 
int main()
{
    list<Informer> l_inf;
    SetInformer(l_inf);
    system("pause");
}
Нельзя структуру приминять -.-
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
10.02.2014, 23:15     STL список. Не понятно #5
Цитата Сообщение от KochI Посмотреть сообщение
Да-да

Добавлено через 39 секунд

Нельзя структуру приминять -.-
Вы уж определитесь, пожалуйста
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.02.2014, 23:17     STL список. Не понятно #6
Цитата Сообщение от KochI Посмотреть сообщение
Нельзя структуру приминять -.-
В смысле нельзя применять структуру? А как вы хотите реализовать лист, без типа вашей структуры?
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
10.02.2014, 23:20  [ТС]     STL список. Не понятно #7
Цитата Сообщение от Bend3r Посмотреть сообщение
В смысле нельзя применять структуру? А как вы хотите реализовать лист, без типа вашей структуры?
Без понятия, мне препод сказал "НЕ используй структуры!!" :\
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.02.2014, 23:22     STL список. Не понятно #8
Цитата Сообщение от KochI Посмотреть сообщение
Без понятия, мне препод сказал "НЕ используй структуры!!" :\
А ну значит создавай столько листов, сколько у тебя переменных в структуре.
По твоему кода получается так.
C++
1
2
3
list<char> l_inf0;
list<char> l_inf1;
list<char> l_inf2;
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
10.02.2014, 23:23  [ТС]     STL список. Не понятно #9
Цитата Сообщение от Bend3r Посмотреть сообщение
А ну значит создавай столько листов, сколько у тебя переменных в структуре.
По твоему кода получается так.
C++
1
2
3
list<char> l_inf0;
list<char> l_inf1;
list<char> l_inf2;
И типа, в одном листе хранить поезда, в другом куда, а в третьем время??
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.02.2014, 23:30     STL список. Не понятно #10
Цитата Сообщение от KochI Посмотреть сообщение
И типа, в одном листе хранить поезда, в другом куда, а в третьем время??
Да, ну это бред конечно полный. На много удобней структуры хранить, но раз "препод" сказать значит так надо)
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
10.02.2014, 23:30     STL список. Не понятно #11
Вместо структуры можно использовать объект с публичными членами. А если и объектов нельзя. тогда как можно использовать list STL, если это объект.
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
10.02.2014, 23:33  [ТС]     STL список. Не понятно #12
Цитата Сообщение от Bend3r Посмотреть сообщение
Да, ну это бред конечно полный. На много удобней структуры хранить, но раз "препод" сказать значит так надо)
Согласен.
Просто еще не понятно, список ведь не имеет индексации? Я найду нужно мне время, потом мне как-то нужно будет отыскать Поезд и тд -.-
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.02.2014, 23:52     STL список. Не понятно #13
Цитата Сообщение от KochI Посмотреть сообщение
Просто еще не понятно, список ведь не имеет индексации? Я найду нужно мне время, потом мне как-то нужно будет отыскать Поезд и тд -.-
А ты почитай методы, создай к примеру лист типа стринг. В неси туда элементов 10 и поиграйся вызывая методы через оператор "."
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.02.2014, 23:52     STL список. Не понятно #14
Цитата Сообщение от KochI Посмотреть сообщение
Мне сказали, что структуру нельзя использовать. Используй лишь списки, ну STL list...
Может испорченный телефон? Сказали одно, а услышали другое? Может сказали, что массив структур нельзя использовать, используй списки?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2014, 00:29     STL список. Не понятно
Еще ссылки по теме:

как i двигается понятно но вот не понятно как это делает j ? C++
Внесение обїекта в список <list> STL C++
STL list. В изначально пустой список вставить 100 элементов путем вставки в случайную позицию C++

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

Или воспользуйтесь поиском по форуму:
KochI
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
11.02.2014, 00:29  [ТС]     STL список. Не понятно #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Может испорченный телефон? Сказали одно, а услышали другое? Может сказали, что массив структур нельзя использовать, используй списки?
Та нет, вроде все дословно. В любом случае всем спасибо за советы. Еще подумаю -.-
Yandex
Объявления
11.02.2014, 00:29     STL список. Не понятно
Ответ Создать тему
Опции темы

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