Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2013, 16:00   #1
Dark~VIN
Пользователь
 
Аватар для Dark~VIN
 
Регистрация: 30.04.2012
Сообщений: 21
Восклицание Чтение массива из массива классов

Добрый день.
Есть массив классов. Во всех классах есть int массив из 25 чисел.
В цикле, массив заполняеться. А вот прочесть не могу.
Остальные переменные записываютсья и считываються отлично!
Код:
#include<iostream>
#include<conio.h>
 
using namespace std;

class pupil
{
private:
    char name;
    char sname;
    int num_class;
    char letter_class;
    int eval[25];
 
public:
    void setname(char n) { name=n; }
 
    void setsname(char sn) { sname=sn; }
 
    void setnum_class(int nm_clss) { num_class=nm_clss; }
 
    void setletter_class(char lttr_clss) { letter_class=lttr_clss; }
 
    void seteval(int evl[25]) { for(int i=0; i<25; i++) eval[i]=evl[i]; }
 
    char getname() { return name; }
 
    char getsname() { return sname; }
 
    int getnum_class() { return num_class; }
 
    char getletter_class() { return letter_class; }
 
    int geteval() { return eval[25]; }

    ~pupil() { }
};
 
void main()
{
 
    pupil pup[5];

// Заполнение случайными данными
    for(int i=0; i<5; i++)
    {
        pup[i].setname(char(65+rand()%25)); // Заполнение имени случайной буквой от A до Z
        pup[i].setsname(char(65+rand()%25)); // Заполнение фамилии случайной буквой от A до Z
        pup[i].setnum_class(1+rand()%10); // Заполнение номера класса от 1 до 10
        pup[i].setletter_class(char(65+rand()%4)); // Заполнение буквы класса случайной буквой от A до D

        // Заполнение временного массива[25] от 1 до 5 (оценки студента)
        int arr[25];
        for(int ii=0; ii<25; ii++)
            arr[ii]=(1+rand()%5);

        // Присваивание временного массива с оценками в класс pup[i]
        pup[i].seteval(arr);
    }
 //

// Чтение данных
    for(int i=0; i<5; i++)
    {
        // Вывод на экран всех данных кроме массива
        cout<<"name: "<<pup[i].getname()
            <<" sname: "<<pup[i].getsname()
            <<" class: "<<pup[i].getnum_class()
            <<pup[i].getletter_class()
            <<endl<<"bals: ";
 
        // Попытка считать с класса массив во временный массив и вывести на экран
        int arr[25];
        arr[25]=pup[i].geteval();
 
        for(int ii=0; ii<25; ii++)
            cout<<arr[ii]<<" ";
        cout<<"\n\n";
        // 
 
    }
    getch();
}

Так не работает:
Код:
        int arr[25];
        arr[25]=pup[i].geteval();
 
        for(int ii=0; ii<25; ii++)
            cout<<arr[ii]<<" ";
        cout<<"\n\n";
MS Visual Studio 2010 Ultimate, Visual C++, .NET Framework 2.0
Завтра будет.
Лучше.
Dark~VIN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
инициализация массива, вывод массива и обработка массива должны быть реализованы с помоshью функций airesjke Помощь студентам 0 02.03.2012 16:14
чтение массива в цикле Игорь Кулакевич Помощь студентам 3 01.11.2011 15:36
Создание массива классов. Кипящий чайник Общие вопросы C/C++ 18 29.08.2010 19:55
Проблема с созданием двумерного массива из объектов производных классов Vang Общие вопросы C/C++ 15 28.05.2010 17:04
Чтение из массива Hottabych Общие вопросы Delphi 5 25.05.2009 20:18