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

Метод не правильно выводит значения полей. Подскажите - C++

Восстановить пароль Регистрация
 
Eugen-S
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
11.11.2012, 18:41     Метод не правильно выводит значения полей. Подскажите #1
День добрый, Киберфорум!
Вобщем, суть в чем: есть класс студент, класс группа. В классе группа - поле - вектор студентов. Когда запускаю , ввожу данные студента, запихиваю в вектор и пытаюсь потом из вектора вывести инфу о студенте - не хочет правильно работать.

Вот основной код ( то что используется)

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class student
{
    string name;
    float mark;
public:
 
    void setStudent()
    {
        cout<<"Введите имя студента и его оценку."<<endl;
        cin>>name;
        cin>>mark;
    };
 
    void prtStudInfo()
    {
        cout<<"Имя студента: "<<this->name<<endl;
        cout<<"Средний балл студента: "<<this->mark<<endl;
    };
};
 
class group
{
    vector <student> students;
    int size;
    string name;
public:
 
    group(int s,string n)
    {
        size = s;
        name = n;
        for(int i=0; i<size; i++)
            {   
                student buf;
                buf.setStudent();
                students.push_back(buf) ;
            };
    };
 
    void prtGroupInfo()
    {
        int flag = 0;
 
        cout<<"Название группы: "<<name<<endl;
        cout<<"Размер группы: "<<size<<endl;
        cout<<"1: Вывести информацию о каждом студенте.   2: Продолжить  без вывода."<<endl;
        cin>>flag;
        if(flag == 1)
        {
                for(int i=0; i<size; i++)
                    students[i].prtStudInfo();
        };
        cout<<"\nГотово."<<endl;
    };
 
 
};
 
void main()
{
    setlocale(LC_CTYPE,"Russian");
 
    int size = 0;
    string name;
 
    cout<<"Добро пожаловать."<<endl;
    cout<<"Введите название группу и количество студентов: "<<endl;
    cin>>name;
    cin>>size;
 
    group my(size,name);
    my.prtGroupInfo();
 
};
Ставил проверку, после ввода данных, перед "запихиванием" в вектор, вывести инфу - выводит без проблем. Когда обращаюсь уже в векторе - не выводит вообще значения поля "имя" , а "оценку" как-то странно, другое число вообще... Пробовал обращаться к элементам вектора через .at(); всё равно, то же самое. Подскажите пожалуйста в чем проблемка

Добавлено через 1 час 28 минут
Оказывается у друга на 11й студии всё отлично работает . 10я и 12я студии не хотят правильно работать. В чем проблема?

Добавлено через 19 минут
спасибо тем кто читал. Проблема была в конструкторе копии. торопился - забыл кое-что поставиь там. )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 18:41     Метод не правильно выводит значения полей. Подскажите
Посмотрите здесь:

C++ Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы
C++ Не правильно выводит значение (if, else)
C++ Не правильно выводит на экран
C++ Не правильно выводит ответ на экран
C++ Выводит не правильно, почему?
C++ не правильно выводит результат
C++ Не правильно выводит массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru