Как поправить - переписать заново всю работу с памятью.
Например, вот тут первая строка бессмысленна:
stud = new student[N];
stud = timeStud;
Да и вообще - непонятно чего вы пытаетесь добиться всеми этими гоняними адресов и аллокациями.
Если вам нужен динамический размер - используйте vector.