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

Структура из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ упорядочить нечетные элементы массива по убыванию http://www.cyberforum.ru/cpp-beginners/thread112953.html
2.04 2.32 2.40 2.42 2.42 2.41 2.40 2.38 2.37 2.35 дан массив (см.выше) упорядочить нечетные элементы массива в порядке убывания помогите плизз))
C++ Линейные программы Ребят, у меня по курсовой тема "Линейные программы". И необходимо найти по этой теме минимум 15 листов теории, но я не могу найти столько. Подскажите в каких источниках есть нужная информация и ее... http://www.cyberforum.ru/cpp-beginners/thread112949.html
C++ Не работает Cout
Не работает Cout компилю в 8 студии #include <stdio.h> #include <conio.h> #include <iostream> #include <stdlib.h> class alpha{ public: static int n; alpha(){ if (n==0)
C++ Реализация 2х потоков, работа с буфером, механизм семафоров
Год не было С++, а теперь по смежному предмету задали вот такое : Написать программу, содержащую два потока. Первый поток генерирует последовательность чисел и помещает их в буфер из Nbuf...
C++ Работа с строками http://www.cyberforum.ru/cpp-beginners/thread112881.html
Помогите с заданием пожалуйста. Задание:"Отпечатать второе и третье слова произвольного текста."
C++ разбить строку в массив Как разбить массив символов в отдельный массив по слову?Я вот что-то написал,проде бы правильно,но когда например ввожу строку "heavy metal rulit vsegda",то mas выводится "rilitMMMMvsegda". int... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
06.04.2010, 16:49
Вот пример с использованием контейнера STL std::map (символ-разделитель - ";"):
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
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <fstream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    std::map<std::string, std::vector<std::string> > DB;
    std::string record, chair;
    std::vector<std::string> groups;
    std::ifstream ifs("input.txt");
    //Считывание из файла строки-записи
    while(std::getline(ifs, record))
    {
        groups.clear();
        size_t beg=0, end=0;
        end=record.find(";", beg);
        //Выделение из записи кафедры
        chair=record.substr(beg, end-beg);
        beg=end+1;
        //Заполнение вектора групп
        while((end=record.find(";", beg))!=std::string::npos)
        {
            groups.push_back(record.substr(beg, end-beg));
            beg=end+1;
        }
        //Добавление пары (chair, groups) в ассоциативный контейнер
        DB[chair]=groups;
    }
    //Вывод информации
    for(std::map<std::string, std::vector<std::string> >::const_iterator it1=DB.begin();
        it1!=DB.end(); ++it1)
    {
        std::cout << it1->first << ": " << std::endl;
        for(std::vector<std::string>::const_iterator it2=it1->second.begin();
            it2!=it1->second.end(); ++it2)
            std::cout << "\t" << *it2 << std::endl;
        std::cout << std::endl;
    }
    system("pause");
    return 0;
}
Содержимое файла input.txt:
Код
Кафедра комьютерных технологий;ПО-09-1;ВС-08-1;ВТ-08-1;
Кафедра прикладной информатики;ПИ-07-1;ПМ-09-1;ПМ-09-2;
ЗЫ. В конце последней строки отсутствует переход на новую строку!
ЗЗЫ. Вот тебе и пример, каким образом можно расположить информацию в файле
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru