|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2009, 13:47 | #1 |
Регистрация: 03.06.2009
Сообщений: 5
|
Список структур. -> определенных удалить. (подскажите)
Направьте на путь истинный (переклинило.. мозГ).....
Структура содержит фамилию и 4 оценки. Удалить из списка имеющих 2, 3. Все работает до void del(void); ------------------------------------ Код:
Последний раз редактировалось Sazary; 03.06.2009 в 13:51. |
03.06.2009, 14:05 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Код:
Вместо этого: Код:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
03.06.2009, 14:17 | #3 |
Регистрация: 03.06.2009
Сообщений: 5
|
if(p->bal1==2 || p->bal1==3)
так вставил.... список формирует ...но не удаляет... |
03.06.2009, 14:25 | #4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Вот так сделайте. Оно?
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
03.06.2009, 14:57 | #5 |
Регистрация: 03.06.2009
Сообщений: 5
|
так.... блин... в чем касяк..
он находит, но по одному (да и ладно бы, и так сошло), но из основного не удаляет... просмотр смотришь все как было... т.е... до ----- printf("Удалено!\n"); не доходит Модератор: пользуйтесь "правкой" Последний раз редактировалось Sazary; 03.06.2009 в 15:03. |
03.06.2009, 15:03 | #6 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Уверены? У меня все находит и все удаляет.
Ввел 5 человек. Из них трое с оценками 2 и 3. Нажимаю просмотр - выводит всех. Нажимаю удалить - три раза спрашивает, удалить-ли найденного человека. Нажимаю "да". После этого жму на просмотр - выводит двоих (тех, у которых с оценками все в норме). Прикрепляю лог.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
03.06.2009, 15:56 | #7 |
Регистрация: 03.06.2009
Сообщений: 5
|
Sazary -> ты Джедай ... молоток!!!
действительно.... перезапустил С.. поперло... код под остальные поправлю ща (он читал тока по 1-й оценки) и все нормуль... благодарю Sazary. ..... конечный код.... но что интересно!!! если в сторке по одной оценки <=3 - нормально удаляет, а если больше то одну строку оставляет (при повторном нажатии удаляет и её).... в чем прикол???... void del(void) { spis *p, *temp; int f[20]; char c; int j=0; clrscr(); printf("\nСтуденты имеющие 2 и 3:\n "); p=head; while (p!=NULL) { if(p->bal1<=3 || p->bal2<=3 || p->bal3<=3 || p->bal4<=3) { j++; printf("\nНайденo:\n "); printf("\n %s \t| %d | %d | %d | %d ",p->name, p->bal1, p->bal2, p->bal3, p->bal4); printf("Удалить? - Y\n"); c=getch(); if (c=='y') { if (p==head) // если найденная запись - первая {head=p->v2; head->v1=NULL; free(p); p=head; } else if (p==tail) // если найденная запись - последняя {tail=p->v1; tail->v2=NULL; free(p); p=tail; break; } else // удаление из средины списка {p->v2->v1=p->v1; p->v1->v2=p->v2; temp=p; p=p->v2; free(temp); } printf("\nУдалено!\n"); }else break; } p=p->v2; } if(j==0) { printf("\nНе найдено!\n"); getch(); } Последний раз редактировалось DED_moroZ; 04.06.2009 в 07:14. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите кто знает что это за файл и как его удалить | Yury111 | Безопасность, Шифрование | 6 | 03.06.2009 14:54 |
Нужна помощь с доработкой.двусвязный список(С++).Удалить ел-т в заданой позиции. | Olya90 | Помощь студентам | 1 | 28.05.2009 00:14 |
Подскажите как программно удалить все записи | Worms | БД в Delphi | 3 | 04.03.2008 16:30 |
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить | Alar | Общие вопросы Delphi | 0 | 29.10.2006 21:36 |