3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
||||||
1 | ||||||
Структуры: Списки студентов26.03.2011, 21:23. Показов 7913. Ответов 88
Метки нет (Все метки)
всем привет
вот такое задание мне дано: Описать массив структур, содержащих информацию о результатах сессии: {фамилия; группа; дисциплина; оценка}. Распечатать фамилии студентов, не имеющих оценок ниже «хорошо». делаю на Borland c++ 3.1 т.к. его пока изучаем вот мой код
жду советов, поравки и замечаний, хочу понять и научиться.. заранее спасибо
0
|
26.03.2011, 21:23 | |
Ответы с готовыми решениями:
88
Вывести списки студентов по группам Перевести L студентов с 1-й группы в другую (списки) Записи: Вывести списки студентов, упорядоченные по возрасту Структуры. Списки |
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
01.04.2011, 19:37 | 61 |
Вся функция CREATE_LIST_SES.
Ты создаёшь объект SES, ничего с ним не делая. При этом "заполняешь" объект SES из list, но он не создан, т.е. ты где-то что-то портишь и всё. Строка 31 приводит к утечке. Строка 36 - выделяешь блок памяти размером с указатель. malloc и new не надо совместно использовать. malloc не надо использовать. Строка 59, тоже непонятно что делаешь. 107 - передаёшь не инициализированный SES Ещё ошибки есть, но мне читать надоело.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
||||||
03.04.2011, 09:21 [ТС] | 62 | |||||
Deviaphan, подскажи плиз, правильно делается ли проверка
потому что если работать со списком то он тупит в плане того что он либо выводи все фамилии либо ничего а отждельно елси создаю неск списков то он тупит а по 1 работает норм
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
03.04.2011, 09:36 | 63 |
Почему у тебя индексация с 1, а не с 0? И сравнение на <=, а не на <?
Строка 7 правильная, при условии, что в SES корректные данные. Убедись на счёт индексации. Почему в строке 5 берутся данные первого узла, а не текущего? В общем, я не знаю, как у тебя список устроен. Проверяй индексацию.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
03.04.2011, 13:24 [ТС] | 64 |
если про индексацию i и j то в нулевом хранятся данные о том сколько было создано массивов, я о N и PR
это как понять? какого первого узла? и какой текущий должен то быть? Почему в строке 5 берутся данные первого узла, а не текущего?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
03.04.2011, 14:21 | 65 | |||||
Это я тебя справшиваю.)
Впрочем, я вообще не понимаю, как реализован у тебя список, так что могу странное советовать.)
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
03.04.2011, 21:08 [ТС] | 66 |
я же тебе говорю что в list[0] и SES[0] храниться инфа о том сколько создано массивов поэтому в 0 я храню только это а с 1 использую списки дабы не путаться поэтому я так и сделал что кроме N и PR ничего не используется в нулевом индексе
0
|
4769 / 2579 / 892
Регистрация: 29.11.2010
Сообщений: 5,581
|
||||||
04.04.2011, 00:15 | 67 | |||||
printf в некоторых случаях предпочтительней. Например, когда пишешь на С.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
04.04.2011, 06:23 | 68 |
Не только предпочтительнее, но безальтернативен.) На Си нету потоков.
Вот я и не могу этого понять, почему так? Зачем себя путать? У тебя один класс выполняет две разные работы, в зависимости от индекса в списке. Тебе виднее, конечно, но я бы так не стал делать.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
04.04.2011, 14:04 [ТС] | 69 |
а как посоветуешь сделать? чтоб все было в одной структуре? тогда надо место для массива выделять типа чар и инт для хранение инфы о сессии да?
а еще препод сказала что надо мол сделать объединение какое тто я прочитал так и не понял как и что там устроено к примеру производится проверка по фамилии и группы если совпадает то объединить структуры т.е. слить объекты во едино и как бы получается 1 карточка и слить инфу о сессии к примеру иванов 450 биология 5 иванов 450 матем 5 должно получиться иванов 450 биология 5 матем 5 и только затем уже проверять как то по оценкам
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
04.04.2011, 14:07 | 70 |
Сделай класс List, в котором хранится указатель на card и количество узлов. Соответственно и интерфейс для работы со списком будет в класса List. Ну и т.д.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
04.04.2011, 14:17 [ТС] | 71 |
lemegeton, прокомпилировал код данный 4 ошибки аргс и аргв никогда не используется и еще ошибки относительно строки 64 и 78
Deviaphan, как понять количество узлов? и как понять "Соответственно и интерфейс для работы со списком будет в класса List. Ну и т.д."
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
04.04.2011, 14:21 | 72 |
Не количество узлов, чего ты там в узле с индексом 0 хранишь.) Я так и не разбирался с твоим кодом.)
Т.е. храни данные не в нулевом узле, а рядом.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
04.04.2011, 14:28 [ТС] | 73 |
в list'[0].N храню данные о том сколько карточек или фамилий создано чтоб при проверке не бесконечно проверять а N число
в list[0].SES[0].PR храню число вписанных на фамилию дисциплин и оценок чтоб соотв при проверке оценок не проигрвать бесконечно по сути дела я использую в нулевых индексах ТОЛЬКО N и PR а в остальных другие не касаясь этих и как хранить рядом по твоему надо правильно? может скажешь прямо как и что? направишь в правильное русло а то уже неделю или сколь тут фигней страдаю все никак не могу понять как и тчо делать с ними
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
04.04.2011, 14:30 | 74 | |||||
Да хоть так
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
04.04.2011, 14:37 [ТС] | 75 |
и как я буду обращаться к данным и к инфе о том создано??
ведь если создам массив структур то инфа утечет же ?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||
04.04.2011, 14:45 | 76 | |||||
Структура одна. Массив будет card*. Кто куда утечёт? Я вообще ничего не понимаю.(
Вместо list[0].N будет:
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
||||||
04.04.2011, 14:52 [ТС] | 77 | |||||
ааа теперь понял но тогда вопрос такой
правильно ли будет так
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
04.04.2011, 15:04 | 78 |
Не могу актуальный код найти.)
В общем, всё что касается студента будет в структуре card, а в List будет указатель на список card, N и PR.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
04.04.2011, 15:09 [ТС] | 79 |
хм.. т.е. в итоге пришли снова к тому чему пришли т.е. две структуры одна структура содержит указатель на др структуру и N , PR так? вторая surname group dp и rating так? но нужены ли массивы для dp и rating?? иначе будет только одна дисц и 1 оценка так?
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
04.04.2011, 15:12 | 80 |
Вопрос только в том, чтобы убрать счётчик количества узлов из описания узла. Всё. Остальное без изменений.
0
|
04.04.2011, 15:12 | |
04.04.2011, 15:12 | |
Помогаю со студенческими работами здесь
80
Список студентов (структуры) Структуры данных: списки Структуры и односвязные списки Структуры данных: Списки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |