Всем привет. Задача удалить студента из списка по индексу на С++, прошу помочь

Данная структура имеет такой вид:

struct Students
{
    string name;
    string subname;
    string pname;
    int mathem;
    int phiz;
    int him;
}

//Функция удаления студента

Students* FuncDelete(Students *Obj, int count)
{

    int num;
    cout << "Enter num of student to delete: ";
    cin >> num;
    if (num > 0 && num <= count)
    {
        Students* tempObj2 = new Students[count - 1];
        for (int i = 0; i < count; i++)
        {
            if (num > 0 && num <= count)
            {

                tempObj2[i] = Obj[i];
            }
            count--;
            Obj = tempObj2;
            delete[] Obj;
        }
    }
    return Obj;

}
//Функция возвращает указатель на стуктуру
Cars* AddStruct(Cars* Obj, int const count)
{
    if (count == 0)//если в структуре нет ни одной записи
    {
        Obj = new Students[count + 1;//выделим память под 1 запись
    }
    else//иначе
    {
    Students* tempObj = new Students[count + 1];//создаем временную структуру на 1 поле больше
        for (int i = 0; i < count; i++)
        {
            tempObj[i] = Obj[i];//копируем все данные из старой структуру в новую
        }
        delete[] Obj;//очищаем память старой сруктуры
        Obj = tempObj;//переписываем адреса
    }
    return Obj;//возвращаем указатель на новую структуру
}

Ответы (0 шт):