|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
|
Большая задача на работу с классом и файлами09.04.2019, 21:37. Показов 3855. Ответов 88
Метки нет (Все метки)
По заданию нужно:
1)Занести из файлов индекс группы студента, его фамилию, четыре оценки за экзамены и участие (0/1). 2)Начислить студентам определённой группы стипендию: все "5" и участие +50% к стипендии, без участия +25%, с четвёрками обычная стипендия, с тройками её нет. 3)Предусмотреть возможность добавления информации, удаления отдельных записей, сортировки по заданному полю. Я и с классами, и с файлами работал очень мало, поэтому у меня возникли вопросы: как из одного файла, содержащего одновременно фамилию и, допустим, оценки, считать одно отдельно от другого? Что за возможность добавления/удаления информации, сортировка и как это сделать? Добавлено через 4 часа 41 минуту Пожалуйста, ответьте быстрее, мне нужно сделать эту и остальные работы как можно скорее.
0
|
|
| 09.04.2019, 21:37 | |
|
Ответы с готовыми решениями:
88
Задача на работу с файлами Задача на работу с файлами
|
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
|
| 20.04.2019, 20:18 [ТС] | |
|
Я, видимо, не так понял. Я думал, что придётся отдельно прописывать сравнение каждой пары элементов. Я уже написал, что смогу накалякать код сравнения оценок, группы и активности, но как быть с фамилиями? Сравнивать код каждого символа? Это же очень долго.
0
|
|
|
|
||
| 20.04.2019, 20:33 | ||
|
если фамилии объявлены как std::string, то их тоже можно сравнивать.
0
|
||
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
|
| 20.04.2019, 20:51 [ТС] | |
|
Понял. В случае чего просто сравню первые буквы фамилии, так, скорее всего, тоже пойдёт.
Ещё сегодня я заметил, что функция удаления не работает правильно. В случае, если указано две и более фамилий для удаления, удаляется только одна. Насколько я понял, это из-за того, что в массиве фамилий для удаления после каждого удаления происходит уменьшение массива на 1, и из-за этого удалиться может не та фамилия, данные студента с которой убрали. Если я переделаю код так, чтобы он сравнивал последний элемент этого массива со всеми элементами вектора, при совпадении удалял этот элемент массива и сравнивал вектор уже с предыдущим, идя до начала, то так программа будет работать правильно всегда?
0
|
|
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
||||||
| 21.04.2019, 22:39 [ТС] | ||||||
0
|
||||||
|
|
|||||||||||
| 21.04.2019, 23:08 | |||||||||||
|
нет, перед тем как что-то копировать в вектор нужно убедиться, что он одинакового размера с твоим исходным.
простое обращение по индексу[i] не создаёт в векторе новых элементов, если их там не было до этого. Чтобы они там были есть два способа 1) растянуть изначально пустой вектор до нужного размера, тогда в нём появятся все i-е элементы, к которым можно будет обращаться в цикле
0
|
|||||||||||
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
|
| 22.04.2019, 16:37 [ТС] | |
|
Первый способ сделал st1 полностью пустым, везде нули и пустые строки, у второго способа изменений не было, просто завершается программа.
0
|
|
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
|||||||||||
| 25.04.2019, 15:17 [ТС] | |||||||||||
|
В общем, посмотрел предикаты сортировки, решил сделать. Вот предикат для сортировки участия:
0
|
|||||||||||
|
|
||
| 25.04.2019, 17:06 | ||
|
я на всякий случай напоминаю, что тип char хранит только одинарные символы, а не строки.
0
|
||
|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
||||||
| 25.04.2019, 18:12 [ТС] | ||||||
|
Вот это да, конкретная лажа, для редактирования у меня тип string, а тут я, видимо, скопировал оттуда, где просто y/n. В общем, теперь сортировка по участию работает.
По остальным полям попробую сделать аналогично. Добавлено через 13 минут Это было странно, но я могу сравнить элементы типа string с помощью обычного > или <, и это будет работать. Сейчас переделаю цикл сравнения с удалением, и тогда, видимо, всё будет готово. Добавлено через 4 минуты Переделывать ничего и не пришлось, просто сделал так, чтобы не элементы вектора сравнивались с элементами массива фамилий для удаления, а наоборот. Теперь удаление работает как надо. Добавлено через 27 минут Для тех, кому понадобится решить подобную задачу, я оставлю тут полный код программы. Кликните здесь для просмотра всего текста
Спасибо всем, кто помогал мне с этой темой, за это время я, наверно, даже удвоил знания в C++.
0
|
||||||
| 25.04.2019, 18:12 | |
|
Помогаю со студенческими работами здесь
89
Переделать работу с текстовыми файлами под работу с двоичными файлами Написать программу, демонстрирующую работу с классом Задача на работу с файлами задача на работу с файлами! Сложная задача на работу с файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|