Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Файлы; Динам. список 
V
    Опции темы
strik
Дата 21.12.2010, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.10.2010

Репутация: нет
Всего: нет



Имеется текстовый файл, содержащий фамилию, имя, пол и возраст человека.
Возник небольшой вопрос: как на основе этих данных можно создать список(однонаправленный получается), чтобы в дальнейшем его можно было отсортировать(по именам, по возрасту...)?
PM   Вверх
Чoо
Дата 21.12.2010, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 22.9.2009

Репутация: 4
Всего: 4



Цитата(strik @  21.12.2010,  00:24 Найти цитируемый пост)
Возник небольшой вопрос

а вот неббольшой ответ:
1. Описываете структуру:
Код

struct peopl{
  char *name,
           surname;
  bool   sex;
  int     age;
  peopl* next;
};

2. Открываете ваш файл для чтения (fopen())
3. выделяете  память для элемента списка
4. считываете данные из файла с помощью fscanf()
5. заполняете элемент
6. повторяете  3..5 до тех пор пока не достигнете конца файла.

в принципе и все, кратенько...


--------------------
user posted image

OS: Debian Squeeze (kernel 3.8.2)
IDE: qtCreator 1.3.1; Eclipse SDK 3.5.2
PM MAIL   Вверх
Crafty
Дата 21.12.2010, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



7. не забудь в конце освободить память.
PM MAIL   Вверх
Чoо
Дата 21.12.2010, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 22.9.2009

Репутация: 4
Всего: 4



Точно smile Освобождение *name и  *surname можно прописать в деструкторе. Это будет удобно и при удалении отдельных элементов списка

Добавлено через 1 минуту и 5 секунд
а заполнение этих же "полей" можно организовать через конструктор, что бы не прописывать каждое выделение памяти


--------------------
user posted image

OS: Debian Squeeze (kernel 3.8.2)
IDE: qtCreator 1.3.1; Eclipse SDK 3.5.2
PM MAIL   Вверх
bsa
Дата 21.12.2010, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



а можно вместо указателей и динамической памяти использовать фиксированные массивы, в этом случае не нужно будет освобождать память для каждого поля.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.