![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
Здравствуйте, столкнулась со следующей проблемой.прошу помочь) Задание: дан файл структур , необходимо упорядочить его по выбранному полю, и переписать уже отсортированный массив структур в этот же файл
само упорядочивание реализовано в этой программе ,эта программа работает) но нужно её исправить так чтобы структуры не вводились с клавиатуры, а считывались из файла а потом перезаписывались в этот же файл. Вот код: Очень прошу помочь
Добавлено @ 09:08 мне очень нужна ваша помощь, все что я могла, я сделала) если кому не очень сложно, потратьте пожалуйста немного времени... Это сообщение отредактировал(а) MAKCim - 13.4.2008, 09:10 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
только про проверки на ошибки забывать не стоит Это сообщение отредактировал(а) jonie - 13.4.2008, 14:30 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
jonie, спасибо тебе за внимание) я уже перепробавала множество функций, но видимо что-то не понимаю в их применении, можно попросить тебя применить эти функции к своей программе, если тебе конечно несложно
![]() |
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
файл структур уже изначально задан... |
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
неужели так сложно....
|
|||
|
||||
serega00 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
н-да что то вообще не понятно...
|
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 3 Всего: 36 |
Хы. такаое впечатление, что функцию sortirovka ты нашла на какой-то помойке, впечатление оно конечно жуткое производит, был бы я менее закалённым в боях, мне бы по ночам кошмары снились :gigi:
я бы исправил её на такой вариант, или хотя бы отформатировал код. // Сортировка по полю nazvanie int __cdecl NazvanieComparer(const void* p1, const void* p2) { const struct film* f1 = (const struct film*) p1; const struct film* f2 = (const struct film*) p2; return strcmp(f1->nazvanie, f2->nazvanie); } struct film* db; // массив структур film size_t N = ... // количество элементов в массиве qsort(db, N, sizeof(struct film), NazvanieComparer); |
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
сортировка-то как раз работает, и сделана согласно требованиям, а вот как привязать мою программу к файлам я не знаю, помогите, пожалуйста, программисты, мне очень нужна ваша помощь.... если кто-то знает, не пожалейте немного времени на меня....
Это сообщение отредактировал(а) МальвинаC - 14.4.2008, 17:09 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
МальвинаC, привязка к файлам осуществляется с помощью функций fopen, fclose, fseek, fprintf и fscanf. Тебе лишь надо заменить все scanf и printf отвечающие за ввод и вывод массива, на fscanf и fprintf, а так же добавить открытие и закрытие файла.
|
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
структуру не так просто считать из файла, в этом вся загвостка, записать в файл несложно, вот:
а вот как считать я не знаю, напишите если кто знает |
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
здесь одна структура записывается в одну строку, поля через пробелы
|
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
если кто знает, напишите пожалуйста как...потому что я не понимаю...
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
МальвинаC, проще всего это делать так:
|
|||
|
||||
МальвинаC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
спасибо, более мненее ясно, сейчас попробую применить у себя, просто уверена, что сейчас начнут возникать проблемы
![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Если тупо взять и засунуть, то да - будут проблемы. Надо подойти творчески. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |