Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение СЛАУ методом прогонки http://www.cyberforum.ru/cpp-beginners/thread1160159.html
Добрый день,нужно решить СЛАУ методом прогонки,вот СЛАУ и ее решение. коэфф перед х1считается как за а1. перед х2считается как за в1. перед х3считается как за с1. результат д1. СЛАУ: 4x1+3x2=4; x1+2x2-x3=2; x2+4x3+x4=7,5; x3+2x4-x5=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" #include "malloc.h" float GetCount(char** str, int rows, int columns) // подсчет средней длины последовательности символов в строке { int i,j,m; int cnt = 0; // количество последовательностей int...
C++ Local Function definitions are illegal Прошу помощи специалистов. Есть некоторая функция кейлогера, которую нужно запустить при открытии диалогового окна MFC. При компиляции проекта выдает следующую ошибку Compiling... 700Dlg.cpp E:\CPP\700\700Dlg.cpp(65) : error C2601: 'KeyEvent' : local function definitions are illegal E:\CPP\700\700Dlg.cpp(106) : error C2601: 'MsgLoop' : local function definitions are illegal... подробнее

Показать сообщение отдельно
NikiKoyot
 Аватар для NikiKoyot
2 / 2 / 0
Регистрация: 08.12.2013
Сообщений: 34
28.04.2014, 15:45     Найти ошибку - после работы функции addStudent, оценки старых студентов не присваиваются новому массиву
Помогите найти ошибку. После работы функции 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;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru