![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Bestseller01 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.2.2014 Репутация: нет Всего: нет |
Помогите включить в этот список добавление новых студентов в уже существующий текстовый файл
Оценок должно быть 5 сам текстовый файл выглядит так: Ф.И.О Алгебра Физика Химия Геометрия Русс. язык Иванов И. И 3 4 4 4 5 Карпов И. С. 5 5 5 5 3 Петров С. К. 3 3 4 4 3 Борзенков А. А. 4 4 4 4 4 Константинов П. П. 5 5 5 5 5
|
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Доброго времени суток.
Во-первых, у вас язык c++. В нем принято использовать классы для объединения данных и методов обработки этих данных, а у вас используется структура. Во-вторых, хорошим тоном программирования считается разделять класс на интерфейс и реализацию методов этого интерфейса, причем желательно что бы это все было в разных файлах: .h и .cpp соответственно. Теперь по делу, если вам надо реализовать функцию, которая добавляет информацию о студентах в конец файла, то вам нужно выполнить следующие шаги: 1) Записать куда-нибудь информацию о студенте. Тут хорошо подойдет структура, в которой будет строковое поле и целочисленный массив из 5 элементов. Пользователь программы заполняет эту структуру и переходит к шагу №2. 2) Записать информацию, полученную на шаге 1 в файл. Для этого файл надо открыть для записи в конец. В случае с файловыми потоками, нужно добавить флаг std::ios::app при открытии файла. Дальше все просто, с помощью операторов вставки записываете в файл новую информацию. |
|||
|
||||
rudolfninja |
|
||||||||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
В общем, сначала объявляем структуру студент, в которое содержится имя студента и массив оценок:
Для более удобной (наглядной) индексации массива было создано перечисление, в котором названиям предметов соответствуют числовые константы:
Для вывода названия предмета на экран (понадобиться при выводе двоичников/троичников) был создан массив с названием предметов:
Ну а дальше начинаем создавать функции, которые нужны для работы программы по заданию: Функция, которая определяет, все ли оценки студента - 5. В случае если студент отличник - функция возвращает true, иначе - false. В функцию передается объект структуры student:
Функция, которая выводит студентов с заданной оценкой и пишет по какому предмету студент имеет заданную оценку. Функция возвращает false если студентов с заданной оценкой нет в списке, иначе - true и выводит на экран фамилии студентов и предмет, по которому заданная оценка. В функцию передается список студентов (по сути, обычный массив) и искомая оценка:
Функция, которая выводит список студентов на экран. Функция принимает на вход список студентов (массив из элементов структуры student):
Функция, которая добавляет список студентов в конец текстового файла. Функция возвращает значение типа bool, в случае если такого файла не существует - возвращаемое значение будет false и список студентов никуда не будет записан. Если файл существует, то список студентов будет добавлен в конец файла. Поэтому важно убедиться, что требуемый файл существует (его следует создать вручную перед использованием программы):
Функция, которая добавляет студента в список. В функцию надо передать ссылку на список, в который будет добавлен студент. Сначала будет предложено заполнить данные о студенте и потом он будет добавлен в список:
Функция вывода меню на экран. Возвращаемое значение - выбор пользователя:
Ну и функция main, в которой собрано все то, что описано выше, в требуемой последовательности:
Вам осталось только создать проект и вставить туда весь этот код. Не забудьте подключить нужные заголовочные файлы:
На всякий случай прикрепил к сообщению .cpp файл программы, в котором содержится полный исходный код рабочего приложения. Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
||||||||||||||||||||||
|
|||||||||||||||||||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |