2 / 2 / 1
Регистрация: 31.12.2016
Сообщений: 73

Добавление и удаление студента

26.04.2017, 15:58. Показов 6435. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Есть некая задача, не могу написать 1 из функций, а именно: добавление и удаление 1 объекта, т.е. студента... Вот что нашкрябал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void FuncAdd(Student *st, Student *st2, Group *gr)//функция в которую передаю существующих студентов, которых буду добавлять и группу
{
    if (gr->instock == gr->capasity)//Если количество существующих = максимальному разрешимому количеству, то заходим в тело...
    {
        gr->st2 = new Student[2 * gr->capasity];// выделяем новую дин память под новый список, большего размера в 2 раза
        //Ввожу данные о новом студенте и сохраняю их в переменную st2
        
        cout << "Введите данные о студенте:" << endl;
        cout << "Введите имя:" << endl;
        cin >> st2->name;
        cout << "Введите фамилию:" << endl;
        cin >> st2->surname;
        cout << "Введите возраст:" << endl;
        cin >> st2->age;
        cout << "Введите адрес:" << endl;
        cin >> st2->address;
        cout << "Введите номерок:" << endl;
        cin >> st2->phone;
 
// И дальше не могу понять: Есть старые и есть новые, как их объединить в 1 переменную st
 
                memcpy(gr->st2, gr->st, sizeof(Student) * gr->capasity);//копировать что-то куда-то или как....
        gr->st = gr->st2;
Подскажите пожалуйста хотя бы алгоритм решения...
Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2017, 15:58
Ответы с готовыми решениями:

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств )
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

Удаление элементов списка со средним баллом студента, меньше заданного числа
Реализовать односвязный список для хранения данных вида: ФИО, группа, средний балл. Обеспечить выполнение операций: добавление...

Добавление данных студента
у меня с формировалась проблема с записью бд, то есть данные которые я ввожу не идут в БД (phpmyadmin). И написал вродь правильно ...

22
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
11.05.2017, 11:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от jekakeba Посмотреть сообщение
// Потом надо удалить эту новую память, на 4 элемента, она нам больше не нужна
Новая как раз нужна, старая не нужна. Перед присвоением (gr->st = st2;) освободи старую (данные из неё скопированы в новую).
0
2 / 2 / 1
Регистрация: 31.12.2016
Сообщений: 73
11.05.2017, 13:38  [ТС]
nd2, спасибо вам за помощь, по логике вы все правильно подсказываете, но либо я не допонимаю, что я делаю, хотя вроде бы и понимаю, либо начехлил где-то в другом месте... Происходит утечка памяти, рушится на этапе выполнения

C++
1
2
3
    delete[] gr->st;// освобождаю старую
        gr->st = st2;//инициализирую старую новой
        --gr->instock;// просчитываю реальное число студентов
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
11.05.2017, 17:49
Цитата Сообщение от jekakeba Посмотреть сообщение
либо начехлил где-то в другом месте...
Проект выложи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2017, 17:49

Добавление студента к мероприятию
Исходные данные прикрепил Не могу сделать форму для добавления студентов на мероприятие Необходимо, чтобы сначала выбираешь в списке...

удаление студента двоешника
Тригер должен удалять студента двоешника из таблицы студенты(есть две таблицы:таблица студенты, таблица кафедры; оценка есть только в...

Добавление картинок к программе тестирования знаний студента
Добрый вечер. Имеется программа тестирования для проверки знаний студента. (вопрос и 4 варианта ответа) Нужен человек, который поможет...

Добавление нового указателя в конец массива указателей, удаление указанного элемента, добавление указателей
Здравствуйте. Помогите, пожалуйста, разобраться с одним большим заданием. Задание пока в процессе написания, но уже наверное есть ошибки....

Есть масса каждого студента группы. Вычислить среднюю массу студента в группе
Блок-схема и программа Есть масса каждого студента группы. Вычислить среднюю массу студента в группе! Нужно написать программу,...


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

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

Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru