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

Описать структуру с именем STUDENT - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните план изучения C++ http://www.cyberforum.ru/cpp-beginners/thread560535.html
мне один человек посоветовал такой план изучение С++(для самоучек) 1. Основа C++, с понятием об ООП. 2. Win32 API и параллельно подучить C++. 3. Изучение C++ глубже. 4. C++ .NET или начну...
C++ Быстрый алгоритм перестановки элементов одномерного массива Ищу быстрый алгоритм перестановки элементов одномерного массива. В массиве int, надо менять местами элементы для получения "популяции" на вход генетики. Должен работать быстро, несколько десятков раз... http://www.cyberforum.ru/cpp-beginners/thread560534.html
C++ Структура: Исключив из заданного массива данных типа data несуществующие даты, остальные напечатать, считая наименьшую дату началом года
typedef struct {int d, m;} data; Исключив из заданного массива данных типа data несуществующие даты, остальные напечатать, считая наименьшую дату началом года. (в году 365 дней)
Решение куб. уравнения. C++
решение кубического уравнения. Программа работает слишком медленно. (Не знаю в каком месте медленно, как по мне - так нормально) Есть кубическое уравнение вида A*X3 + B*X2 + C*X + D = 0. все корни...
C++ Файл: В текстовом файле подсчитать количество непустых строк. http://www.cyberforum.ru/cpp-beginners/thread560506.html
В текстовом файле подсчитать количество непустых строк.
C++ Вычислить по формуле помогите, очень надо решить..... подробнее

Показать сообщение отдельно
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
27.04.2012, 23:36
Что я увидел...
Получается, что ты создаешь массив структур на 100 элементов
C++
1
Student dbase[l_Student];
Здесь по всей видимости идет считывание и заполнение "базы" значениями из файла, одновременно подсчитывается число записей.
C++
1
2
3
4
5
6
7
8
int cnt = 0;
    while(!infile.eof())
    {
        infile >> dbase[cnt].name
               >> dbase[cnt].num
               >> dbase[cnt].ysp;
        ++cnt;
    };
Вот здесь, наверное, надо подсчитывать средний бал
C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i < cnt; i++)
    {
        for (int k=0; k<l_ysp; k++)
        {
          dbase[k].summ=dbase[k].summ+dbase[k].ysp;
            
        }
      cout <<dbase[0].summ<<endl;        
    }
и что-то я не пойму.
Первое это то, что у нас cnt-струтур, т.е. массив dbase должен быть размером, способным хранить cnt-записей считанных из файла. Зачем же тогда
C++
1
Student dbase[l_Student];
А если у нас будет больше 100 записей, тогда вполне вероятно произойдет запись в ячейку памяти за пределы массива dbase. Второе
C++
1
dbase[k].summ=dbase[k].summ+dbase[k].ysp;
тут вообще какая-то ерунда. В первую очередь у нас cnt элементов dbase, а не k. k - это 5 и это размер массива
C++
1
summ
dbase[k].summ - обращаться нельзя. summ это адрес первого элемента массива. Дальше dbase[k].ysp имеет тип char и что-то к чему-то прибавлять не имеет смысла. Надо править
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.