Форум программистов, компьютерный форум, киберфорум
Наши страницы

Найти ошибку - после работы функции addStudent, оценки старых студентов не присваиваются новому массиву - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение СЛАУ методом прогонки http://www.cyberforum.ru/cpp-beginners/thread1160159.html
Добрый день,нужно решить СЛАУ методом прогонки,вот СЛАУ и ее решение. коэфф перед х1считается как за а1. перед х2считается как за в1. перед х3считается как за с1. ...
C++ Create a programm that creates an object of created class Time and tests the member functions of class Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data members of type int to represent hour, minute and second. http://www.cyberforum.ru/cpp-beginners/thread1160152.html
Написать Windows-приложение-графическую иллюстрацию графика уравнения C++
Написать Windows-приложение — графическую иллюстрацию графика уравнения, y = 3 x-1, и обратного к нему (т.е. значения координат х заменяются на у и наоборот). как это сделать?
C++ Найти наибольший элемент каждой пары из массива А и записать их в новый массив
Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных чисел
C++ Немогу разобраться с кодом http://www.cyberforum.ru/cpp-beginners/thread1160136.html
код писал не я, помогите пожалуйста разобраться.Я не могу понять за что отвечает та или иная переменная.Я знаю что это С а не С++,но в этой категории больше добрых людей ) #include "stdio.h"...
C++ Local Function definitions are illegal Прошу помощи специалистов. Есть некоторая функция кейлогера, которую нужно запустить при открытии диалогового окна MFC. При компиляции проекта выдает следующую ошибку Compiling... 700Dlg.cpp... подробнее

Показать сообщение отдельно
NikiKoyot
2 / 2 / 0
Регистрация: 08.12.2013
Сообщений: 34

Найти ошибку - после работы функции addStudent, оценки старых студентов не присваиваются новому массиву - C++

28.04.2014, 15:45. Просмотров 448. Ответов 12
Метки (Все метки)

Помогите найти ошибку. После работы функции addStudent, оценки старых студентов не присваиваются новому массиву.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
struct student{
    char *fullname;
    char *group;
    int *evaluation; //Оценки, где student[I].evaluation[j] - оценка
    int *arr_ev; //Массив с количеством оценок, где arr_ev[I] кол-во оценок [I] студента 
    float rating;
};
void addEvaluation(student *st, int count,int start, int finish){ //Добавление оценок
    system("cls");
    st->arr_ev = new int[count];
    for (int i = start; i < finish; i++){
        cout << "Студент №" << i + 1 << endl;
        cout << "Введите кол-во добавляемых оценок: ";
        cin >> st->arr_ev[i];
        cin.ignore(1);
        st[i].evaluation = new int[st->arr_ev[i]];
        for (int j = 0; j < st->arr_ev[i]; j++)
            st[i].evaluation[j]=rand()%11+1;
        cout << endl;
    }
    studentRating(st, count, start, finish);
}
void addStudent(student *&st, int &count){ //Добавление студентов
    system("cls");
    cout << "Введите необходимое кол-во студентов: ";
    int n;
    cin >> n;
    cin.ignore(1);
    if (n <= 0){
        cout << "Невозможно добавить 0 или меньше элементов\nПовторите ввод\n";
    }
    else{
        /*1*/ //Добавление в конец 
        int newcount = count + n;
        student *temp = new student[newcount];
        temp->arr_ev = new int[newcount];
        for (int i = 0; i < count; i++){
            temp[i] = st[i]; 
            temp->arr_ev[i] = st->arr_ev[i]; //Возможно, здесь неправильно
            temp[i].evaluation = new int[temp->arr_ev[i]];
            for (int j = 0; j < st->arr_ev[i]; j++){
                temp[i].evaluation[j] = st[i].evaluation[j];
            }
        }
        fillingStudent(temp,count,count,newcount); //Заполнение char элементов структуры
        addEvaluation(temp,count,count,newcount);
        delete[]st;
        st = temp;
        count = newcount;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru