|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.07.2009, 22:56 | #1 |
Пользователь
Регистрация: 20.04.2009
Сообщений: 58
|
Проблема с задачей на использование классов (С++)
Всем доброго времени суток. Взялся написать программу на языке C++ в среде MS Visual Studio 2008, в которой использовался бы класс (структура), написал, откомпилировал, начал вводить данные, но когда нажал Enter, программа оборвалась и появилось сообщение об ошибке:
Unhandled exception at 0x7c812aeb in Вуз.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0012fb64.. Задача звучит так: На вход программе подаются сведения об абитуриентах, поступающих на бюджетные места на факультет одного из вузов. Первая строка содержит количество поступающих (N). Каждая из следующих N строк содержит: номер личного дела абитуриента (трехзначный), набранный им балл (100 - 300) и информация о льготах(тип bool: 1 - если льготник, 0 - если нет). Все данные разделены пробелом. Абитуриенты зачисляются в вуз в порядке убывания набранных ими баллов, но в первую очередь зачисляются льготники, а затем (если остались места) - оставшиеся абитуриенты. Известно, что бюджетных мест 15. Требуется написать программу, которая выведет номера личных дел зачисленных абитуриентов. Следует учитывать, что N >= 20. Вот мой код: Код:
Ошибка появляется после заполнения N строк по нажатию Enter. Если у вас нет возможности разбираться в этой задаче и в моем коде, прошу хотя бы разъяснить, что значит та ошибка. Вообщем, буду рад любой помощи. Спасибо. Последний раз редактировалось N1KeL; 25.07.2009 в 23:07. |
25.07.2009, 23:09 | #2 |
New Delphi Coder
Форумчанин Подтвердите свой е-майл
Регистрация: 20.07.2008
Сообщений: 874
|
Ошибка выделения памяти. Скорее всего что-то когда-то неправильно выделили или не достаточно. А лучше сделайте функции методами класса, иначе смысл использовать класс отпадает, а также все преимущества тоже.
И зачем вам эти динамические переменные? Используйте вектор хотябы или другие коллекции пользуйтесь благами VS.
Страх это слабость и потому, кто испугался уже побежден.
|
25.07.2009, 23:16 | #3 |
Пользователь
Регистрация: 20.04.2009
Сообщений: 58
|
Видете ли, я состою в рядах "начинающих программистов", поэтому о благах VS знаю маловато и для написания программы использовал только свой запас знаний.
Очень заинтересовала вот эта фраза: "сделайте функции методами класса". Можно поподробнее? |
25.07.2009, 23:38 | #4 |
New Delphi Coder
Форумчанин Подтвердите свой е-майл
Регистрация: 20.07.2008
Сообщений: 874
|
Приведу пример на простейшем классе:
Код:
Например вы создали массив так и берете первые 15 записей где IsLgot истина - то есть есть льготники а ели их меньше 15, то берете остальных недостающих удовлетворяющих параметры IsGood. Насчет вектора - это класс коллеция С++, работать с ним очень просто - написано в хелпе хорошо. Конечно надо учесть в классе получение значений переменных по отдельности, а также задачи их значения в классе. Все что находится не в секции public - по умолчанию является приватным и видимым только методам класса.
Страх это слабость и потому, кто испугался уже побежден.
Последний раз редактировалось Mixasik; 25.07.2009 в 23:40. |
25.07.2009, 23:58 | #5 |
Пользователь
Регистрация: 20.04.2009
Сообщений: 58
|
Спасибо за информацию! Буду разбираться.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прошу совета в проектировании классов | Sergey82 | Общие вопросы C/C++ | 5 | 02.07.2009 20:09 |
Создание классов с использованием конструкторов различного типа | Катюшенька | Помощь студентам | 0 | 30.04.2009 20:21 |
Очень прошу помочь! | goggin | Помощь студентам | 1 | 15.12.2008 19:11 |
Прошу помочь. Оплачу. | dreo | Фриланс | 8 | 22.12.2007 00:35 |
Прошу помочь с запросом | MASTERKEY | БД в Delphi | 0 | 18.05.2007 15:15 |