-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397

Большая задача на работу с классом и файлами

09.04.2019, 21:37. Показов 4213. Ответов 88
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По заданию нужно:
1)Занести из файлов индекс группы студента, его фамилию, четыре оценки за экзамены и участие (0/1).
2)Начислить студентам определённой группы стипендию: все "5" и участие +50% к стипендии, без участия +25%, с четвёрками обычная стипендия, с тройками её нет.
3)Предусмотреть возможность добавления информации, удаления отдельных записей, сортировки по заданному полю.


Я и с классами, и с файлами работал очень мало, поэтому у меня возникли вопросы: как из одного файла, содержащего одновременно фамилию и, допустим, оценки, считать одно отдельно от другого? Что за возможность добавления/удаления информации, сортировка и как это сделать?

Добавлено через 4 часа 41 минуту
Пожалуйста, ответьте быстрее, мне нужно сделать эту и остальные работы как можно скорее.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2019, 21:37
Ответы с готовыми решениями:

Задача на работу с файлами
Помогите решить проблему! ________________________________________ В файле находится текст программы на языке С. Создать выходной...

Задача на работу с файлами
Записать в С все положительные числа из А и В, указывая после каждого десятого элемента количество десятков. Последнее количество десятков...

Задача на работу с текстовыми файлами
В качестве входных данных поступает некоторое сообщение. Все сообщения имеют общее правило: Пользователь Команда Задача следующая. ...

88
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
17.04.2019, 21:37  [ТС]
Студворк — интернет-сервис помощи студентам
Полностью всю 132-ую?
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
17.04.2019, 21:38
да.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
17.04.2019, 21:40  [ТС]
Ошибка, 'fn' does not name a type.
0
 Аватар для zayats80888
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
17.04.2019, 21:42
ChioraYaz, попробуй так
C++
1
2
3
4
5
6
7
8
9
std::cin >> sortir;
 
    if (sortir == 'y')
    {
        struct cmpr {
            bool operator()(const Student& l, const Student& r){ return l.fam > r.fam; }
        };
        std::sort(st.begin(), st.end(), cmpr());
    }
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
17.04.2019, 21:50  [ТС]
Те же ошибки, что я и прикладывал ранее.
0
 Аватар для zayats80888
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
17.04.2019, 21:58
ChioraYaz, попробуйте скомпилировать следующий код отдельно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <vector>
 
struct Student { int fam; };
 
int main()
{
    char sortir;
    std::vector<Student> st;
    std::cin >> sortir;
 
    if (sortir == 'y')
    {
        struct cmpr {
            bool operator()(const Student& l, const Student& r){ return l.fam > r.fam; }
        };
        std::sort(st.begin(), st.end(), cmpr());
    }
}
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
17.04.2019, 22:03  [ТС]
Всё те же три ошибки.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
20.04.2019, 17:42  [ТС]
А этот код у вас работал? Если да, то это странно. Наверно, придётся создать отдельную тему и спросить, как сортировать такой вектор.
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 17:48
ChioraYaz, за это время можно было давно забить на вектора и отсортировать массив пузырьком
0
 Аватар для zayats80888
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
20.04.2019, 17:50
Цитата Сообщение от ChioraYaz Посмотреть сообщение
Если да, то это странно.
насколько я понимаю, ваш компилятор не поддерживает C++11. Можете еще попробовать перенести определение структуры cmpr из тела main().
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 17:54
Цитата Сообщение от zayats80888 Посмотреть сообщение
насколько я понимаю, ваш компилятор не поддерживает C++11. Можете еще попробовать перенести определение структуры cmpr из тела main().
оператор () был ещё до С++11
0
 Аватар для zayats80888
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
20.04.2019, 17:55
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
оператор () был ещё до С++11
Это я знаю, но вот по поводу возможности определять структуры внутри функций я не знаю, подскажите.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
20.04.2019, 19:45  [ТС]
Я пользуюсь CodeBlocks 17.12. Это очень старая версия?

Добавлено через 36 секунд
Компилятор GNU GCC.
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 19:48
ChioraYaz, ну раз не пашет, то да, очень старая.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
20.04.2019, 19:52  [ТС]
Нет, это последняя версия, хотя и выпущена в 2017. Компилятор обновляли в мае 2018. Если бы он не поддерживал что-либо, думаю, его бы не так активно скачивали, а преподаватели не рекомендовали бы именно его.
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 19:54
ChioraYaz, 2 часа назад ещё ответил - за то время, пока мы тут проблему решаем, тебе можно было бы давно сортировку пузырьком написать этого злополучного вектора.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
20.04.2019, 19:59  [ТС]
Если я правильно понял, эта сортировка годится только тогда, когда кол-во элементов известно, но мне по заданию нужно предусмотреть удаление и добавление, так что такое не подойдёт.
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 20:04
ChioraYaz, facepalm. Ну я же и говорю, вектора, а не массива! В вектор модно добавлять- убавлять...

для тебя вообще как для будущего программиста очень вредно копировать всё подряд из интернета, не разобравшись.
Если напишешь сортировку сам - будешь на шаг ближе к профессии, иначе это просто нбор букв, который тебе тут копипастят на форумах.
0
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 397
20.04.2019, 20:11  [ТС]
Не понял. В массив же тоже можно добавлять, если ему хватит отведённой памяти. И ничего я не копировал, написано: элементы последовательно сравниваются попарно. Разве это не означает, что мне нужно написать код сравнений столько раз, сколько элементов в векторе?
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
20.04.2019, 20:14
Цитата Сообщение от ChioraYaz Посмотреть сообщение
Разве это не означает, что мне нужно написать код сравнений столько раз, сколько элементов в векторе?
да, всё правильно. Ты писал, что " эта сортировка годится только тогда, когда кол-во элементов известно"
количество элементов в векторе всегда известно даже после удаления/добавления элементов. Для вектора v это значение v.size()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2019, 20:14

Переделать работу с текстовыми файлами под работу с двоичными файлами
Здравствуйте. В этой программе идёт работа с текстовыми файлами, а нужно с двоичными. Можно ли как-то переделать? #include...

Написать программу, демонстрирующую работу с классом
Создать класс квадрат, члены класса - длина стороны. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – диагоналей, ...

Задача на работу с файлами
Добрый день! Помогите, пожалуйста, решить следующую задачу: &quot;Дан текстовый файл со статистикой посещения сайта за неделю. Каждая строка...

задача на работу с файлами!
Если кому-то будет не сложно...я просто ничего в файлах практически не понимаю( известные данные: название предприятий, плановый объем...

Сложная задача на работу с файлами
Считать с клавиатуры строку, выделить слова в нее входящие. Построчно записать в файл уникальные буквы, частоту встречаемости данной буквы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru