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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
#1

В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому - C++

05.03.2016, 16:23. Просмотров 244. Ответов 11
Метки нет (Все метки)

Имеется файл, в котором есть поля: №(номер), ФИО, дата рождения, место работы, стаж.
Подскажите, как написать программу, чтобы в начале она сортировала по полю стаж, а потом по полю ФИО (как пояснил преподаватель, у тех, кого одинаковый стаж, чтобы они сортировались дополнительно по полю ФИО).
+ вводить данные в программу нельзя, нужно брать именно из файла. Можно ли как-то реализовать выборку данных из файла Excel???

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2016, 16:23     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому
Посмотрите здесь:

Создать массив из 5 записей с полями наименование товара, цена и сохранить его в файле - C++
создать массив из 5 записей с полями наименование товара, цена) сохранить в файле. вывести содержимое файла из предыдущей задачи.с помощью...

Программа содержит два класса. Оба класса содержат по одному целому полю и по одному указателю на символьный тип. - C++
Помогите решить с объяснениями. Программа содержит два класса. Оба класса содержат по одному целому полю и по одному указателю на...

Сортировка массива структур по одному полю - C++
Приветствую. Есть задача, практически аналогичная моей: http://www.cyberforum.ru/cpp-beginners/thread1403598.html В этом примере...

Сортировка данных объекта по одному полю - C++
Мне нужно сделать сортировку в лексикографическом порядке mass -массив строк Что я делаю не так? StringArray *mass5 = new...

Сортировка массива структур по одному полю - C++
Приветствую. Задача: отсортировать по возрастанию структуру по одному полю. Вчера поднимал тему:...

Сортировка массива(вектора)структур по одному полю - C++
Код:#include <iostream> #include <sstream> #include <vector> #include <algorithm> struct Person{ std::string surname,name; ...

Перегрузка оператора сравнения (сравнивать только по одному полю) - C++
Помогите пожалуйста. совсем не выходит перегрузить оператор == класса Book так, чтобы сравнение велось только переменой isbn класса ISBN. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
05.03.2016, 16:58     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #2
При прохождении по стажу я бы смотрел есть ли еще записи с таким же стажем, если есть, захожу в отдельный цикл, и там хожу только по этим записям ища самую младшую (по фамилии) и вывожу, и т.д.

Мне кажется есть варианты по проще, но на первый взгляд я бы делал так.
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
05.03.2016, 17:19  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #3
Ryuk, Проблема в том, что сортировку я бы и смог реализовать, но как сделать это все это их файла - ума не приложу. Если можно взять файл Excel, то это думаю проще, чем из txt файла
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
05.03.2016, 17:24     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #4
Frip, часика через 3 накатаю программку, скину тогда.
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
05.03.2016, 17:29  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #5
Ryuk, буду вам премного благодарен
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
06.03.2016, 22:33  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #6
bump

Добавлено через 3 часа 49 минут
Ryuk, я жду вашего ответа, помогите пожалуйста!
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
07.03.2016, 08:15     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #7
Frip, дело в том, что тут нужен либо типизированный файл (как вы уже указали - excel), либо сохранение всего файла в массив. Есть вариант сортировки вставками, т.к. она меняет местами только 1 элемента, но это очень долго и не рационально. Адекватного тутора по импорту данных из .xlsx в VS я не нашел, есть только Билдер и Qt.
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
07.03.2016, 12:22  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #8
Насчет .xlsx я спрашивал, говорят есть директория libxl может ли работать C++ с документами Excel?

И если не использовать её, уж лучше через текстовый файл. Я бы может и разобрался с текстовым файлом, но совершенно не понимаю, как именно программой выбрать поле Стаж, а потом фио, ибо они разные по размер и по пробелам в файле не определить, если только использовать какие-либо разделители, что-то вроде '|'

Добавлено через 16 минут
Ryuk, тоже поискал, можно сделать в delphi использовать с .xlsx файлами
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
07.03.2016, 14:08     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #9
Frip, а чем | отличается от пробела? Если данные в формате: Петров А. А. 1875..., то для того чтобы год отследить, понятно что нужно считывать после 3-его пробела. Можно конечно: Петров А. А.|1875...

Если хотите на плюсах, как вариант на Борланде писать, у Делфи тоже Борланд есть. Так что тут уже дело за вами. Кстати через Борланд можно напрямую обращаться к функциям самого экселя. Просто заходите в файл, выбираете функцию сортировки по определенному столбцу и вуаля, файл отсортирован (у меня была практика с подобными вещами на VBA).
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
07.03.2016, 14:10  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #10
надо сортировку по стажу, проблема в том, что до этого есть поле "место работы", где может стоять много пробелов, да и ФИО нужно писать полностью, опять же пробелы
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
07.03.2016, 16:58     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #11
Frip, тогда можно организовать проверку, при первом вхождении числа и до первого пробела после числа, считать это датой рождения.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2016, 17:00     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому
Еще ссылки по теме:

Преобразовать массив, расположив в начале элементы, целая часть которых не превышает 1, а потом все остальные - C++
Ребята, выручайте очень нужно. 1.Найти количество положительных элементов массива. 2.Найти сумму элементов массива, расположенных...

Как отсортировать структуру с полями string по алфавиту - C++
Народ выручайте!!!! Нужно сделать сортировку по полю string Fname(по фамилии), всё сделал только это осталось!!! Метод или пример, хоть...

Отсортировать структуры по полю union - C++
Ребят, дали вот задание. Сделать структуру, у которой одна переменная объединенного типа (union). Потом отсортировать структуры по...

Отсортировать массив обектов по полю - C++
Описан дин. массив с объектами класса Car: Car * array; array= new Car("Acura", 2, 180); array= new Car("Dodge", 4, 220); array=...

Не получается отсортировать по полю класса - C++
Здравствуйте! Не понимаю, в чем ошибка. Есть вектор, содержащий указатели на объекты класса Shape Хочу его отсортировать с помощью...


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

Или воспользуйтесь поиском по форуму:
Frip
2 / 2 / 1
Регистрация: 04.11.2013
Сообщений: 263
07.03.2016, 17:00  [ТС]     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому #12
так там числа не только дата рождения, но и стаж работы, который указывается в виде "1 год, 5 лет".
Вы поможете написать программу? Очень нужно решить
Yandex
Объявления
07.03.2016, 17:00     В файле имеются 14 записей с полями. В начале отсортировать их по одному полю, потом по другому
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru